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:
- isort 4.3.4
- jedi 0.12.0 and parso 0.2.1
- Microsoft Python Language Server
- ptvsd
- exuberant ctags (user-installed)
- rope (user-installed)
Also thanks to the various projects we provide integrations with which help ๐ make this extension useful:
- ๐ Debugging support: Django, Flask, gevent, Jinja, Pyramid, PySpark, Scrapy, Watson
- Formatting: autopep8, black, yapf
- ๐ Interpreter support: conda, direnv, pipenv, pyenv, venv, virtualenv
- ๐ Linting: bandit, flake8, mypy, prospector, pylint, pydocstyle, pylama
- โ Testing: nose, pytest, unittest
And finally thanks to the Python development team and community for creating a fantastic programming language and community to be a part of!
โจ Enhancements
- Add the capability to have custom regex's for cell/markdown matching (#4065)
- Perform all validation checks in the background (#3019)
- Watermark for Python Interactive input prompt (#4111) โ 1. Create diagnostics for failed/skipped tests that were run with pytest. (thanks Chris NeJame) (#120)
- Add the python.pipenvPath config setting.
(#978)
๐ง 1. Add localRoot and remoteRoot defaults for Remote Debugging configuration in
launch.json
. (#1385) - Activate
pipenv
environments in the shell using the commandpipenv shell
. (#2855) ๐ 1. Use Pylint message names instead of codes (thanks to Roman Kornev) (#2906) - 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)
- Notify the user when language server extraction fails (#3268)
- Indent on enter after line continuations. (#3284)
- 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) - Make sure we are looking for conda in all the right places (#3641) ๐ 1. Improvements to message displayed when linter is not installed (#3659)
- Improvements to message displayed when Python path is invalid (in launch.json) (#3661)
- Add the Jupyter Server URI to the Interactive Window info cell (#3668)
- Handle errors happening during extension activation. (#3740)
- Validate Mac Interpreters in the background. (#3908)
- When cell inputs to Python Interactive are hidden, don't show cells without any output (#3981)
๐ Fixes
- Have the new export commands use our directory change code (#4140)
- Theme should not be exported without output when doing an export. (#4141) ๐ 1. Deleting all cells should not remove the input prompt (#4152)
- Fix ctrl+c to work in code that has already been entered (#4168)
- Auto-select virtual environment in multi-root workspaces (#3501)
- Validate interpreter in multi-root workspaces (#3502)
- 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)
- 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)
- Make sure showing a plain Python Interactive window lists out the sys info (#4088)
- 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)
- Ensure extension does not start multiple language servers. (#3346) ๐ 1. Add support for running an entire file in the Python Interactive window (#3362)
- When in multi-root workspace, store selected python path in the
settings.json
file of the workspace folder. (#3419) - 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) - Activate the extension when loading ipynb files (#3734)
- 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)
- Fix output so that it wraps '<' entries in <xmp> to allow html like tags to be output. (#3824)
- Keep the Jupyter remote server URI input box open so you can copy and paste into it easier (#3856)
- Changes to how source maps are enabled and disabled in the extension. (#3905)
- Clean up command names for data science (#3925)
- 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)
- Add telemetry for local versus remote connect (#3985)
- Add new maxOutputSize setting for text output in the Python Interactive window. -1 means infinite, otherwise the number of pixels. (#4010)
- fix
pythonPath
typo (thanks David Lechner) (#4047) - Fix a type in generated header comment when importing a notebook:
DataSciece
-->DataScience
. (thanks sunt05) (#4048) - Allow clicking anywhere in an input cell to give focus to the input box for the Python Interactive window (#4076)
- 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)
- Make sure showing a plain Python Interactive window lists out the sys info (#4088)
Code Health
๐ 1. Fix build issue with code.tsx (#4156)
- 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)
- 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)
- 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)
- 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)
- Detect usage of
xonsh
shells (this does not add support forxonsh
itself) (#3746) ๐ 1. Removesrc/server
folder, as this is no longer required. (#3781) ๐ 1. Bugfix topvsc-dev-ext.py
where arguments to git would not be passed on POSIX-based environments. Extendedpvsc-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) - 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
fromstring.ts
into tests folder. (#3988) - Ensure
debounce
decorator cannot be applied to async functions. (#4055)