Python v2019.1.0 Release Notes

Release Date: 2019-01-29 // about 5 years ago
  • Thanks

    Thanks to the following projects which we fully rely on to provide some of our features:

    Also thanks to the various projects we provide integrations with which help ๐Ÿ‘‰ make this extension useful:

    And finally thanks to the Python development team and community for creating a fantastic programming language and community to be a part of!

    โœจ Enhancements

    1. Add the capability to have custom regex's for cell/markdown matching (#4065)
    2. Perform all validation checks in the background (#3019)
    3. Watermark for Python Interactive input prompt (#4111) โœ… 1. Create diagnostics for failed/skipped tests that were run with pytest. (thanks Chris NeJame) (#120)
    4. Add the python.pipenvPath config setting. (#978) ๐Ÿ”ง 1. Add localRoot and remoteRoot defaults for Remote Debugging configuration in launch.json. (#1385)
    5. Activate pipenv environments in the shell using the command pipenv shell. (#2855) ๐Ÿ‘• 1. Use Pylint message names instead of codes (thanks to Roman Kornev) (#2906)
    6. Add ability to enter Python code directly into the Python Interactive window (#3101) 0๏ธโƒฃ 1. Allow interactive window inputs to either be collapsed by default or totally hidden (#3266)
    7. Notify the user when language server extraction fails (#3268)
    8. Indent on enter after line continuations. (#3284)
    9. Improvements to automatic selection of the Python interpreter. (#3369) ๐Ÿ‘ 1. Add support for column numbers for problems returned by mypy. (thanks Eric Traut) (#3597) ๐Ÿ‘ 1. Display actionable message when language server is not supported (#3634)
    10. Make sure we are looking for conda in all the right places (#3641) ๐Ÿ‘• 1. Improvements to message displayed when linter is not installed (#3659)
    11. Improvements to message displayed when Python path is invalid (in launch.json) (#3661)
    12. Add the Jupyter Server URI to the Interactive Window info cell (#3668)
    13. Handle errors happening during extension activation. (#3740)
    14. Validate Mac Interpreters in the background. (#3908)
    15. When cell inputs to Python Interactive are hidden, don't show cells without any output (#3981)

    ๐Ÿ›  Fixes

    1. Have the new export commands use our directory change code (#4140)
    2. Theme should not be exported without output when doing an export. (#4141) ๐Ÿšš 1. Deleting all cells should not remove the input prompt (#4152)
    3. Fix ctrl+c to work in code that has already been entered (#4168)
    4. Auto-select virtual environment in multi-root workspaces (#3501)
    5. Validate interpreter in multi-root workspaces (#3502)
    6. Allow clicking anywhere in an input cell to give focus to the input box for the Python Interactive window (#4076) ๐Ÿ 1. Cursor in Interactive Windows now appears on whitespace (#4081)
    7. Fix problem with double scrollbars when typing in the input window. Make code wrap instead. (#4084) ๐Ÿšš 1. Remove execution count from the prompt cell. (#4086)
    8. Make sure showing a plain Python Interactive window lists out the sys info (#4088)
    9. Fix Python interactive window up/down arrows in the input prompt to behave like a terminal. (#4092) โšก๏ธ 1. Handle stdout changes with updates to pytest 4.1.x series (without breaking 4.0.x series parsing). (#4099) ๐Ÿ‘• 1. Fix bug affecting multiple linters used in a workspace. (thanks Ilia Novoselov) (#2571) โœ… 1. Activate any selected Python Environment when running unit tests. (#3330)
    10. Ensure extension does not start multiple language servers. (#3346) ๐Ÿ‘ 1. Add support for running an entire file in the Python Interactive window (#3362)
    11. When in multi-root workspace, store selected python path in the settings.json file of the workspace folder. (#3419)
    12. Fix console wrapping in output so that console based status bars and spinners work. (#3529) ๐Ÿ‘ 1. Support other virtual environments besides conda (#3537) โœ… 1. Fixed tests related to the onEnter format provider. (#3674) ๐Ÿ‘ 1. Lowering threshold for Language Server support on a platform. (#3693) 0๏ธโƒฃ 1. Survive missing kernelspecs as a default will be created. (#3699)
    13. Activate the extension when loading ipynb files (#3734)
    14. Don't restart the Jupyter server on any settings change. Also don't throw interpreter changed events on unrelated settings changes. (#3749) ๐Ÿ‘ 1. Support whitespace (tabs and spaces) in output (#3757) โœ… 1. Ensure file names are not captured when sending telemetry for unit tests. (#3767) ๐Ÿ— 1. Address problem with Python Interactive icons not working in insider's build. VS Code is more restrictive on what files can load in a webview. (#3775)
    15. Fix output so that it wraps '<' entries in <xmp> to allow html like tags to be output. (#3824)
    16. Keep the Jupyter remote server URI input box open so you can copy and paste into it easier (#3856)
    17. Changes to how source maps are enabled and disabled in the extension. (#3905)
    18. Clean up command names for data science (#3925)
    19. Add more data when we get an unknown mime type (#3945) ๐Ÿ›  1. Match dots in ignorePatterns globs; fixes .venv not being ignored (thanks to Russell Davis) (#3947) ๐Ÿšš 1. Remove duplicates from interpreters listed in the interpreter selection list. (#3953)
    20. Add telemetry for local versus remote connect (#3985)
    21. Add new maxOutputSize setting for text output in the Python Interactive window. -1 means infinite, otherwise the number of pixels. (#4010)
    22. fix pythonPath typo (thanks David Lechner) (#4047)
    23. Fix a type in generated header comment when importing a notebook: DataSciece --> DataScience. (thanks sunt05) (#4048)
    24. Allow clicking anywhere in an input cell to give focus to the input box for the Python Interactive window (#4076)
    25. Fix problem with double scrollbars when typing in the input window. Make code wrap instead. (#4084) ๐Ÿšš 1. Remove execution count from the prompt cell. (#4086)
    26. Make sure showing a plain Python Interactive window lists out the sys info (#4088)

    Code Health

    ๐Ÿ— 1. Fix build issue with code.tsx (#4156)

    1. Expose an event to notify changes to settings instead of casting settings to concrete class. (#642) โœ… 1. Created system test to ensure terminal gets activated with anaconda environment (#1521) โœ… 1. Added system tests to ensure terminal gets activated with virtualenv environment (#1522) โœ… 1. Added system test to ensure terminal gets activated with pipenv (#1523) โœ… 1. Fix flaky tests related to auto selection of virtual environments. (#2339)
    2. Use enums for event names instead of constants. (#2904) โœ… 1. Add tests for clicking buttons in history pane (#3084) โœ… 1. Add tests for clear and delete buttons in the history pane (#3087) โœ… 1. Add tests for clicking buttons on individual cells (#3092)
    3. Handle a 404 when trying to download the language server (#3267) โš  1. Ensure new warnings are not ignored when bundling the extension with WebPack. (#3468) โšก๏ธ 1. Update our CI/nightly full build to a YAML definition build in Azure DevOps. (#3555) โœ… 1. Add mock of Jupyter API to allow functional tests to run more quickly and more consistently. (#3556)
    4. Use Jedi if Language Server fails to activate (#3633) โœ… 1. Fix the timeout for DataScience functional tests (#3682) โœ… 1. Fixed language server smoke tests. (#3684) โœ… 1. Add a functional test for interactive window remote connect scenario (#3714)
    5. Detect usage of xonsh shells (this does not add support for xonsh itself) (#3746) ๐Ÿšš 1. Remove src/server folder, as this is no longer required. (#3781) ๐Ÿ›  1. Bugfix to pvsc-dev-ext.py where arguments to git would not be passed on POSIX-based environments. Extended pvsc-dev-ext.py setup command with 2 optional flags-- --repo and --branch to override the default git repository URL and the branch used to clone and install the extension. (thanks Anthony Shaw) (#3837) ๐Ÿ‘ท 1. Improvements to execution times of CI on Travis. (#3899)
    6. Add telemetry to check if global interpreter is used in workspace. (#3901) 0๏ธโƒฃ 1. Make sure to search for the best Python when launching the non default interpreter. (#3916) โœ… 1. Add tests for expand / collapse and hiding of cell inputs mid run (#3982) ๐Ÿšš 1. Move splitParent from string.ts into tests folder. (#3988)
    7. Ensure debounce decorator cannot be applied to async functions. (#4055)