Releases: microsoft/vscode-python
Releases · microsoft/vscode-python
2020.8.105369
Enhancements
- Add telemetry about the install source for the extension.
2020.8.105045
2020.8.2 (27 August 2020)
Enhancements
- Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing.
(#13535)
Fixes
2020.8.103604
2020.8.101144
2020.8.0 (12 August 2020)
Enhancements
- Cell id and cell metadata are now passed as the metadata field for execute_request messages.
(thanks stisa)
(#13252) - Add "Restart Language Server" command.
(#3073) - Support multiple and per file interactive windows. See the description for the new 'python.dataScience.interactiveWindowMode' setting.
(#3104) - Add cell editing shortcuts for python interactive cells. (thanks @earthastronaut).
(#12414) - Allow
python.dataScience.runStartupCommands
to be an array. (thanks @janosh).
(#12827) - Remember remote kernel ids when reopening notebooks.
(#12828) - The file explorer dialog now has an appropriate title when browsing for an interpreter. (thanks ziebam).
(#12959) - Warn users if they are connecting over http without a token.
(#12980) - Allow a custom display string for remote servers as part of the remote Jupyter server provider extensibility point.
(#12988) - Update to the latest version of
jedi
(0.17.2
). This adds support for Python 3.9 and fixes some bugs, but is expected to be the last release to support Python 2.7 and 3.5. (thanks Peter Law).
(#13037) - Expose
Pylance
setting inpython.languageServer
. If Pylance extension is not installed, prompt user to install it.
(#13122) - Added "pythonArgs" to debugpy launch.json schema.
(#13218) - Use jupyter inspect to get signature of dynamic functions in notebook editor when language server doesn't provide enough hint.
(#13259) - The gather icon will change and get disabled while gather is executing.
(#13177)
Fixes
- Gathered notebooks will now use the same kernelspec as the notebook it was created from.
(#10924) - Don't loop selection through all failed tests every time tests are run.
(#11743) - Some tools (like pytest) rely on the existence of
sys.path[0]
, so
deleting it in the isolation script can sometimes cause problems. The
solution is to pointsys.path[0]
to a bogus directory that we know
does not exist (assuming noone modifies the extension install dir).
(#11875) - Fix missing css for some ipywidget output.
(#12202) - Delete backing untitled ipynb notebook files as soon as the remote session has been created.
(#12510) - Make the data science variable explorer support high contrast color theme.
(#12766) - The change in PR #12795 led to one particular test suite to take longer
to run. Here we increase the timeout for that suite to get the test
passing.
(#12833) - Refactor data science filesystem usage to correctly handle files which are potentially remote.
(#12931) - Allow custom Jupyter server URI providers to have an expiration on their authorization headers.
(#12987) - If a webpanel fails to load, dispose our webviewhost so that it can try again.
(#13106) - Ensure terminal is not shown or activated if hideFromUser is set to true.
(#13117) - Do not automatically start kernel for untrusted notebooks.
(#13124) - Fix settings links to open correctly in the notebook editor.
(#13156) - "a" and "b" Jupyter shortcuts should not automatically enter edit mode.
(#13165) - Scope custom notebook keybindings to Jupyter Notebooks.
(#13172) - Rename "Count" column in variable explorer to "Size".
(#13205) - Handle
Save As
of preview Notebooks.
(#13235)
Code Health
- Move non-mock jupyter nightly tests to use raw kernel by default.
(#10772) - Add new services to data science IOC container and rename misspelled service.
(#12809) - Disable Notebook icons when Notebook is not trusted.
(#12893) - Removed control tower code for the start page.
(#12919) - Add better tests for trusted notebooks in the classic notebook editor.
(#12966) - Custom renderers for
png/jpeg
images inNotebooks
.
(#12977) - Fix broken nightly variable explorer tests.
(#13075) - Fix nightly flake test failures for startup and shutdown native editor test.
(#13171) - Fix failing interactive window and variable explorer tests.
(#13269)
Thanks
Thanks to the following projects which we fully rely on to provide some of
our features:
- debugpy
- isort
- jedi
and parso - Microsoft Python Language Server
- Pylance
- 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!
2020.7.96456
2020.7.94776
2020.7.0 (16 July 2020)
Enhancements
- Support connecting to Jupyter hub servers. Use either the base url of the server (i.e. 'https://111.11.11.11:8000') or your user folder (i.e. 'https://111.11.11.11:8000/user/theuser).
Works with password authentication.
(#9679) - Added "argsExpansion" to debugpy launch.json schema.
(#11678) - The extension will now automatically load if a
pyproject.toml
file is present in the workspace root directory.
(thanks Brandon White)
(#12056) - Add ability to check and update whether a notebook is trusted.
(#12146) - Support formatting of Notebook Cells when using the VS Code Insiders API for Notebooks.
(#12195) - Added exporting notebooks to HTML.
(#12375) - Change stock launch.json "attach" config to use "connect".
(#12446) - Update to the latest version of
jedi
(0.17.1
). This brings completions for Django (viadjango-stubs
) as well as support for Python 3.9 and various bugfixes (mostly around generic type annotations). (thanks Peter Law)
(#12486) - Prompt users that we have deleted pythonPath from their workspace settings when in
Deprecate PythonPath
experiment.
(#12533) - Changed public API for execution to return an object and provide a callback which is called when interpreter setting changes.
(#12596) - Allow users to opt out of us checking whether their notebooks can be trusted. This setting is turned off by default and must be manually enabled.
(#12611) - Include the JUPYTER_PATH environment variable when searching the disk for kernels.
(#12694) - Added exporting to python, HTML and PDF from the interactive window.
(#12732) - Show a prompt asking user to upgrade Code runner to new version to keep using it when in Deprecate PythonPath experiment.
(#12764) - Opening notebooks in the preview Notebook editor for Visual Studio Code Insiders.
(#10496)
Fixes
- Ensure we only have a single isort process running on a single file.
(#10579) - Provided a method for external partners to participate in jupyter server URI picking/authentication.
(#10993) - Check for hideFromUser before activating current terminal.
(#11122) - In Markdown cells, turn HTML links to markdown links so that nteract renders them.
(#11254) - Prevent incorrect ipywidget display (double plots) due to synchronization issues.
(#11281) - Removed the Kernel Selection toolbar from the Interactive Window when using a local Jupyter Server.
To show it again, set the setting 'Python > Data Science > Show Kernel Selection On Interactive Window'.
(#11347) - Get Jupyter connections to work with a Windows store installed Python/Jupyter combination.
(#11412) - Disable hover intellisense in the interactive window unless the code is expanded.
(#11459) - Make layout of markdown editors much faster to open.
(#11584) - Watermark in the interactive window can appear on top of entered text.
(#11691) - Jupyter can fail to run a kernel if the user's environment contains non string values.
(#11749) - On Mac meta+Z commands are performing both cell and editor undos.
(#11758) - Paste can sometimes double paste into a notebook or interactive window editor.
(#11796) - Fix jupyter connections going down when azure-storage or other extensions with node-fetch are installed.
(#11830) - Variables should not flash when running by line.
(#12046) - Discard changes on Notebooks when the user selects 'Don't Save' on the save changes dialog.
(#12180) - Disable
Extract variable & method
commands inNotebook Cells
.
(#12206) - Disable linting in Notebook Cells.
(#12208) - Register services before extension activates.
(#12227) - Infinite loop of asking to reload the extension when enabling custom editor.
(#12231) - Fix raw kernel autostart and remove jupyter execution from interactive base.
(#12330) - If we fail to start a raw kernel daemon then fall back to using process execution.
(#12355) - Fix the export button from the interactive window to export again.
(#12460) - Process Jupyter messages synchronously when possible.
(#12588) - Open variable explorer when opening variable explorer during debugging.
(#12773) - Use the given interpreter for launching the non-daemon python
(#12821) - Correct the color of the 'Collapse All' button in the Interactive Window
(#12838)
Code Health
- Move all logging to the Python output channel.
(#9837) - Add a functional test that opens both the interactive window and a notebook at the same time.
(#11445) - Added setting
python.logging.level
which carries the logging level value the extension will log at.
(#11699) - Monkeypatch
console.*
calls to the logger only in CI.
(#11896) - Replace python.dataScience.ptvsdDistPath with python.dataScience.debugpyDistPath.
(#11993) - Rename ptvsd to debugpy in Telemetry.
(#11996) - Update JSDoc annotations for many of the APIs (thanks Anthony Shaw)
(#12101) - Refactor
LinterId
to an enum instead of a string union.
(thanks to Anthony Shaw)
(#12116) - Remove webserver used to host contents in WebViews.
(#12140) - Inline interface due to issues with custom types when using
ts-node
.
(#12238) - Fix linux nightly tests so they run and report results. Also seems to get rid of stream destroyed messages for raw kernel.
(#12539) - Log ExP experiments the user belongs to in the output panel.
(#12656) - Add more telemetry for "Select Interpreter" command.
(#12722) - Add tests for trusted notebooks.
(#12554) - Update categories in
package.json
.
(#12844)
Thanks
Thanks to the following projects which we fully rely on to provide some of
our features:
- debugpy
- isort
- jedi
and parso - Microsoft Python Language Server
- exuberant ctags (user-installed)
- rope (user-installed)
Also thanks to the various projects we provide integrations with ...
2020.6.91350
2020.6.3 (30 June 2020)
Fixes
- Correctly check for ZMQ support, previously it could allow ZMQ to be supported when zmq could not be imported.
(#12585) - Auto indentation no longer working for notebooks and interactive window.
(#12389) - Add telemetry for tracking run by line.
(#12580) - Add more telemetry to distinguish how is the start page opened.
(#12603) - Stop looking for mspythonconfig.json file in subfolders.
(#12614)
2020.6.90262
2020.6.89148
2020.6.1 (17 June 2020)
Fixes
- Fixed issue when
python.jediEnabled
setting was not removed andpython.languageServer
setting was not updated.
(#12429)
2020.6.88468
2020.6.0 (16 June 2020)
Enhancements
- Removed
python.jediEnabled
setting in favor ofpython.languageServer
. Instead of"python.jediEnabled": true
please use"python.languageServer": "Jedi"
.
(#7010) - Added a start page for the extension. It opens to new users or when there is a new release. It can be disabled with the setting 'Python: Show Start Page'.
(#11057) - Preliminary support using other languages for the kernel.
(#11919) - Enable the use of the custom editor for native notebooks.
(#10744)
Fixes
- Ensure sorting imports in a modified file picks up the proper configuration.
thanks Peter Law)
(#4891) - Made variable explorer (from IPython Notebook interface) resizable.
(#5382) - Add junit family to pytest runner args to remove pytest warning.
(#10673) - Switch order of restart and cancel buttons in interactive window to be consistent with ordering in notebook toolbar.
(#11091) - Support opening other URI schemes besides 'file' and 'vsls'.
(#11393) - Fix issue with formatting when the first line is blank.
(#11416) - Force interactive window to always scroll long output. Don't allow scrollbars within scrollbars.
(#11421) - Hover on notebooks or interactive window seems to stutter.
(#11422) - Make shift+tab work again in the interactive window. Escaping focus from the prompt is now relegated to 'Shift+Esc'.
(#11495) - Keep import and export working with raw kernel mode. Also allow for installing dependencies if running an import before jupyter was ever launched.
(#11501) - Extra kernels that just say "Python 3 - python" are showing up in the raw kernel kernel picker.
(#11552) - Fix intermittent launch failure with raw kernels on windows.
(#11574) - Don't register a kernelspec when switching to an interpreter in raw kernel mode.
(#11575) - Keep the notebook input prompt up if you focus out of vscode.
(#11581) - Fix install message to reference run by line instead of debugging.
(#11661) - Run by line does not scroll to the line that is being run.
(#11662) - For direct kernel connection, don't replace a notebook's metadata default kernelspec with a new kernelspec on startup.
(#11672) - Fixes issue with importing
debupy
in interactive window.
(#11686) - Reopen all notebooks when rerunning the extension (including untitled ones).
(#11711) - Make sure to clear 'outputPrepend' when rerunning cells and to also only ever add it once to a cell.
(thanks Barry Nolte)
(#11726) - Disable pre-warming of Kernel Daemons when user does not belong to the
LocalZMQKernel - experiment
experiment.
(#11751) - When switching to an invalid kernel (one that is registered but cannot start) in raw mode respect the launch timeout that is passed in.
(#11752) - Make
python.dataScience.textOutputLimit
apply on subsequent rerun. We were letting the 'outputPrepend' metadata persist from run to run.
(thanks Barry Nolte)
(#11777) - Use
${command:python.interpreterPath}
to get selected interpreter path inlaunch.json
andtasks.json
.
(#11789) - Restarting a kernel messes up run by line.
(#11793) - Correctly show kernel status in raw kernel mode.
(#11797) - Hovering over variables in a python file can show two hover values if the interactive window is closed and reopened.
(#11800) - Make sure to use webView.cspSource for all csp sources.
(#11855) - Use command line arguments to launch our raw kernels as opposed to a connection file. The connection file seems to be causing issues in particular on windows CI machines with permissions.
(#11883) - Improve our status reporting when launching and connecting to a raw kernel.
(#11951) - Prewarm raw kernels based on raw kernel support and don't prewarm if jupyter autostart is disabled.
(#11956) - Don't flood the hard drive when typing in a large notebook file.
(#12058) - Disable run-by-line and continue buttons in run by line mode when running.
(#12169) - Disable
Sort Imports
command inNotebook Cells
.
(#12193) - Fix debugger continue event to actually change a cell.
(#12155) - Make Jedi the Default value for the python.languageServer setting.
(#12225) - Make stop during run by line interrupt the kernel.
(#12249) - Have raw kernel respect the jupyter server disable auto start setting.
(#12246)
Code Health
- Use ts-loader as a tyepscript loader in webpack.
(#9061) - Fixed typo from unitest -> unittest.
(thanks Rameez Khan).
(#10919) - Make functional tests more deterministic.
(#11058) - Reenable CDN unit tests.
(#11442) - Run by line for notebook cells minimal implementation.
(#11607) - Get shape and count when showing debugger variables.
(#11657) - Add more tests to verify data frames can be opened.
(#11658) - Support data tips overtop of python files that have had cells run.
(#11659) - Functional test for run by line functionality.
(#11660) - Fixed typo in a test from lanaguage -> language.
(thanks Ashwin Ramaswami).
(#11775) - Add bitness information to interpreter telemetry.
(#11904) - Fix failing linux debugger tests.
(#11935) - Faster unit tests on CI Pipeline.
(#12017) - Ensure we can use proposed VS Code API with
ts-node
.
(#12025) - Faster node unit tests on Azure pipeline.
(#12027) - Use deemon package for background compilation with support for restarting VS Code during development.
(#12059)