Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@jupyterlab/toc

Package Overview
Dependencies
Maintainers
34
Versions
276
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jupyterlab/toc - npm Package Versions

1
2628

4.0.0

Diff

Changelog

Source

4.0.0 - Highlights

Below are the major highlights in JupyterLab 4.0.0.

New text editor

CodeMirror, the text editor used for cells and file editors, has been updated to CodeMirror 6. This brings important accessibility and performance improvements as well as better customization capabilities. We have also improved the editor settings. Previously, users had to customize settings separately for each type of cell, the file editor, and the console editor. Now, you can change your settings in one place. It is now easier to use the default settings for all editors and to change some settings for specific cases. For example, you can now hide line numbers only for markdown cells.

Developers can now provide editor extensions, like themes and programming language parsers, through new application registries.

New extension manager

Starting with JupyterLab 3, extensions can be installed via Python packages (or other providers of prebuilt extensions).

In JupyterLab 4, building on this feature, the Extension Manager now includes extensions from pypi.org. This removes the build step from installation of extension when using Extension Manager.

Developers can provide an alternative package repository to display their own set of extensions.

Improved document search

The Search and Replace functionality has been improved with new features when searching in a notebook:

  • Highlight matches in rendered markdown cells
  • Search in selection
  • Multi-line search
  • Replace using regex capture-group references
  • Replace while preserving case
UI improvements

Some new elements have been added or changed in the UI:

  • Rework the running kernels section
  • "Add a new cell" button at the bottom of a notebook
  • Dialog to display keyboard shortcuts as in the Classic Notebook (use <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd>)
  • Display the first line of cell input and outputs when they are collapsed
Accessibility improvements

JupyterLab is not yet fully accessible. Currently, we are focused on making Notebook 7 accessible. A big part of the code is shared, though, and the following accessibility improvements are in JupyterLab 4:

  • Improved focus and keyboard navigation in the file browser
  • More ARIA roles and labels were added to UI elements
  • Main menu collapses to a hamburger menu if there is not enough space to display all items.
Performance enhancements

JupyterLab is now faster, thanks to the following improvements:

  • CSS rules optimization: CSS selectors have been optimized to improve web browser performance when many elements are present on a page.
  • Upgrade to CodeMirror 6: Especially for notebooks with many cells, the new CodeMirror version is far more efficient than the previous version. Large notebooks should load more quickly.
  • Upgrade to MathJax 3: The mathematical equations renderer library has been been upgraded from v2 to v3 allowing faster rendering.
  • Notebook windowing: By rendering only the parts of a notebook that fit in the web browser viewport, JupyterLab is much more efficient. See an important note below.

Notebook windowing might add side effects for example if some cell outputs are displaying iframes. Therefore it is not yet the default value. But we recommend user to switch to it and report bugs to help us polish it. To test it, you need to set the user setting Notebook > Windowing mode to full. If you have issues with notebook rendering, try changing back to defer or none. (none should be used as a last resort, because it disables all optimizations.)

Real Time Collaboration

JupyterLab 3.6 already made significant improvements to the Real Time Collaboration (RTC) feature. The feature is now in a separate repository: jupyter_collaboration. The rationale is to limit the dependencies for users who don't need RTC. Separating RTC also helps organizations using JupyterLab that do not meet the specific requirements regarding file content management.

To enable RTC, install the jupyter-collaboration package with either pip or conda.

  • with pip: pip install "jupyter-collaboration>=1.0.0a0"
  • with conda: not yet available

RTC highlights in the standalone jupyter-collboration package, version 1.0.0, include:

  • Support for displaying multiple cursors and selections
  • Support for registration of new shared model types
For developers

Here are the main tool updates that will benefit extension authors and developers:

  • TypeScript v5
  • Yarn v3
  • React v18
  • Lumino v2

We recommend using Node.js v18 or newer, because older versions will reach end of life in 2023 or earlier (see Node release schedule).

To ease code migration to JupyterLab 4, developers should review the migration guide. A few existing extensions have already been migrated and can be used as examples:

<!-- <START NEW CHANGELOG ENTRY> -->
lresende
published 3.0.0 •

Changelog

Source

v3.0.0

User-facing changes

Extensions can be installed without building JupyterLab with NodeJS

In JupyterLab 3.0, a new recommended way of distributing and installing extensions as Python pip or conda packages is available. Installing such extensions does not require rebuilding JupyterLab and does not require having NodeJS installed. The previous way of distributing extensions as npm packages requiring rebuilding JupyterLab is still available as well. See the documentation for more details.

The JupyterLab interface supports multiple languages

JupyterLab now provides the ability to set the display language of the user interface. See the documentation for more details.

A new visual debugger

JupyterLab now ships with a debugger front-end by default, available for kernels that support the new debugging protocol. See the documentation for more details.

Improvements to Simple Interface mode and Mobile

The Simple Interface mode (previously Single Document Mode) is now more streamlined. JupyterLab now supports showing the current file in use in the browser URL bar, similar to the classic Jupyter Notebook.

Table of Contents is now in core

The popular Table of Contents extension is now part of core JupyterLab. This core extension makes it easy to see an outline view of notebooks and other documents.

Visual filter in file browser

The file browser now has a filter input which filters the list of files using the same fuzzy matching as the command palette.

Property inspector moved to right sidebar

The default interface for JupyterLab now has system-wide sidebar panes on the left side and sidebar panels that interact with a specific document (such as the debugger or notebook property inspector) on the right side. As always, you can move panes between the left and right sidebars (right click on the sidebar icon, or change it in Advanced Settings).

Command Palette

The command palette is now a floating window that appears on top of your JupyterLab workspace. This enables users to quickly invoke a command while keeping the sidebar closed or switching sidebar panels. The command palette can be put back into the sidebar by adjusting the default in Advanced Settings.

Jupyter Server

JupyterLab 3.0 now depends on Jupyter Server, which is a new Jupyter project based on the server portion of the classic Notebook server. See the Migration Guide to migrate custom notebook configuration to Jupyter Server.

For Developers

Prebuilt Extensions

Users will typically consume prebuilt extensions, which are Python packages with static assets built using JupyterLab. See the updated APOD tutorial for the workflow of creating a prebuilt extension from scratch. For existing extensions, there is a new python -m jupyterlab.upgrade_extension script that can be used to upgrade extensions. The script will update the relevant dependencies and add the boilerplate to create the Python package. For extensions that already contained Python packages (typically server extensions), the files are not overwritten, and some manual copying of content is required. See the example, which used this script heavily. There are two highlighted commits that demonstrate upgrading a server extension. Prebuilt extensions are also known as federated extensions in the changes below, since they use the federated module capability in Webpack 5.

  • Better handling of extensions that provide both prebuilt and source extensions. (#9489, #9277)
  • Document new page config conventions (#9454, #9240)
  • Use stylemodule in prebuilt extensions (#9460, #9459)
  • Update style-loader and mini-css-extract-plugin (#9451)
  • Use a more explicit stylemodule key for js css imports (#9427, #9423)
  • Ignore source packages when building or loading jupyterlab if there is a prebuilt package (#9424, #9277)
  • Include federated extensions in extension manager from the api (#9390, #9367)
  • Handle hyphens and switch to importlib in the develop script (#9471)
  • Chunk the jupyterlab and lumino modules together when building the core application (#9359)
  • Link to the documentation in the extension manager federated dialog (#9327)
  • Federated extension script: change package name logic (#9326, #9320)
  • Do not error if requiredversion is not provided. (#9321)
  • Reinstate extension manager (#9317)
  • Built-in extensions using federated dependencies (#9310)
  • Update upgrade script to use labextension for outputdir (#9306)
  • Require 'package' instead of 'package/' so webpack activates sharing (#9300)
  • Enable using federated extensions in dev mode when a flag is set. (#9286, #9235)
  • Update webpack to 5.3.1 (#9245)
  • Adds package installation info to labextension list and uninstall output (#9244)
  • Restructure federated extensions to allow for package manager metadata (#9239)
  • List the dynamic extensions in the extension manager (#9236, #8804)
  • Refuse to uninstall federated extensions. (#9232, #9230)
  • Allow custom webpack config for federated extensions (#9224, #9175)
  • Use the new webpack 5 'auto' publicpath (#9062, #9043)
  • Bump webpack to 5.0rc1 (#9091)
  • Update the upgrade script to not replace dev deps to caret (#9090)
  • Bump webpack to 5.0rc2 (#9103)
  • Fix watch mode (#9101, #9089)
  • Upgrade to webpack 5 (#9148)
  • Fix watch mode (#9146, #9116)
  • Docs: fix commands to watch (#9163)
  • Docs: update jupyter lab command in ext dev guide (#9165, #)
  • Update release test script to also install federated extensions (#9166, #8818)
  • Remove @types/webpack (shipped with webpack 5) (#9167)
  • Mention jupyter-packaging and cookiecutter in migration guide (#9199)
  • Install jupyter_packaging in tutorial (#9190, #9174)
  • Handle sharing of linked packages and locally installed extensions (#9213, #9203)
  • Clean up federated extension install and upgrade (#8974)
  • Add --development and --source-map flags for building extensions. (#8961, #8952)
  • Add extension upgrade script (#8950, #8870, #8869)
  • Improved handling of disabled extensions (#8944, #7481)
  • Add development mode to lab extension build scripts (#8918)
  • Pull federated extension loading data from the webpack compilation (#8913, #8842)
  • Update labextension build cli to include a parameter for setting the webpack publicpath option (#8911)
  • Update apod extension tutorial (#8905, #8859)
  • Let webpack automatically determine the required version of dependencies (#8875)
  • Fix rebuild of federated extension and add discovery metadata to schema (#8874)
  • Fix build issues with publicpath (#8871)
  • Split buildutils into buildutils and builder (#8863, #8857)
  • Dynamically set public path in generated extensions according to page config (#8861, #8827)
  • Clean up federated extension cli (#8855, #46)
  • Fix app example. (#8852)
  • Add lumino dependencies to buildutils so the phosphor webpack aliasing works (#8850, #8822)
  • Add another federated example package. (#8847, #5)
  • Fixes for the federated example (#8846)
  • Add slash to publicpath (#8845)
  • Update watch plugin for webpack 5 (#8841, #8705)
  • Adding a mime extension to the webpack config (#8825)
  • Fix labextension build (#8821)
  • Fix boolean error (#8819)
  • CI and extension developer cleanup (#8810)
  • Adding extension to shared modules list (#8808)
  • Module federation implementation (#8802)
  • Fix examples and update webpack (#8779, #8767)
  • Add extension building scripts (#8772)
  • Keep the existing webpack file in staging (#8673)
  • Workaround for vega build error (#8666)
  • Add missing polyfill (#8664, #8660)
  • Add url as a polyfill dependency for apputils. (#8659, #8657)
  • Update to webpack 5b21 (#8651)
  • Fix examples and break into separate build (#8647, #8646)
  • Add cur extension for url-loader (#8634)
  • Experiment with module federation (#8385)
Jupyter Server

JupyterLab 3.0 uses Jupyter Server instead of the classic Notebook server. Existing server extensions will be shimmed, but it is advised to update extensions to use jupyter_server.

  • Update server(s), nbclassic, pytest fixtures (#9478, #9473)
  • Add jupyter_core as a dependency (#9251)
  • Put exposeappinbrowser and quitbutton values back in page config (#9262)
  • Update favicon handling (#9145, #9138)
  • Enable JupyterLab to run as an old notebook server extension (#8956, #8943)
  • Fixed static_url_prefix, added classic notebook flags and aliases, and bumped jupyterlab_server dependency (#8910)
  • Use favicons provided by jupyter_server (#8898, #8794)
  • Load app_version next to running on jupyter_server (#8889, #8812)
  • Reinstate the labhubapp (#8806, #8704)
  • Jupyterlab as server extension (#7416)
Internationalization

The JupyterLab UI now supports translation.

  • Cleanup tsconfig for the translation extension (#9357)
  • Add options to add prefix to strings (#8946)
  • Add a standalone translation manager to be used outside of plugins (#8945)
  • Add missing string fixes (#8888)
  • Add crowdin badge (#8823)
  • Change optionsmap to a an array of tuples to be able to localize the options (#8820)
  • Localize strings in jlab (#8800)
  • Add translation package (#8681)
Visual Debugger
  • Debugger-sidebar (#9452)
  • Handle multiple scopes in the debugger variables viewer (#9346)
  • Remove the ptvsd dependency from the debugger user docs (#9344)
  • Throws an error if the kernel cannot start the debugger (#9426)
  • Replace switch in debugger (#9432, #9354)
  • Sets terminatedebuggee to false (#9362)
  • Add missing return signatures in debugger sidebar (#9088)
  • Fix invisible breakpoint in debugger (#8908)
  • Port jupyterlab/debugger PR #527 to JupyterLab (#8878)
  • Add jupyterlab debugger to core (#8747, #75)
Table of Contents
  • Update toc ui (#9275)
  • Add tests for the toc (#8757, #8558)
  • Change toc to use labicon (#8692, #8557)
  • Switch from using settings registry to a signal for notebook collapsing behavior in toc (#8601)
  • Remove husky dependencies from toc and toc-extension (#8571)
  • Merge toc extension into core (#8538)
Other
  • Resolve 'restarting' state on reconnect (#9484, #9008)
  • Upgrade typedoc (#9483)
  • Update to typescript 4.1.3 (#9476)
  • Disable shut down all button if there is no running kernel or terminal (#9468, #48)
  • Make some dependencies optional for the code console plugin (#9467)
  • Require tornado>=6.1.0 (#9453)
  • Pin to tornado>=6.1 on binder (#9449)
  • Fix some of the ui-components dependency warnings (#9448)
  • Fix browser test (#9447)
  • Support for lowercase search queries in the file browser (#9446)
  • Set the tabs menu title by default (#9445)
  • Add tests for interop between source and prebuilt extensions (#9443, #9333)
  • Make itreepathupdater optional in file browser plugin (#9442)
  • Make ilabshell optional in the filebrowser factory plugin (#9439)
  • Reduce yarn timeout (#9419)
  • Remove unused requires for the tree-resolver plugin (#9412)
  • Update @types/react to ^17.0.0 (#9409)
  • Make css dependency graph of js modules (#9407)
  • Cleanup unused python imports in examples/ (#9404)
  • Clear the model and the signals upon continue response (#9402)
  • Fix scroll positions when clearing outputs (#9400, #9331)
  • Remove initial extra _onmimetypechanged call (#9394)
  • Bump the eslint dev dependencies (#9391)
  • Reconnect to kernel on manual restart (#9388)
  • Remove the memory usage status bar item (#9386, #9363)
  • Change user references from single-document mode to simple interface (mode) (#9380, #9378)
  • Reconnect to kernel on restart action (#9371)
  • Add a polyfill for path in the base webpack config (#9368, #9345)
  • Add reconnect to kernel main menu item, and notebook implementation. (#9356, #9353)
  • Update blueprint dependencies (#9350)
  • Target sys-prefix by default but allow you to specify user (#9347)
  • Eliminate eager sharing (#9348, #9343)
  • Revert opening in new tab in single-document mode (#9334, #9323)
  • Eager share only core packages and their dependencies (#9332, #9329)
  • Changed the expression to "server unavailable or unreachable" instead of "server not running" (#9325)
  • Increase the pause between publishing and using npm packages to 5 minutes (#9319)
  • Lint extension manager (#9318)
  • Refactor build conventions (#9312, #9304)
  • Make ilabshell optional for the launcher extension (#9305)
  • Update binder to use conda, which allows us to install our own nodejs. (#9298)
  • Move the single document switch to the status bar (#9296)
  • Added utf-8 encoding parameter to create process (#9294, #8600)
  • Fix linting errors in github prs (#9293)
  • Enable mimedocument to use an optional specific renderer (#9291)
  • Pause after publishing packages to allow npm time to update their listing (#9288)
  • Sidebar width (#9287, #8938)
  • Mybinder.org link for people who want to test their own branches in the developer guidelines (#9284, #9255)
  • Remove ensure-max-old-space script (#9282)
  • Fix usage tests refusing to uninstall federated extensions (#9281, #9280)
  • Add a new menu shell area (#9274)
  • Fix #9255 (#9273, #9255)
  • Fix theme path in jupyterlab builder (#9272)
  • Move document mode switch to separate plugin (#9270)
  • Fix styling of single-document mode switch in menu bar (#9267)
  • Make pdf viewer extension recognize pdf files (#9266)
  • Fix relative path handling in markdown images (#9264, #9253, #9243)
  • Add jupyterhub to page config (#9256, #9248)
  • Update to webpack-cli 4.1.0 (#9254)
  • Upgrade to react 17 (#9227)
  • Extension documentation (#9221)
  • Lint fixes (#9218)
  • Update change log (#9217)
  • Update committer list (#9215)
  • Upgrade to TypeScript 4 (#8883)
  • File browser filter (#8615)
  • Update yarn.lock. (#9095)
  • Handle notebook kernel in busy state on page reload (#9077)
  • Use span element to maintain ellipsis (#9075, #9074)
  • Add codemirror singleton plugin (#9067)
  • Support token authentication for terminal websocket communication (#9080)
  • Do not special-case logic for mainareawidget. (#9094)
  • Set an icon for the inspector main area widget (#9093)
  • Fix the open tabs handling of mainareawidget icons (#9092, #126)
  • Sort completion filtering results (#9098, #9048, #9048)
  • Add hover scrolling to menu, like toolbar. (#9097)
  • Add codemirror simple mode addon (#9123)
  • Create codeql-analysis.yml (#9119)
  • Create ensurevimkeymap function (#9161)
  • Increase size of docstring pop up tooltip (#9134, #9085)
  • Add a 2.x -> 3.x migration guide (#9162, #9118)
  • Add an offline circle icon for disconnected or unknown kernel state (#9172)
  • Include js api in sphinx docs (#9179)
  • Update rtd build (#9182)
  • Allow to substitute the default completer renderer (#8930, #8926)
  • Update dependencies for beta (#8921)
  • Test cleanup (#8894)
  • Resize isolated iframes on content height change (#8909, #5696)
  • Update minimum python version to python 3.6. (#8903)
  • Update yarn.lock (#8862)
  • Makes some properties and methods of class dsvmodel accessible outside the class. (#8849, #8848)
  • Do not use token parameters in websocket urls (#8835, #8813)
  • Use blocked/allowed extension naming in jupyterlab (#8799, #8533)
  • Create icon for pdfs in the filebrowser (#8791)
  • Correctly set base_url on workspace apps (#8788)
  • Pass in isessioncontextdialogs to notebookwidgetfactory (#8778)
  • Update encoding version in vega sample. (#8766)
  • Upgrade codemirror (#8739)
  • Rename the logconsole:nboutput plugin id (#8729)
  • Rename the celltags plugin id to @jupyterlab/celltags (#8728)
  • Uncaught typeerror when switching kernels (#8727)
  • Change inspector detail_level to 1 (#8725)
  • Change main menu ranks to allow for application menu to l of file (#8719)
  • Handle errors in async browser_check (#8717, #8709)
  • Add mehmet and andrew to contributors, fix last name order (#8712)
  • Updated puppeteer version to v4.0.0 (#8707)
  • Update the singleton packages to include at least every package with a 'tokens.ts' file (#8703)
  • Update link to jupyter contributing guide (#8697, #8682)
  • Added ability to delete a document from titlebar context menu (#8670)
  • Move codemirror html tree and related css to shadow dom (#8584)
  • Support macoptionismeta option in terminal (#8573, #4236)
  • Align output baseline with prompt (#8561, #8560)
  • Use the same font-family for cell prompt and code (#8553, #8552)
  • Prompt to save files before rebuild (#8526, #7372)
  • Change json5 payload to json payload (#8225)
  • Move notebook logging plugin to notebook-extension package (#7830)
  • First pass at adding scroll to cell method (#6818)
  • Add a debugger section to the user docs and contributing guide (#8977)
Single Document Mode and Mobile Enhancements
  • Make the single document title widget work for widgets that are not main area widgets (#9078)
  • Add border at top of single-document open menus (#9096, #9065)
  • Implement a simple checkbox for single-document mode in the menu bar. (#9100, #8292)
  • Followup #9100: made sdm switch pretty, accessible (#9104)
  • Improved url scheme, state, interactions for single document mode (#8715)
  • Add workspace mime handler and loading/saving workspaces manually (#8691)
  • Modify ansi color fix (#8555, #8554)
  • Improve single document mode to address classic notebook usage cases (#8531)
  • Incrementally improve jupyterlab mobile ux (#8456)
Benchmarks (now a separate repository)
  • Move benchmarks to separate repo (#8795)
  • Fix off by one error in benchmark samples (#8785)
  • Benchmark params configurable and increase timeout (#8786)
  • Benchmarks: new erroroutputs + larger timeout + notebook defs in subfolder (#8783)
  • Add ability to compare benchmarks (#8737)
  • Benchmark notebook loads (#8020)

Bugfixes

  • Fix lerna warning (#9061)
  • Fix doc build (#9063, #9060)
  • Make text settings menu work (#9066, #9042)
  • Fix lint check for the codemirror-extension package (#9087)
  • Fix the examples ci (#9150)
  • Test: cleanup eslint jest rules and files (#9125)
  • Switch to a different murmurhash2 implementation to handle unicode characters (#9158)
  • Add more xxx to the mktemp command in release_test.sh (#9131)
  • Add setup.py and pyproject.toml to manifest.in (#9129)
  • Urlext.join can't handle colon in relative paths (#9169, #9159)
  • Remove absolute document search pane width (#9180, #9178)
  • Update session and kernel manager data only if there was a real change. (#9189, #9133)
  • Update metadata recorded to align better with jupyter protocol (#9206)
  • Fix focus issues with command palette (#9210, #9121)
  • Update mimetype for dragging files (#8965, #8934)
  • Fix comment explaining the extension entry point. (#8964)
  • Security docs: link to jupyter-server instead of jupyter-noteboook (#8954)
  • Fix titles in the extension development docs (#8948)
  • Fix link syntax in the apod tutorial (#8942)
  • Fix codemirror text color issue with dark jupyter theme. (#8919, #8792)
  • Remove the extension path, not the entire extension directory, when uninstalling an extension (#8904)
  • Header 'content-type' should not be overwritten (#8891, #8890)
  • Make sure adding or removing a cell tag actually replaces the tag list, so a changed signal is emitted for the cell metadata (#8751, #8534)
  • Fix up ensure package and repo (#8749, #8748)
  • Add comma in extension_points.rst to fix syntax error of code (#8745)
  • Fix: Contributing Guide Link is Out of Sync (#8665)
  • Fix api docs links (#8624, #8616)
  • Fix handling of disposed widgets after closing a panel in tutorial (#8623)
  • Fix small typos in docs for developing extensions (#8622)
  • Reload the application on manual state reset (#8621)
  • Remove superfluous page reload on workspace reset (#8619)
  • Remove superfluous console log from the application shell (#8618)
  • Fix minor typos in extension tutorial (#8613)
  • Fix minor typos in docs for extensions. (#8551)
  • Fix small typo in install docs (#8550)
  • Fix more linting errors (#8454)
  • Reconnect a websocket when a kernel is restarted. (#8432)
lresende
published 2.0.0 •

Changelog

Source

v2.0.0

February 2020

Here are some highlights for this release. See the JupyterLab 2.0 milestone on GitHub for the full list of pull requests and issues closed.

User-facing changes

  • New user interface for notebook cell tags (#7407, #7786)
<img alt="Notebook cell tags in the left sidebar next to an open notebook." src="https://raw.githubusercontent.com/jupyterlab/jupyterlab/3.1.x/docs/source/getting_started/changelog_celltags.png" class="jp-screenshot">
  • File info display when hovering on a file in the file browser (#7485, #7352)
<img alt="The file browser with a tooltip describing a notebook's info like the name, size, and kernel." src="https://raw.githubusercontent.com/jupyterlab/jupyterlab/3.1.x/docs/source/getting_started/changelog_fileinfo.png" class="jp-screenshot">
  • Support for searching outputs in notebooks (#7258)
<img alt="A notebook with multiple cells and the cell output searching in the upper right." src="https://raw.githubusercontent.com/jupyterlab/jupyterlab/3.1.x/docs/source/getting_started/changelog_searchoutput.png" class="jp-screenshot">
  • Ctrl Shift . and Ctrl Shift , shortcuts move focus to the next and previous tab bar in the main area, respectively (#7673)

  • Shift Home and Shift End shortcuts in a notebook select all cells from the current cell to the top or bottom of a notebook, respectively (#7177)

  • Explicit "No Kernel" button in the kernel selection dialog for new notebooks (#7647)

  • Notebook recordTiming advanced setting to control whether execution timing information is stored in notebook files (#7578)

  • "Select current running or last run cell" command added (requires notebook recordTiming advanced setting to be set to true) (#7551)

  • Codemirror lineWiseCopyCut advanced setting to control the behavior of the copy/cut keyboard shortcuts when there is no selection (#7842)

  • Refreshed the command palette and property inspector sidebar icons and user interfaces (#7577, #7038, #7733, #7732, #7718, #7686)

  • "New File" and "New Markdown File" items in file browser context menu (#7483, #4280)

  • "Download" item in File menu (#7480)

  • "Restart Kernel and Run up to Selected Cell" item in notebook Kernel menu (#7789, #6746)

  • In extension manager, the "enable" button is now only shown for installed extensions (#7482)

  • Dialogs can now be closed by clicking outside of them (#7885, #3784)

  • documentsearch:startWithReplace command to open the document find overlay with replace. There is not currently a default keyboard shortcut for this, but one can be assigned as a custom keyboard shortcut in Advanced Settings. (#7725)

  • # added to the CSV Viewer delimiter options (#7367, #6324)

  • The JSON viewer now only displays structure hints for arrays and empty objects for a more streamlined feel (#7227)

  • Optional platform-aware keyboard shortcut fields linuxKeys, macKeys, and winKeys in keyboard shortcut definitions (#7589)

    {
      command: "application:toggle-mode",
      selector: "body",
      linuxKeys: ["Ctrl Shift M"], // only linux
      macKeys: ["Cmd Shift Z"], // only mac
      winKeys: ["Ctrl Shift B"], // only windows
      keys: ["Accel Shift U"] // default shortcut
    }
    
  • Added options for jupyter lab clean to clean specific parts of the build, such as --extensions, --settings, --static, and --all (#7583, #6734)

  • Removed the vega 4 and vega-lite 2 renderers (vega 5 and vega-lite 4 is included in JupyterLab by default). These legacy renderers may be available via custom extensions (#7650, #7523, #7658)

  • JupyterHub users should use the c.Spawner.default_url = '/lab' setting instead of the deprecated and now removed labhubapp (#7724)

For developers

See extension_migration for help in migrating extensions to JupyterLab 2.0.

Backward incompatible changes
  • Switch from @phosphor to @lumino dependencies. (#7582, #7534, #7763, #7762, #7595)
  • Factor out the settingsregistry and statedb packages from coreutils (#7681, #7615)
  • Rework services architecture (sessions, kernels, terminals). Among these changes, ClientSession is renamed to SessionContext and the IKernelConnection.connectToComm method is replaced with IKernelConnection.createComm and IKernelConnection.hasComm methods. (#7252, #7674, #7820, #7694, #7690, #7682)
  • Upgrade to TypeScript 3.7 (#7522)
  • Remove polling from coreutils in favor for @lumino/polling (#7617)
  • TypeScript strict null checking in core packages (#7657, #7607)
  • Update state database list method to query based on namespace match. (#7742, #7257)
  • Address code todo items and deprecations for 2.0 (#7720, #7724)
  • Update Console panel tracker widgets (#7705, #7726, #7648, #7645)
  • Update contribution guide to require node v12+ (#7479)
  • New API for the Running sidebar extension (#6895, #6876)
  • Clean up handling of icons under unified LabIcon ( #7192 #7700, #7765, #7767, #7800, #7846, #7859, #7864, #7886)
Other changes
  • New property inspector used to display the properties of the currently selected main area widget (#7665, #7664, #7718, #7686)
  • Allow metadata for launcher items (#7654, #7652)
  • Allow default file browser to restore manually. (#7695, #4009)
  • Upgrade bundled yarn to 1.21.1 (#7691, #7692)
  • Make session dialogs configurable (#7618, #7616)
  • Support transient editor configs (#7611, #7295)
  • Optionally force new browser tab (#7603, #7602)
  • Update core dependencies (e.g., codemirror, xterm.js, markdown, fontawesome, etc.) (#7590, #7194, #7326, #6479, #7769)
  • Add storybook to ui-components (#7588, #6799)
  • Add explicit documentation encouraging people to re-use lab components (#7543)
  • Enable TypeScript sourcemaps for debugging locally installed labextensions (#7541)
  • Add UseSignal example to the docs (#7519)
  • Add env prop to kernel options (#7499)
  • Add kernelspec metadata (#7229, #7228)
  • Allow different mimetypes for the clipboard data (#7202)
  • Add password dialog to apputils (#7855)
  • Alias phosphor packages to lumino to allow a deprecation period for phosphor (#7893)
  • Match react version in ui-components peerdependencies (#7794)
  • Fix lint-staged for both win and mac (#7784)
  • Update websocket workaround for node environments (#7780, #6934)
  • Fix handling of linked extensions (#7728, #6738)
  • Fix extension compatibility checks for prereleases and extensions supporting multiple major versions of JupyterLab (#7723, #7241, #7919)
  • Teach update-dependency about more range specifiers and make it adopt the current range for any tag (#7709)
  • Add support for giving a rank to items in the top area (#7278)
  • Apply all options to the initial JupyterLab application instance (#7251)

Bugfixes

  • "Copy Shareable Link" in the file browser context menu now properly works in JupyterHub (#7906)
  • Update Mathjax CDN in the cell and console examples (#7680)
  • Revert ensure-max-old-space now that Node 12+ has better default memory ceilings (#7677, #7675)
  • Resolve race condition between default file browser and tree urls. (#7676, #4009)
  • Fix handling of code editor refresh (#7672, #7671)
  • Start new notebooks in edit mode (#7666, #6731)
  • Use consistent versions of React (#7661, #7655)
  • Add scrollbar styles to nbconvert-css (#7653)
  • Close output views when corresponding notebooks are closed (#7633, #7301)
  • Fixed incorrect white background for new command palette icon (#7609, #7577)
  • Block fetching the settings for a plugin that is disabled (#7147)
  • When timing metadata changes, ensure signal fires (#7576)
  • Prevent memory leaks in Vega renderer (#7564)
  • Handle cell execution cancellation when cell is disposed (#7555, #7554)
  • Fix dropdown option style issue on Windows (#7513)
  • Make sure label is linked to a control when checking for element type (#7458)
  • Refine log console message UX (#7448, #7444, #7443)
  • Fix multicursor backspacing (#7401, #7205)
  • Reset log display and count when non-notebook tab gets activated (#7334, #7325)
  • Fix Safari multiple tabs by working around a Safari bug. (#7316, #6921)
  • Skip custom click behavior on links when the download attribute is set (#7311, #5443)
  • Fix context menu hit test to deal with SVG nodes. (#7242, #7224)
  • Fix overwriting of target attribute of anchors rendered by IPython.display (#7215, #6827)
  • Fix file browser location in tree view (#7155)
  • Stop too many fetch calls in docmanager-extension (#7879, #7874)
  • Ensures that Shift Tab dedent shortcut works correctly in the file editor (#7865)
  • Fix unexpected jump to last search result when using documentsearch (#7835)
  • Fixed refresh issue for html viewer (#7824, #7552)
  • Fix for center-aligned images with IPython.display.image (#7798)
  • Changes to setting editor should trigger application dirty state (#7774, #7757)
  • Move vega from "devdependencies" to "dependencies" (#7699, #7689)
  • Restore default file browser manually. (#7695, #4009)
  • Use default app_dir when app_dir is '' (#7268, #7264)
ian-r-rose
published 2.0.0-rc.0 •

ian-r-rose
published 1.0.1 •

ian-r-rose
published 1.0.0-rc.0 •

ian-r-rose
published 1.0.0-pre.2 •

ian-r-rose
published 1.0.0-pre.1 •

ian-r-rose
published 1.0.0-pre •

ian-r-rose
published 0.6.0 •

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc