JupyterLab v2.0.0 Release Notes
-
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
- ๐ Support for searching outputs in notebooks (#7258)
๐
Ctrl Shift .
andCtrl Shift ,
shortcuts move focus to the next and previous tab bar in the main area, respectively (#7673)Shift Home
andShift 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)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
, andwinKeys
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)
0๏ธโฃ JupyterHub users should use the
c.Spawner.default_url = '/lab'
setting instead of the deprecated and now removedlabhubapp
(#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
andstatedb
packages from coreutils (#7681, #7615) - Rework services architecture (sessions, kernels, terminals). Among
these changes,
ClientSession
is renamed toSessionContext
and theIKernelConnection.connectToComm
method is replaced withIKernelConnection.createComm
andIKernelConnection.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)
- 0๏ธโฃ 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
whenapp_dir
is''
(#7268, #7264)