96 KiB
Changelog
2022.3.100 (25 March 2022)
Enhancements
Fixes
- Add support for named index in dataframe viewer for DataFrames and Series. (#5348)
- Fix interactive window such that if a new kernel is picked when opening or the kernel is canceled, the interactive window will run with the new kernel or show the canceled state (instead of just showing no status at all). (#8817)
- Fix 'ipykernel_launcher' not found when using a global python environment and '.env' file exists. (#9127)
- Support conda installations that require using conda.bat instead of conda.exe on windows. (#9133)
- Register kernelspecs in a private directory without cluttering user kernelspecs. (#9141)
- Hide Notebook Editor icons contributed by the Jupyter extension when selecting a Kernel contributed by another extension. (#9155)
- Only append SVG to the figure format if required. If not required, don't mess with the default. (#9191)
- Deprecated the "Jupyter: Create new Jupyter notebook" Command since it has moved to the built-in ipynb extension in VS Code. (#9250)
- Fix auto scrolling in the interactive window. (#9259)
- Fix problem with double install ipykernel message when cancelling. (#9267)
- Ensure the handle to the kernel connection file is disposed. (#9298)
- Fix notebook intellisense to work again after recent regression. (#9385)
- Fix all cells to not show a timer when queueing up multiple. (#9405)
- Fixes intellisense provided by the kernel missing. (#9424)
- Fixes IPyWidgets not working after refactor of source tree. (#9475)
- Register platform commands. (#9476)
Code Health
- Eliminate unused parameter for concatMultilineString. (#5144)
- Move installation of python packages into the Jupyter extension (stop using an API from the python extension). (#8457)
- Re-use the same codeWatchers per document when providing code lenses. (#8919)
- Refactor kernel related code into a 'kernels' subfolder. (#8970)
- Refactor 'notebook' related code into a 'notebooks' folder. (#8971)
- Move interactive window related code to its own root folder. (#8972)
- Refactor client code into a 'platform' directory and organize serviceRegistry files in a hierarchical structure. (#8981)
- Update to Typescript 4.6. (#9173)
- Match the node version used by VS code to build. (#9325)
- Remove
src\ipywidgetsfrom repository and move to a separate npm module. (#9337)
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:
2022.2.103 (7 March 2022)
Fixes
- Load environment variables defined in kernelspecs. (#9171)
- Do not inherit
PYTHONNOUSERSITEfrom the process running Jupyter. (#9233) - Update display names of Python Environments in kernel picker if the Python version has changed. (#9104)
- Support for detection of missing dependencies in scenarios where users re-create the Python Environments (virtual env or Conda env) or for some reason manually uninstall some of the dependencies. (#9135)
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:
2022.2.102 (4 March 2022)
Fixes
- Ensure we detect and set the
site_packagesdirectory only for environments that can be activated. This ensures we can correctly start Python Kernels in the Python Windows Store Apps. (#9219)
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:
2022.2.101 (3 March 2022)
Enhancements
- When a new Conda Environment is created, refresh the list of kernels to include this new Conda environment. (#8508)
- Modify command
jupyter.selectjupyterurito allow URI parameter. (Thanks C-SELLERS) (#8918)
Fixes
- Add
jupyter.logKernelOutputSeparatelyto expose the console logs of a kernel and or jupyter server (when we don't start a kernel directly ourselves). This option should make it easier to diagnose kernel only problems. (#4954) - Handle situations where nbconvert is installed but jupyter is not installed (our dependency installer will install both). (#6838)
- Re-run the cells when changing kernels due to missing
ipykernel. (#8381) - Support connecting to remote kernels that are busy. (#8414)
- When using "Show in Data Viewer" from the python debug variables menu prompt to install pandas if it's not there already. (#8423)
- Give preference to
cellIdin the cell metadata when sending cell metadata over for execution. (#8761) - Rename labels to match the new feature of allowing remote and local connections to exist simultaneously. (#8780)
- Refresh the remote kernel connection count in kernels for Interactive Window. (#8798)
- Do not execute startup code if there isn't any. (#8879)
- Fix completions for dataframe columns. (#8888)
- Provide a better message to indicate when we have no variables yet and are fetching them instead of saying no variables defined. (#8898)
- Make autocomplete return faster regardless of how long pylance takes to return. (#8906)
- Fix kernel dying when interrupting on Windows. (#8945)
- Fix our waiting for RequestKernelInfo (might have been hurting raw kernel start some). (#8989)
- Avoid waiting for completions during kernel startup (as completions request could fail without a response). (#9014)
- Adopt new
notebookKernelcontextkey (1.65) to prevent our interactive window toolbar from appearing on IWs belonging to other extensions. (Thanks gjsjohnmurray) (#9037) - Leverage new
notebookKernelcontextkey and IW placeholder text fix (1.65) to prevent our interactive windowShift+Enterkeybinding from affecting IWs belonging to other extensions. (Thanks gjsjohnmurray) (#9038) - Correctly handle tilde in python traceback file path links. (#9058)
- When running
shell commands, ensure the kernel first looks for executables in Python Environment associated with the Kernel. E.g. commands such as!pipand!pythonwill point to thepipandpythonexecutable associated with the kernel. (#9089) - Fix 'ipykernel_launcher' not found when using a global python environment and '.env' file exists. (#9127)
Code Health
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:
2022.1.120 (January Release on 11 February 2022)
Fixes
- Fix daemon startup to work for non direct kernel cases (#8995)
- Fix our waiting for RequestKernelInfo (might have been hurting raw kernel start some). (#8989)
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:
2022.1.110 (January Release on 09 February 2022)
Fixes
- Fix kernel dying when interrupting on Windows. (#8945)
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:
2022.1.100 (January Release on 03 February 2022)
Enhancements
- Reloading VS Code is no longer necessary when switching between local and remote Jupyter servers. (#1367)
- Expose Jupyter Kernel API to 3rd party extensions. This API is still in preview and only available in VS Code Insiders, further information can be found here https://github.com/microsoft/vscode-jupyter/wiki/Accessing-Jupyter-Kernels-from-3rd-party-extensions. (#5532)
- Recommend using
%matplotlib widgetwhen any other%matplotlibchoice is set. (#8365) - Be able to retrieve XSRF token with session cookie from notebook server on Kubeflow. (@shawnzhu) (#8441)
- Add support for pre-release version of Extensions for VS Code Insiders. (#8463)
- Allow to retrieve the jupyter filename programmatically (vsc_ipynb_file) fix support for ClearML
- Display both local and remote kernels together in the kernel picker. (#8489)
Fixes
- Install
IPyKernelwithout a terminal when dealing withVirtual Environmentson windows. (#1253) - Use the appropriate directory for a notebook if remoting to 'localhost' (#1551)
- Fix VS code leaving kernel processes running during shutdown. (#1626)
- Deprecate "Change Directory on Import Export Setting" (#4419)
- Fix plot viewer so that plots are full size when opening. (#7523)
- Support viewing dataframes (in the dataframe viewer) that contain columns used as an index. (#7603)
- Support automatic reconnection to a remote kernel when reopening a notebook. (#7610)
- Fix completions for paths for notebooks so that you can keep tabbing through all entries. This used to stop after the first level. (#7816)
- Prevent variables from getting stuck in the Loading... state after restart. (#7970)
- Allow queueing of multiple cells in the interactive window. (#8022)
- Correctly handle leading spaces in cells when debugging with the interactive window. (#8263)
- Support intellisense after connecting to a remote server (defaults to active python interpreter) (#8285)
- Make run file in interactive window respect cell boundaries. (#8312)
- Get
%matplotlib qt5working again. QT5's event loop is slightly different and can't handle concurrent requests so make sure to wait for a request before issuing another. (#8322) - Fix problems when 'print' has been overridden by user code. (#8356)
- Ensure interactive IPyWidgets work even after restarting Remote Kernels. (#8378)
- Continue attempting to create a kernel for the IW if it failed to start previously (#8383)
- Fix intellisense to work when no folder is opened. (#8409)
- Fix intellisense after deleting a line from a cell that contains the word 'await' or a magic. (#8419)
- Set suggested kernel for interactive window correctly. (#8424)
- Fix semantic colorization in the first cell of a notebook. (#8437)
- Context key not updated when interactive window is created from command palette. (#8455)
- Autocompletions from the jupyter kernel can sometimes not appear. (#8536)
- Fix problem with markdown cells in the interactive window not being split if they have code in them too. (#8543)
- Fix conda environments not working when ZMQ support is not enabled.
Ensure
sys.pathis setup such that packages installed in selected environments is given preference (imported) over global site-packages. I.e. this fix will ensure packages are first imported from the selected environment, and then from the global site-packages. (#8553) - Apply correct resource settings to notebookFileRoot in multi-root workspaces. (#8561)
- Fix problem where error stack traces would show random code that hadn't actually been run. (#8568)
- Fix caching of conda environment data so that subsequent runs of conda kernels are faster. (#8580)
- Allows execution in more than one interactive window at the same time. (#8615)
- Don't ask the user to enable CDN widget sources if they are already enabled and add more information to the warning message when we fail to download the widget. (#8626)
- Fix traceback parsing when using IPython 8.0 or greater. (#8675)
- Expand ~ in notebookFileRoot setting. (#8679)
- Fix launching kernel on Mac M1 (or zmq not supported) using default environment. (#8681)
- Fix the interactive debugging tests to shut down debugging correctly at the end. (#8684)
- Fix error tracebacks to not have background colors. Background colors from Jupyter don't match VS code themes, so they were just removed. (#8697)
- Fix prompting to switch to prerelease even when already on prerelease. (#8724)
- Fix problem with markdown cells causing off by one errors in notebooks. (#8769)
- Fix for intellisense breaking after typing a magic into a cell other than the first. (#8830)
Code Health
- Refactor any code using a string for a file path to support a URI instead. This should make remote file systems work better. (#1420)
- Make sure submissions include a news file. (#3200)
- Consolidate requirements.txt files into a smaller set. (#3992)
- Change error message prompting user to install IPykernel into an information message. (#8415)
- Display modal dialog when attempting to run Python notebooks without the Python extension installed. (#8416)
- Display error message when failing to connect to the remote Jupyter server. (#8474)
- Remove
jupyter.runMagicCommands(which has been deprecated for over a year) in favor ofrunStartupCommands. (#8485) - Activate
condaenvironments usingconda run. (#8544) - Improvements to progress message displayed when starting kernels. The messages now attempt to provide more information about the progress and hopefully make it easier to understand what is going on (or what is slow when starting a kernel). (#8583)
- Update README.md to remove insiders specific references. (#8548)
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:
VS Code Stable releases along with the minimum recommended version of the Jupyter Extension.
| Release | VS Code Stable | Recommended Jupyter Build |
|---|---|---|
| November | 1.63.0 | 2021.11.1001550889 |
| October | 1.62.0 | 2021.10.1001414422 |
| September | 1.61.2 | 2021.9.1101343141 |
| August | 1.60.2 | 2021.8.2041215044 |
| July | 1.59.1 | 2021.8.1236758218 |
| June | 1.58.2 | 2021.8.1054968649 |
2021.11.100 (November Release on 8 December 2021)
Enhancements
- Performance improvements related to startup of Kernels.
- Support pre-warming Kernels to improve startup experience of Notebooks. (#7903)
- Faster activation of Python environments such as Conda. (#8342)
- Avoid starting default kernel when starting jupyter. (#8185)
- Avoid looking for IPyKernel when we've found it once before. (#8196)
- Avoid unnecessarily searching for
Jupyterpackages whenJupyterruntime isnt' rqeuired to start Kernels. (#8350) (#8352)
- Add diagnostics messages recommending the usage of
%pip install&%conda installover!pip install. (#6864) - Prompt and install
pipifpipis not available when installing missing dependencies such asipykernel. (#7739) - Add support for interrupting non-python kernels. (#8107)
- Support iPyWidgets when connecting to an existing (already running) remote kernel. (#8179)
- Identify and recommend renaming user created python files that overwrite builtins and cause Kernels to crash (or not start at all). (#8195)
- Recommend updating
traitletsto5.1.1ifjupyterfails to start. (#8295) - Attempt to pip install Data Science packages such as
ipykerneloutside a terminal when dealing with Global Python Environments. (#8325) - Display kernel startup failure messages in cell outputs for improved visibility. (#8351)
- Improvements to error messages displayed when Kernel startup fails. (#8354)
- Warn when using outdated versions of Python (Python 2.7 & the like). (#7960)
Fixes
- Top level awaits in a notebook cell should not cause an error to be shown. (#1510)
- Cancel active kernel startup when switching to another kernel. (#5896)
- Fix highlighting of elements in a cell. (#5932)
- For interactive window commands (run all, run above, run below) add them to a queue instead of just trying to execute one by one. (#6982)
- Fix completions to skip file names when not inside of a string. (#7136)
- Fix regression to show "Show in Data Viewer" option from nested variables in the debug variables view. (#7295)
- Eliminate duplicate content in jupyter completions. (#7772)
- Make jupyter kernel autocomplete less aggressive and customizable. The new 'jupyter.completionTriggerCharacters' can be used to determine what causes a kernel to return completions. (#7880)
- Make 'Jupyter: Export interactive as Jupyter notebook' command work. (#7947)
- Let code in 'jupyter.runStartupCommands' work with intellisense. For example, if your startup commands were 'import pandas as pd', auto completion would now work automatically for 'pd.' without having to type the import first. (#7993)
- Allow for nbconvert export when a global jupyter interpreter has not been set before. (#8050)
- Eliminate extra long labels in jupyter completions. (#8080)
- Fixes related to handling of carriage returns in outputs. (#8112)
- Make the import ipynb commands use the currently selected pythonExportMethod setting. (#8158)
- Display notebook paths associated with remote kernels in the kernel picker. (#8175)
- Do not prompt to install Python extension when opening a
.NETnotebook. (#8204) - Turn off telemetry for tracking the number of notebooks in a workspace. (#8293)
- Recommend installing
traitletsversion5.1.1if Jupyter fails to start and the version oftraitletsis older. (#8295) - Fix interactive window intellisense to work after new concat changes for notebook intellisense. (#8353)
- Fix intellisense problems after editing notebook cells. (#8374)
- Ensure interactive widgets work when connecting to remote Jupyter (or when falling back to starting Jupyter locally). (#8378)
Code Health
- Make sure interrupt during run by line is tested. (#8002)
- Add setting to allow usage of experimental pylance intellisense in notebooks. (#8096)
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:
2021.10.100 (October Release on 3 November 2021)
Enhancements
- Group kernels in kernel picker based on the type of the Python environment & kernel. (#7934)
- Add ability to filter kernels displayed in the kernel picker. (#7373)
- Add ability to not generate a new cell when hitting SHIFT+ENTER in a python file. (Thanks janosh) (#7966)
Fixes
- New default export that just uses conversion in typescript as opposed to nbconvert. Allow the option to comment out magics or use the old nbconvert style of export via a setting. (#5222)
- Track the active kernel in a notebook when providing intellisense. (#6333)
- Hide Jupyter specific toolbar icons from notebooks. (#6543)
- Fix notebooks opening and being marked as dirty on every open. (#6637)
- Fix semantic colorization in notebooks. (#6799)
- Close input prompts displayed by kernel when interrupting/restarting kernels. (#6897)
- Delete all of the old kernelspecs generated by the extension (as some were incorrectly generated), with the ability to manually recover them if necessary. (#7171)
- Support using the variable viewer when a data viewer window is open. (#7325)
- Changes to how we check if kernels have started (as a result now suppor kernels such as Wolfram). (#7334)
- Allow intellisense completions from Jupyter to be shown in the interactive window. (#7406)
- Change filtering for text data in the data viewer to search for any instance of a string unless regular expression chars are detected. If any regular expression chars are detected, switch to using regular expressions to match. (#7628)
- Fix debugging from the interactive window. (#7650)
- Specifying a jupyter command line only makes sense if we need to use jupyter to launch kernels (no ZMQ support). (#7724)
- Don't make the outline button and command dependent on if the outline view is visible. (#7766)
- Incorrect paths displayed for non-python kernels in kernel picker. (#7931)
- Group kernels in by kernel picker by Python environment type (prefix non-python kernels with
Jupyter Kernel). (#7934) - Fix build break in ipywidget build. (thanks ChaseKnowlden) (#7935)
- Ensure
__file__is set when changing kernels in Interactive Window. (#7941) - Interactive window is not necessarily using active interpreter when creating the controller. (#7945)
- Improve performance of widgets over remote connections. (thanks sdissegna-maystreet) (#7965)
- Remove duplicates from kernel picker & ensure globally registered kernels point to the right interpreter. (#7994)
- Ensure kernel language is defined in the
ipynbmetadata. (#8003) - Change 'Stop' for debugging in the interactive window to interrupt the execution so it actually stops as soon as possible. (#8069)
- Avoid losing ipywidgets kernel communications when switching kernel. (thanks sdissegna-maystreet) (#8085)
Code Health
- Replace instances of
traceInfoIfwithtraceInfoIfCIas almost all of them were just for CI tracing. (#7574) - Upgrade to the latest jupyterlab/services API for communicating with kernels and jupyter servers. (#7675)
- Get rid of unnecessary 'Open with Notebook Editor' command as this is built into VS code itself. (#7725)
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:
2021.9.110 (September Release on 14 October 2021)
Fixes
- Ensure
Change Kerneloption in the prmopt allows users to change kernels. (#7779) - Ensure restarting kernels in
Interactive Windowretains support for__file__. (#7883)
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:
2021.9.100 (September Release on 6 October 2021)
Enhancements
- Split Notebook renderers into a separate extension (Jupyter Notebook Renderers), allowing users to view Notebook outputs such as plotly, vega on github.dev. (#1909)
- Added support to use Run by Line and Notebook Debugging in remote kernels. (#7576)
- Added ability to create notebooks using the menu option
File -> New File.... (#7363) - Added a command to the command palette and an icon to the notebook toolbar to open the the table of contents for Notebooks. (#7305)
Fixes
- Strip CR from CRLF of source when sending code to the kernel for execution. (#4576)
- Show global Python kernel specs that use ipykernel to launch. (#6389)
- Fixes related to remote connections in
Interactive Window. (#6881) - Fixes to restarting of kernels when kernel dies (as opposed to manually restarting a kernel). (#7167)
- Code cell submissions should go to active window in 'multiple' mode. (#7249)
- Interrupt kernel button on interactive window toolbar should be disabled when kernel is not busy. (#7269)
- Fix 'Connecting to...' message in interactive window not being updated in-place if a code cell is inserted before the connection completes. (#7280)
- Fix changing kernel in interactive windows started with an interpreter that does not have ipykernel installed. (#7288)
- Preserve leading tab characters on code lines for #%% cells submitted to interactive window. (#7303)
- Display error message from Python stack trace when kernel dies (also if kernel dies when attempting to restart). (#7318)
- Don't add an extra linefeed in interactive window markdown. (#7355)
- Fix Debug Cell codelens opening the wrong source file after restarting the kernel in the interactive window. (#7366)
- Refresh list of remote kernels if a notebook is already open. (#7385)
- Fix allowing the dataframe viewer to open large data frames. Also fix variable fetching code from updating the execution count. (#7420)
- Apply background to the image element in a notebook output, instead of applying it to the entire output container. (#7470)
- Support retina output option for Matplotlib. (#7471)
- Clicking 'Change Kernel' for interactive window started from script file when ipykernel is not installed should display the kernel picker. (#7476)
- Fix
jupyter.magicCommandsAsCommentswhen executing code cells in the interactive window. (#7481) jupyter.interactive.removeCellnow supports being invoked from the command palette or with a custom keybinding when an interactive window has focus. (#7541)- Fix the context keys for the variable explorer when working with the interactive window. (#7556)
- Ensure empty #%% cells are skipped and do not interfere with running of subsequent cells in the interactive window. (#7581)
- Fix interactive window debugging sourcemap resolution after running a markdown cell. (#7589)
- Support a highlight around a cell when goto cell is clicked in the interactive window. (#7648)
- Support multiline comments in the middle of a cell being submitted to the interactive window. (#7658)
Code Health
- Basic test for plotviewer metadata and SVG setting. (#7209)
- Fix failing variable view tests. (#7443)
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:
2021.8.203 (August Release on 1 September 2021)
Enhancements
- Updated the preview to debugging in native notebooks. Set the
jupyter.experimental.debuggingsetting to true, and aDebug Celloption will appear on the dropdown in theExecute Cellbutton. Pressing it will run the cell and hit any breakpoints you've set. (#1652) - Added the
Run by Linefeature. In Python notebooks, pressF10while selecting a cell or click the first button on the cell toolbar to start a lightweight debugging session and run the cell line by line. To set it up, follow the steps here. (#5607) - Add diskpath to logging for loading third party widgets to support local testing of new widget versions. (#6294)
- Default plot output to just PNG, and support showing PNGs or SVGs in the Plot Viewer control. The enablePlotViewer setting still turns on both PNG and SVG plot output, but it's now off by default, not on. (#6913)
- Update Simplified Chinese translation. (thanks FiftysixTimes7) (#7049)
Fixes
- Run by line now stops after running the last line. (#6858)
- Ensure execution of
rawcells are skipped when we have multiple cells. (#6954) - Fixes to autocompletions returned by Jupyter Kernel (sort as returned by the kernel and trigger when entering quotes). (#6979)
- Populate the interactive window variable explorer when focus is in the #%% Python file. (#6993)
- Reinitialize kernels after a restart, including resetting current working directory and rerunning startup commands. (#7016)
- Restore support for
jupyter.collapseCellInputCodeByDefaultin native interactive window. (#7031) - Fix restart kernel in native interactive window when executing a #%% cell. (#7081)
- Fix code indentation being lost on interactive window export. (#7088)
- Ensure variable explorer handles kernel restarts. (#7126)
- Add remappable
esckeybinding to clear contents of native interactive window input box, bound tointeractive.input.clearcommand in VS Code core. (#7157) - Fix ability to use command palette restart/interrupt from command palette when focus is in a Python file linked to an interactive window. (#7158)
- Fix A/B shortcuts to insert cell in command mode instead of edit mode. All Jupyter keyboard shortcuts are now provided through the Jupyter keymap extension, which is included with the Jupyter extension and can be uninstalled. (#7172)
- Fixes kernel spec generation (on Mac M1/Non ZMQ supported machines) to include the appropriate environment. (#7186)
- Support kernelspec argv containing non traditional args for
{connection_file}. (#7203) - Fix export for already-open native notebooks. (#7233)
- Fix being able to save PNG plots from the plot viewer. (#7265)
- When no notebook or interactive window is active then clear the variables view. (#7266)
- Fix placeholder 'Connecting to...' sys info cell not being overwritten after a kernel connection is established if cells are added to the interactive window first. (#7280)
- Ensure that interactive window is started with active Python interpreter after active interpreter is changed. (#7301)
- Restore support for Bash Kernel. (#7345)
Code Health
- Remove old Interactive Window, old Notebook Editor and LiveShare code (all of this functionality is now Natively supported by VS Code). (#6488)
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:
2021.8.11 (July Release on 3 August 2021)
Enhancements
- Updated the preview to run by line in native notebooks. Set the
jupyter.experimental.debuggingsetting to true, install ipykernel 6 on your selected kernel and aRun by Linebutton will appear on cell toolbars. Pressing it will start a lightweight debugging session and let you run the cell line by line. (#5607)
Fixes
- Restore plotviewer in Native Notebooks. (#6315)
- Fix debugging in
Interactive Windowwhen usingIPyKernel 6. (#6534) - Add a placeholder
Python 3kernel if user doesn't have any Python interpreters, with ability to notify user to install Python extenssion or Python runtime. (#5864) - Fixes to completion items received from Jupyter. (#5956)
- Run all and restarting does not actually interrupt the rest of the running cells. (#5996)
- Remove popup tip that indicates to users the kernel picker is in the bottom right. (#6016)
- Ensure Pyspark kernels are listed. (#6316)
- Fix problem where the active interpreter is not being used for the interactive window when not running with raw kernel. (#6409)
Ctrl+Enterin native notebooks should put cell into command mode immediately, then run the cell. (#6582)- List non-traditional (not using
ipykernel) global Python kernelspecs. (#6622) - Clone the Notebook metadata before udpating it. (#6624)
- Format the readme to render correctly on the VS Code extensions side bar. Thanks jyooru! (#6648)
- Ensure we get Jupyter Server info correctly in Python 3.6. (#6738)
- List kernels in situations where extension is installed after opening a notebook. (#6824)
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:
Code Health
2021.8.1 (June Release on 19 July 2021)
Fixes
- Fix for kernel not starting with correct path (causes DLL load and import modules failures). (#5833)
2021.8.0 (June Release on 8 July 2021)
Enhancements
- In preview native notebooks UI, contribute
Lkeybinding to toggle line numbers for the current cell, andshift+Lkeybinding to toggle line numbers for all cells. (#4438) - Add xarray arrays to Data Viewer. (#5590)
- When editing a markdown cell in preview native notebooks UI, contribute
ctrl+enterkeybinding to render current markdown cell, andshift+enterto render current markdown cell and skip to the next cell. (#5976) - Contribute extension-level
shift+enterkeybinding to execute current code cell and select below in preview native notebooks UI. (#6037) - Added ability to save plots in the preview native notebooks UI. (#6183)
- Added a preview to run by line and debugging in native notebooks. Set the
jupyter.experimental.debuggingsetting to true, install ipykernel 6 on your selected kernel and adebugbutton will appear. Pressing it will start a debugging session and let you set and hit breakpoints. (#5607) - Add
jupyter.enableNativeInteractiveWindowsetting to opt into the preview native interactive window experience, with support for VS Code customizations like keybindings, themes, snippets and more.(#1388)
Fixes
- Fix problems loading other language kernels in the Interactive Window and in non insiders webviews. (#893)
- Only ask user to switch to
"perFile"mode if"jupyter.interactiveWindowMode": "multiple"and they have submitted code from two different source files. (#5471) - On remote connections check for new or removed LiveKernelConnections on document open. (#5984)
- In preview native notebooks interface, show editor title buttons only when "notebook.globalToolbar" setting is set to
false. (#6019) - Ship require.js with our notebook preloads and renderers. (#6034)
- Save output in *.ipynb even when output is created without any Jupyter output metadata. (#6192)
- In preview native notebooks interface, contribute
ctrl+enterkeybinding which puts the current cell into control mode instead of leaving it in edit mode after running. (#6198) - Fix interrupt button in Native Notebook toolbar. (#6254)
- Fix problem where the active interpreter is not being used for the interactive window when not running with raw kernel. (#6409)
Code Health
- Add doc switching variable view tests for native notebooks. (#4355)
- Fix 'Restarting kernel will cancel cell execution & we can re-run a cell' test. (#6139)
- Restore GitHub token access for CodeQL, issue locking and issue assignment workflows. (#6170)
- Fix flake notebookAndWebview test. (#6234)
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:
2021.6.999 (May Release on 16 June 2021)
Fixes
- On remote connections check for new or removed LiveKernelConnections on document open. (#5984)
- When editing a markdown cell in preview native notebooks UI, contribute
ctrl+enterkeybinding to render current markdown cell, andshift+enterto render current markdown cell and skip to the next cell. (#5976) - In preview native notebooks UI, contribute
Lkeybinding to toggle line numbers for the current cell, andshift+Lkeybinding to toggle line numbers for all cells. (#4438) - Contribute extension-level
shift+enterkeybinding to execute current code cell and select below in preview native notebooks UI. (#6037) - In preview native notebooks interface, contribute
ctrl+enterkeybinding which puts the current cell into control mode instead of leaving it in edit mode after running. (#6198) - Fix interrupt button in Native Notebook toolbar. (#6254)
Code Health
- Fix 'Restarting kernel will cancel cell execution & we can re-run a cell' test. (#6139)
2021.6.99 (May Release on 8 June 2021)
Enhancements
- Data Viewer Filter Rows must use explicit wildcards to search for substrings in string filters. For example, filtering by "stable" will not show the value "unstable" anymore, but filtering by "*stable" will show "stable" and "unstable". (#1142)
- Sort variables by name and type in variable explorer. (#4585)
- Limit languages dispalyed in the Cell language picker to languages supported by the kernel. (#5580)
- Move native notebooks cell toolbar to the left by default. (#5605)
- Display modal dialog box (so users don't miss this) when IPyKernel (or Jupyter) is missing (required to run Python in Interactive Window or Notebooks). (#5798)
- Add support for Virtual Workspaces. (#5803)
- Losslessly compressed PNG images to save ~20KB. (thanks Christopher Yeh) (#5869)
- Adopt
notebook/toolbarcontribution point for native notebooks. (#5954) - Tweak variable view fit and finish to match VS Code. (#5955)
- Replace 'Run cells above' and 'Run cell and below' commands and cell toolbar buttons with VS Code's built-in 'Execute Above Cells' and 'Execute Cell And Below' commands and unified run button. (#6025)
Fixes
- Update/reinstall if module such as
IPyKernelwas installed once before or already exists. (#4758) - Stop listing default kernelspecs in kernel picker. (#5445)
- Store interpreter information in notebook metadata instead of the generated kernelspec name. (#5612)
- Restore the
Run Above/Belowcells command inCommand Palette. (#5746) - Migrate 'workbench.editorAssociations' setting to new format. (#5806)
- Add ABCMeta and type to variable explorer exclude list. (#5865)
- Blank Python notebooks do not use active interpreter. (#5874)
- Change language of cell to reflect langauges supported by the selected Kernel. (#5924)
- Resolve issue related to
Interruptbutton vanishing when tabbing across notebooks while a cell is being executed. (#5925) - Delete encrypted storage in a try catch to avoid errors. (#5934)
- Support new renderer API in Jupyter. (#5952)
- Hide kernels belonging to deleted Python environments from kernel picker. (#6164)
Code Health
- Error category for unsupported kernelspec file args. (#5492)
- Fix basic execution issues with nonConda 'remote' and nonConda 'local' test suites. (#5660)
- Update to new message API for native notebook preloads. (#5753)
- Rename of onDidChangeCellExecutionState. (#5809)
- Fix functional ipywidget tests. (#5842)
- When using remote Jupyter connections pre-fetch kernels only when opening a notebook. (#5846)
- Removed execution isolation script. (#5931)
- VSCode API naming changes for NotebookCellExecution, NotebookRendererScript. (#6014)
- API Changes viewType => notebookType and notebook namespace to notebooks. (#6046)
- Update test init code to use window and not notebook for editor properties. (#6098)
- Support the new renderer API in jupyter extension. (#6118)
- Update to new notebookcontroller selection function name. (#6121)
- Inline execution handler change to notebook API. (#6137)
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:
2021.6.0 (05 May 2021)
Enhancements
- Manage contributed Jupyter kernels registration. (#4490)
- Update variable explorer icon. (#5355)
- Add keybind 'O' to toggle the output of all selected cells in a notebook. (#5425)
- Recommend extensions when opening notebooks targeting specific languages. (#5577)
Fixes
- Restore the Intellisense documentation on custom editor notebook. (#5124)
- Upgrade vega-transforms and support vegalite v4. (#5149)
- Add a 10 minute delay to surveys. (#5261)
- Display formatted markdown description for
jupyter.variableQueriessetting in settings UI. (#5289) - Pass remote Jupyter server's default kernelspec name in remote kernel connection. (#5290)
- Ensure data viewer grid is resized when slice panel is toggled so that horizontal scrollbar remains visible. (#5309)
- When 3rd party CDN downloads need to be enabled for ipywidgets support, display More Info and Enable Downloads buttons instead of embedding them as links in the message. (#5352)
- Fix the output link in the kernel timeout message. (#5360)
- Stop asking users to install ipykernel on autostart, only do it when a cell is run. (#5368)
- Fix for 'Export as Python Script' option not appearing. (#5403)
- Update to remove usage of .cells property from NotebookDocument. Also update TextDocument with notebook property and QuickPick. (#5417)
- Delete extension context secrets if we get an error when getting them. Small fixes on error handling. (#5419)
- When native notebook is untrusted, do not allow cell execution and prompt to trust. (#5436)
- Resize the untrusted icon. (#5437)
- Save notebook metadata in ipynb even if the selected Kernel is provided by some other extension. (#5460)
- Invalidate cached interpreters when Python extension active interpreter changes. (#5470)
- Use interpreter information stored in kernelspec.json file when starting kernels. (#5495)
- Update to new selections API. (#5515)
- CellStatusBarItem update for Native Notebooks. Along with other breaking API changes. (#5527)
- Remove statusbar from Notebook Cells. (#5541)
- Hide Jupyter commands from other types of notebooks. (#5559)
- Update to newest vscode Notebook API changes. (#5598)
- Increase the width of the data viewer scrollbar. (#5610)
- Fix
NameError: name '_VSCODE_InfoImport' is not definedwhen attempting to open the data viewer from 2 or more different scopes in a single debug session. (#5627) - Use active interpreter when starting Kernels for Interactive Window. (#5628)
- Use
downloadpackage to download widget scripts. (#5633) - Start kernel if not already started when using
Run cells above/below. (#5636)
Code Health
- Add functional test for large data in data viewer. (#5207)
- Pass
NotebookDocumentwhen invokingjupyter.notebookeditor.interruptkernel. (#5242) - Remove data slicing experiment feature gate. (#5399)
- Ignore errors throw by VS Code when updating cell output during execution. (#5446)
- Improvements to telemetry used to check if we're not starting the right interpreter (for a Python kernel). (#5509)
- Add telemetry to check if we fail to update kernelspecs with environment variables. (#5547)
- Ensure
canvasandplaywright-chromiumare setup as optional dependencies inpackage.json. (#5567) - Fix tests after kernel push changes. (#5585)
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:
2021.5.1 (12 April 2021)
Code Health
- Check the responses of prompts for installation of missing packages such as
IPyKernel. (#5432)
Fixes
- Fix for 'Export as Python Script' option not appearing. (#5403)
- Delete extension context secrets if we get an error when getting them. Small fixes on error handling. (#5419)
- Enable correct plot background for Native Notebooks. (#5353)
- Stop asking users to install ipykernel on autostart, only do it when a cell is ran. (#5368)
- Invalidate cached interpreters when Python extension active interpreter changes. (#5470)
2021.5.0 (31 March 2021)
Enhancements
- Be able to provide string argument to jupyter.execSelectionInteractive for extensibility. (thanks Andrew Craig) (#1689)
Fixes
- Jupyter variables tab will always be named 'Jupyter Variables'. (#4458)
- Variable view will stay as long as you have a notebook open (not necessarily active). (#4562)
- Add quotations to arguments with blank spaces when executing kernel processes. (#4647)
- Do not prompt to install Python extension when creating a blank notebook. (#4965)
- Cache the active workspace Python Interpreter. (#5004)
- Don't prewarm variables for global jupyter interpreter if ZMQ is supported. (#5009)
- When closing the Interactive Window, shutdown sessions started by Interactive Window. (#5030)
- Stop wrapping new errors if we threw the original error. (#5089)
- Ignore errors when getting the environment variables for a Python environment. (#5093)
- Revert viewsContainter name to Jupyter and view name to Variables to avoid un-named viewsContainer. (#5102)
- Ensure extensions depending on Jupyter do not fail to load if Jupyter extension fails to load. (#5145)
- Don't display the data science banner for non-Jupyter notebooks. (#5181)
- Don't use NotebookEditor.onDidDispose and support new err / out specific stream mime types. (#5191)
- Prevent unnecessary activation of the Python extension. (#5193)
- Update widget kernel for new NotebookOutputEventParams. (#5195)
- Updates to code used to run Python in an isolated manner. (#5212)
- Changes to proposed API for using resolveKernel instead of resolveNotebook. Since this change goes along with widget tests also renable and fix those tests. (#5217)
- Fix data viewer display of non-numeric index columns in DataFrames. (#5253)
- Display messages notifying user to enable support for CDNs when rendering IPyWidgets. (#5074)
- When reopening a newly created Notebook with a Julia kernel, the cells should be detected as
Julia. (#5148) - Support switching kernels in Native Notebooks when connecting to Jupyter. (#1215)
- Refactor how Kernels are searched and selected. (#4995)
- Fix run selection/line to work from the active editor (#5287)
- Update variable view to use the new API for native cell execution notification. (#5316)
- Ensure users in CodeSpaces do not get prompted to forward Kernel Ports. (#5283)
- Disable surveys in CodeSpaces. (#5295)
- Ensure Git diff viewer does not get replaced by Notebook Editor. (#633) (thanks Matt Bierner)
Code Health
- Ability to queue telemetry until all of the data required is available. (#4956)
- Fix variables test. We had a new import of sys, which was causing the variable fetching to have to do one extra fetch, pushing it over the limit to require a second chunk fetch. (#5016)
- Add tests for data viewer slice data functionality. (#5066)
- Remove setting
jupyter.useNotebookEditor. (#5130) - Enable
debuglogging by default. (#5238)
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:
2021.3.0 (3 March 2021)
Enhancements
- Add ability to view a slice of the current variable in the data viewer using either axis/index dropdowns or a slice expression input field. (#305)
- Enable refreshing active data viewer contents using Jupyter: Refresh Data Viewer command in the command palette, Cmd+R or Ctrl+R, or the refresh button in the editor title menu. (#1143)
- Always open the data viewer in the last view group that it was moved to. (#4689)
- Support for other extensions to provide a default language when creating new notebooks. (#4859)
Fixes
- Remove special casing to ignore warnings. (#1312)
- Allow jupyter kernels to not be handled by the jupyter extension. (#4423)
- Restore the 'Select a Kernel' command on the interactive window. (#4479)
- Correctly syntax color items in native variable view. (#4499)
- Don't ask for a kernel restart if the kernel was interrupted in native notebooks. (#4669)
- Popup a tip when opening a notebook for the first time. (#4775)
- Ensure we save the contents when closing a (webview based) notebook. (#4779)
- Stop sending cells executed silently to other extensions. (#4867)
- Do not prompt to install missing dependencies on GitHub Codespaces. (#4882)
Code Health
- Synchronously check if
zmqis supported. (#4764) - Telemetry to track the commands executed using ICommandManager. (#4926)
- More telemetry to track kernel failure reasons. (#4940)
- Add telemetry flag to differentiate between stable vs insider builds of the extension. (#4959)
- Add telemetry to check if we have started the right local Python kernel. (#4999)
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:
2021.2.1 (28 February 2021)
Fixes
- Popup a tip when opening a notebook for the first time. (#4775)
- Ensure we save the contents when closing a (webview based) notebook. (#4779)
- Allow kernels to not be handled by the jupyter extension. (#4423
- Enable native notebook if sync'd settings is forcing it. (#4845
- Fix 'Export as Notebook' not working after opening a notebook on a python file. (#4869
2021.2.0 (17 February 2021)
Enhancements
- Support multidimensional data in the data viewer. >2D dimensions are flattened, with the ability to double-click on a truncated cell to view the full value in a horizontally scrollable field. (#298)
- Support NaN, Inf, -Inf in data viewer. (#299)
- Support viewing PyTorch tensors and TensorFlow EagerTensors in variable explorer and data viewer. (#304)
- Show more detailed error messages when the kernel dies or times out. (#1254)
- Do not invoke requestKernelInfo when the Kernel.info property already contains this information. (#3202)
- Support rendering of outputs such as Plotly, Altair, Vega, and the like in Native Notebooks. (#3936)
- Add full Simplified Chinese translation. (thanks FiftysixTimes7) (#4418)
- Add a button to the native notebook toolbar to show the variable panel. Disable button when panel is already visible. (#4486)
- Users on AML Compute will automatically get the new Native Notebook experience. (#4550)
- Improved Tensor tooltips in Python files which have been run in the interactive window. (#302)
- Minimize number of icons on the notebook toolbar (put the rest in overflow). (#4730)
- Add survey for the new Notebooks experience experiment. (#4726)
- Don't overwrite the top level VS Code Save and Undo command keybindings. (#4527)
Fixes
- Added a progress notification when restarting the kernel. (#1197)
- Fix error with selecting jupyter server URI when no workspace open. (#4037)
- Fix Z (and CTRL+Z when using custom editor support) to update data model so that save works. (#4058)
- Preload font awesome for ipywidgets. (#4095)
- When comparing to existing running kernel only consider the kernelspec when launched via kernelspec. (#4109)
- Fix notebook cells running out of order (for VS code insiders notebook editor). (#4136)
- Support installing ipykernel when necessary in native notebooks. (#4153)
__file__variable is now set after changing kernel in the interactive window. (#4164)- Fix support for IPyWidgets in Interactive Window. (#4203)
- Fix hover tips on notebooks (and the interactive window). (#4218)
- Fix problem with creating a blank notebook from the python extension start page. (#4242)
- Don't suppress whitespace at start of output for native notebooks. (#4254)
- Clear output of a cell if its executed while empty. (#4286)
- Wait for datascience code to activate when activating the extension. (#4295)
- Fix problem when run all cells an exception is thrown, cells can no longer be run. (#4309)
- Update trust icons. (#4338)
- Display trusted icon when a notebook is trusted. (#4339)
- Enable 'Run To Line', 'Run From Line' and 'Run Selection/Line in Interactive Window' on the editor context. The 'shift+enter' keybinding still follows the "jupyter.sendSelectionToInteractiveWindow" setting. (#4368)
- If a kernel refuses to interrupt ask the user if they want to restart instead. (#4369)
- Refresh variable explorer when docking is changed. (#4485)
- Correctly handle kernel restarts in native variable viewer. (#4492)
- All notebook commands should be prefixed with 'Notebook'. (#4494)
- Don't retain context on variable view. Update view with current execution count when made visible. (#4541)
- Remove unnecessary files from the VSIX that just take up space. (#4551)
- Support set_next_input message payload. (#4566)
- Fix the Variable Explorer height so the horizontal scroll bar is shown. (#4598)
- Allow viewing class instance variables in the data viewer. (#4606)
- Update message that recommends the python extension to a warning and mention it gives an enhanced experience. (#4615)
- Correctly hide old interpreters registered as kernels from the selector. (#4632)
- Allow installing python extension in codespaces. (#4664)
- Add notebook codicon for Juypter viewContainer. (#4538)
- Allow options to show native variable view only when looking at native notebooks. (#4761)
- Fix CTRL+ENTER and ALT+ENTER to behave as expected for a jupyter notebook. (#4713)
- If .NET interactive is installed, make sure to use the new notebook editor. (#4771)
- Only clean up a notebook editor when it's closed, not when the panel is disposed. (#4786)
- Fixes problem with duplicate jupyter kernels being generated. (#4720)
Code Health
- Deprecate src\client\datascience\kernel-launcher\helpers.ts. (#1195)
- Stop preloading requirejs in ipywidgets for native notebooks. (#4015)
- Add .vscode tests to test the new variable view. (#4355)
- Update CI to set xvfb correctly, and new test step that can do native notebooks + old webviews. (#4412)
- Run cells below test randomly failing on shutdown. (#4445)
- Fix julia test to pass. (#4453)
- Add UI side telemetry for variable view. (#4649)
- Prevent Winston logger from exiting the Extension Host when there are unhandled exceptions. (#4702)
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:
2020.12.1 (10 December 2020)
Fixes
- Fix support for IPyWidgets in Interactive Window. (#4203)
2020.12.0 (9 December 2020)
Enhancements
- Add support for IPyWidget in Native Notebooks. (#251)
Fixes
- Information in the interactive window is python specific. (#340)
- Allow user to cancel asking about logging level. (#348)
- Watch for any addition of the python extension, and don't suggest a full reload when it is added. (#405)
- Only offer to export to python script when the metadata specifies python as its language. (#407)
- Hide webview based Notebook command
Select Kernelwhen a Notebook is opened using the new VS Code Native Notebook editor. (#426) - Correctly pass the candidate interpreter when exporting. (#1363)
__file__variable not set after restarting kernel in the interactive window. (#1373)- Fix the search path for Jupyter kernels on UNIX systems (thanks Giulio Girardi) (#3918)
- Fix the directory for exporting from the interactive window and notebooks to match the directory where the original file was created. (#3991)
- Fix variable fetching on remote machines that don't have our scripts files on them. (#4006)
- Display survey prompt once per session. (#4077)
- Guard against AttributeErrors in our DataViewer code. (#4082)
- Ensure user cannot belong to Custom Editor experiment is already in Native Notebook experiment. (#4105)
- Fix problems with code in UI getting out of sync with code being executed or saved to disk. (#1701)
Code Health
- Added an onCreated event to the Interactive Window provider so external buttons can appear on creation. (#413)
- Use notebookIdentity instead of the notebook when handling external buttons. It handles the case when the user doesn't autostart the kernel. (#414)
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:
2020.11.3 (03 December 2020)
Fixes
- Display survey prompt once per session. (#4077)
2020.11.2 (30 November 2020)
Fixes
- When removing our dynamically added editor associations always remove them if Native / Custom Editor is disabled, not just if we remember adding them. (#3988)
- Ensure survey prompt is not displayed multiple times.. (#4002)
- Migrate references to python.dataScience.* in when clauses of keybindings.json. (#1088)
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:
2020.11.1 (19 November 2020)
Fixes
- Interactive window input prompt does not allow any keyboard input. (#446)
- Support opening Notebooks using Native Notebook editor even if the Python extension is not installed. (#1074)
- Show kernel picker in the interactive window. (#411)
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:
2020.11.0 (11 November 2020)
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: