- Updated the preview to run by line in native notebooks. Set the
jupyter.experimental.debugging
setting to true, install ipykernel 6 on your selected kernel and aRun by Line
button will appear on cell toolbars. Pressing it will start a lightweight debugging session and let you run the cell line by line. (#5607)
- Restore plotviewer in Native Notebooks. (#6315)
- Fix debugging in
Interactive Window
when usingIPyKernel 6
. (#6534) - Add a placeholder
Python 3
kernel 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+Enter
in 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 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:
- Fix for kernel not starting with correct path (causes DLL load and import modules failures). (#5833)
- In preview native notebooks UI, contribute
L
keybinding to toggle line numbers for the current cell, andshift+L
keybinding 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+enter
keybinding to render current markdown cell, andshift+enter
to render current markdown cell and skip to the next cell. (#5976) - Contribute extension-level
shift+enter
keybinding 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.debugging
setting to true, install ipykernel 6 on your selected kernel and adebug
button will appear. Pressing it will start a debugging session and let you set and hit breakpoints. (#5607) - Add
jupyter.enableNativeInteractiveWindow
setting to opt into the preview native interactive window experience, with support for VS Code customizations like keybindings, themes, snippets and more.(#1388)
- 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+enter
keybinding 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)
- 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 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:
- 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+enter
keybinding to render current markdown cell, andshift+enter
to render current markdown cell and skip to the next cell. (#5976) - In preview native notebooks UI, contribute
L
keybinding to toggle line numbers for the current cell, andshift+L
keybinding to toggle line numbers for all cells. (#4438) - Contribute extension-level
shift+enter
keybinding to execute current code cell and select below in preview native notebooks UI. (#6037) - In preview native notebooks interface, contribute
ctrl+enter
keybinding 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 'Restarting kernel will cancel cell execution & we can re-run a cell' test. (#6139)
- 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/toolbar
contribution 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)
- Update/reinstall if module such as
IPyKernel
was 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/Below
cells 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
Interrupt
button 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)
- 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 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:
- 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)
- 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.variableQueries
setting 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 defined
when 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
download
package to download widget scripts. (#5633) - Start kernel if not already started when using
Run cells above/below
. (#5636)
- Add functional test for large data in data viewer. (#5207)
- Pass
NotebookDocument
when 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
canvas
andplaywright-chromium
are setup as optional dependencies inpackage.json
. (#5567) - Fix tests after kernel push changes. (#5585)
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:
- Check the responses of prompts for installation of missing packages such as
IPyKernel
. (#5432)
- 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)
- Be able to provide string argument to jupyter.execSelectionInteractive for extensibility. (thanks Andrew Craig) (#1689)
- 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)
- 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
debug
logging by default. (#5238)
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:
- 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)
- 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)
- Synchronously check if
zmq
is 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 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:
- 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
- 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)
- 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)
- 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 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:
- Fix support for IPyWidgets in Interactive Window. (#4203)
- Add support for IPyWidget in Native Notebooks. (#251)
- 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 Kernel
when 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)
- 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 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:
- Display survey prompt once per session. (#4077)
- 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 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:
- 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 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:
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: