From 713d04cf59df4e48f25fbbd2f7edfa7b9eef8a30 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 16 May 2024 13:13:32 +0000 Subject: [PATCH 1/2] Add user facing changelog for 7.2 --- CHANGELOG.md | 190 +++++++++++++++++++++++++++++---------------------- 1 file changed, 109 insertions(+), 81 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2ad7d66d6..cc6665b172 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,99 +12,33 @@ upgrading `notebook`. Use `pip install pip --upgrade` to upgrade pip. Check pip version with `pip --version`. -## v7.1 - -Jupyter Notebook 7.1 is based on JupyterLab 4.1, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-0-to-4-1) which lists deprecations and changes to the public API. - -Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.1, although they are not all supported in Notebook 7.1. - -For reference you may have a look at the JupyterLab 4.1 changelog to learn more: https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-1 - -### Diagrams in Markdown - -Matching GitHub-Flavoured Markdown, JupyterLab 4.1 now supports [Mermaid](https://github.com/mermaid-js/mermaid) diagrams. -To create a mermaid diagram use the `mermaid` language specifier for a code block in a markdown cell or document, for example: - -~~~ -```mermaid -flowchart LR - -A[Hard] -->|Text| B(Round) -B --> C{Decision} -C -->|One| D[Result 1] -C -->|Two| E[Result 2] -``` -~~~ - -which renders as: - -Rendered Mermaid diagram going from left to right with modern look; the diagram contains blueish square node with text Hard pointing to round square node with text Round; over the arrow connecting the two nodes there is a word Text; the second node further connects to a rhombus-shaped node with text Decision which then connects to two further nodes, Result 1 and Result 2. - -### Inline completer - -JupyterLab now supports completion presented as ghost text in the cell and file editors, -allowing generative AI models to provide multi-line completions. This can now also be leveraged in Jupyter Notebook. - -The suggestions are provided by plugins implementing the ``IInlineCompletionProvider`` API; -by default a single provider which uses kernel history is available. - -In a code cell with `def fac` content a ghost text containing a suggestion representing further code of factorial function is shown; over the code cell there is a floating widget allowing to accept the suggestion and iterate between alternative suggestions - -The suggestions can be invoked as-you-type or manually using a configurable shortcut (by default Alt + \\). -The default keyboard shortcuts are displayed in the small widget shown when hovering over the ghost suggestion: -- Alt + End - accept suggestion -- Alt + [ - previous suggestion -- Alt + ] - next suggestion - -To enable the inline suggestions based on the kernel history, go to Settings → Inline Completer → History provider → check the "enabled" checkbox. - -In addition to the built-in history suggestions, -the [`jupyter-ai`](https://github.com/jupyterlab/jupyter-ai) extension will provide -suggestions from supported models. - -Note that the Jupyter AI extension is not yet compatible with Jupyter Notebook 7. - -### Keyboard navigation improvements - -Numerous improvements to keyboard navigation with focus on accessibility and usability are included in this release: -- the notebook cells now retain focus -- the focus can now be moved beyond the active notebook -- the toolbars can now be navigated using arrow keys +## v7.2 -For more details, see [this post on Jupyter Blog](https://blog.jupyter.org/recent-keyboard-navigation-improvements-in-jupyter-4df32f97628d). +Jupyter Notebook 7.2 is based on JupyterLab 4.2, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-0-to-4-1) which lists deprecations and changes to the public API. -### Execution history in notebook +Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.2, although they are not all supported in Notebook 7.2. -The code from previously executed cells can be used to populate empty cells, -allowing to iterate on code from previous cells or even sessions -(depending on how a specific kernel stores history). +For reference you may have a look at the JupyterLab 4.2 changelog to learn more: https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-2 -To cycle between history items press Alt + Arrow Up and Alt + Arrow Down. - -To enable execution history, go to Settings → Notebook → check the "Kernel history access" checkbox. +### Full notebook windowing mode by default -This feature was already available in the console in previous releases; it only works with kernels supporting execution history requests. -To clear the execution history consult the documentation of the kernel you are using (e.g., IPython/ipykernel). +Notebooks in the `full` windowing mode only render the visible cells, significantly improving the performance of the application. One limitation of `full` mode is that the search function in your browser may produce false negatives; using the search function is recommended. To revert to the behaviour from Notebook 7.2, go to Settings → Settings Editor → Notebook, scroll to “Windowing mode”, and choose `defer`. -### Error indicator in the table of contents +### Improved Shortcuts Editor -When a cell fails during execution, an error indicator will be displayed by the corresponding heading, -increasing awareness of the notebook state and enabling users to quickly navigate to the cell which requires attention. +Among the numerous improvements and bug fixes for the keyboard shortcuts editor: -Error indicator in the shape of a triangle with exclamation sign (using ⚠ UTF character) shown next to one of the headings in the table of contents panel +- it is now possible to remove the default shortcuts, +- shortcuts are correctly sorted when using a language pack, +- shortcuts with different arguments are now correctly displayed as individual entries. -### Search improvements +A context menu opened over a keybinding in the Keyboard Shortcuts setting panel within the Settings widget -- The search box will now grow automatically to accommodate longer text -- Search in selection can now be toggled using Alt + L and automatic search in selection can be configured in settings -- Tooltips with shortcuts were added to the buttons in the search box to improve discoverability of the shortcuts +### Dark high contrast theme -### Miscellaneous +A new theme, JupyterLab Dark High Contrast, which is intended to benefit users with the need for higher contrast, following the WCAG AAA accessibility standard for color contrast. To select this theme, from the menu bar, choose Settings → Theme → JupyterLab Dark High Contrast. Please provide feedback and suggestions on further improvements to this theme. -- The current theme (dark/light) can now be synced with the browser/system preference (Settings menu → Theme → Synchronise with System Settings) -- A blue "read-only" status indicator is now displayed in the toolbar of documents which cannot be saved because their model is read-only. -- Native support for viewing jsonl/ndjson files was added -- Collapsing of breadcrumbs in the File Browser can be disabled in File Browser settings +A dark high contrast theme @@ -207,6 +141,100 @@ increasing awareness of the notebook state and enabling users to quickly navigat [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-03-14..2024-03-29&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-03-14..2024-03-29&type=Issues) +## v7.1 + +Jupyter Notebook 7.1 is based on JupyterLab 4.1, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-0-to-4-1) which lists deprecations and changes to the public API. + +Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.1, although they are not all supported in Notebook 7.1. + +For reference you may have a look at the JupyterLab 4.1 changelog to learn more: https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-1 + +### Diagrams in Markdown + +Matching GitHub-Flavoured Markdown, JupyterLab 4.1 now supports [Mermaid](https://github.com/mermaid-js/mermaid) diagrams. +To create a mermaid diagram use the `mermaid` language specifier for a code block in a markdown cell or document, for example: + +~~~ +```mermaid +flowchart LR + +A[Hard] -->|Text| B(Round) +B --> C{Decision} +C -->|One| D[Result 1] +C -->|Two| E[Result 2] +``` +~~~ + +which renders as: + +Rendered Mermaid diagram going from left to right with modern look; the diagram contains blueish square node with text Hard pointing to round square node with text Round; over the arrow connecting the two nodes there is a word Text; the second node further connects to a rhombus-shaped node with text Decision which then connects to two further nodes, Result 1 and Result 2. + +### Inline completer + +JupyterLab now supports completion presented as ghost text in the cell and file editors, +allowing generative AI models to provide multi-line completions. This can now also be leveraged in Jupyter Notebook. + +The suggestions are provided by plugins implementing the ``IInlineCompletionProvider`` API; +by default a single provider which uses kernel history is available. + +In a code cell with `def fac` content a ghost text containing a suggestion representing further code of factorial function is shown; over the code cell there is a floating widget allowing to accept the suggestion and iterate between alternative suggestions + +The suggestions can be invoked as-you-type or manually using a configurable shortcut (by default Alt + \\). +The default keyboard shortcuts are displayed in the small widget shown when hovering over the ghost suggestion: +- Alt + End - accept suggestion +- Alt + [ - previous suggestion +- Alt + ] - next suggestion + +To enable the inline suggestions based on the kernel history, go to Settings → Inline Completer → History provider → check the "enabled" checkbox. + +In addition to the built-in history suggestions, +the [`jupyter-ai`](https://github.com/jupyterlab/jupyter-ai) extension will provide +suggestions from supported models. + +Note that the Jupyter AI extension is not yet compatible with Jupyter Notebook 7. + +### Keyboard navigation improvements + +Numerous improvements to keyboard navigation with focus on accessibility and usability are included in this release: +- the notebook cells now retain focus +- the focus can now be moved beyond the active notebook +- the toolbars can now be navigated using arrow keys + +For more details, see [this post on Jupyter Blog](https://blog.jupyter.org/recent-keyboard-navigation-improvements-in-jupyter-4df32f97628d). + +### Execution history in notebook + +The code from previously executed cells can be used to populate empty cells, +allowing to iterate on code from previous cells or even sessions +(depending on how a specific kernel stores history). + +To cycle between history items press Alt + Arrow Up and Alt + Arrow Down. + +To enable execution history, go to Settings → Notebook → check the "Kernel history access" checkbox. + +This feature was already available in the console in previous releases; it only works with kernels supporting execution history requests. +To clear the execution history consult the documentation of the kernel you are using (e.g., IPython/ipykernel). + +### Error indicator in the table of contents + +When a cell fails during execution, an error indicator will be displayed by the corresponding heading, +increasing awareness of the notebook state and enabling users to quickly navigate to the cell which requires attention. + +Error indicator in the shape of a triangle with exclamation sign (using ⚠ UTF character) shown next to one of the headings in the table of contents panel + +### Search improvements + +- The search box will now grow automatically to accommodate longer text +- Search in selection can now be toggled using Alt + L and automatic search in selection can be configured in settings +- Tooltips with shortcuts were added to the buttons in the search box to improve discoverability of the shortcuts + +### Miscellaneous + +- The current theme (dark/light) can now be synced with the browser/system preference (Settings menu → Theme → Synchronise with System Settings) +- A blue "read-only" status indicator is now displayed in the toolbar of documents which cannot be saved because their model is read-only. +- Native support for viewing jsonl/ndjson files was added +- Collapsing of breadcrumbs in the File Browser can be disabled in File Browser settings + ## 7.1.2 ([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.1...ca41222a9c8d75356c6d67d3bd36e34d71cce2d8)) From 985cf4a6301726a1b368d5bb731543aa0efdd55f Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 16 May 2024 13:37:04 +0000 Subject: [PATCH 2/2] update dark theme screenshot link --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc6665b172..d14055667f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ Among the numerous improvements and bug fixes for the keyboard shortcuts editor: A new theme, JupyterLab Dark High Contrast, which is intended to benefit users with the need for higher contrast, following the WCAG AAA accessibility standard for color contrast. To select this theme, from the menu bar, choose Settings → Theme → JupyterLab Dark High Contrast. Please provide feedback and suggestions on further improvements to this theme. - +