@jupyterlab/services
Advanced tools
Changelog
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.
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)
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)
See extension_migration
for help in
migrating extensions to JupyterLab 2.0.
@phosphor
to @lumino
dependencies.
(#7582,
#7534,
#7763,
#7762,
#7595)settingsregistry
and statedb
packages from
coreutils
(#7681,
#7615)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)polling
from coreutils in favor for @lumino/polling
(#7617)Running
sidebar extension
(#6895,
#6876)codemirror
, xterm.js
,
markdown
, fontawesome
, etc.)
(#7590,
#7194,
#7326,
#6479,
#7769)ui-components
(#7588,
#6799)UseSignal
example to the docs
(#7519)env
prop to kernel options
(#7499)IPython.display
(#7215,
#6827)Shift Tab
dedent shortcut works correctly in the file
editor
(#7865)app_dir
when app_dir
is ''
(#7268,
#7264)Changelog
Here are some highlights of what is in this release. See the JupyterLab 1.1.0 milestone on GitHub for the full list of pull requests and issues closed.
jupyter lab build
now has a --minimize=False
option to build
without minimization to conserve memory and time
(#6907)noarch
package. If you are using JupyterLab with notebook
version 5.2 or earlier, you may need to manually enable the
JupyterLab server extension. See the issue for more details
(#7042)comm_info_request
content to conform to the Jupyter message
specification in a backwards-compatible way
(#6949,
#6947)Changelog
See the JupyterLab 1.0.0 milestone on GitHub for the full list of pull requests and issues closed in 1.0.0, and other 1.0.x milestones for bugs fixed in patch releases.
We have added first class support for find and replace across JupyterLab. It is currently supported in notebooks and text files and is extensible for other widgets who wish to support it. (#6350, #6322, #6301, #6282, #6256, #6241, #6237, #6159, #6081, #6155, #6094, #6024, #5937, #5795, #1074)
We have integrated the JupyterLab Status Bar package package into the core distribution. Extensions can add their own status to it as well (#5577, #5525 #5990, #5982, #5514, #5508, #5352).
@jupyterlab/hub-extension
.
(#6451,
#6428)We now have a printing system that allows extensions to customize how documents and activities are printed. (#5850, #1314)
Alt+w
instead of Cmd/Ctrl+w
to avoid conflicts with operating systems.
(#6486,
#6357)Accel
instead of Ctrl
so
they are more natural for Mac users
(#6447,
#5023)Ctrl+C
and
Ctrl+V
(#6391,
#6385,
#1146).geojson
files in JSON viewer
(#6349)CRLF
line endings will properly be saved with the
same endings
(#5622,
#4464,
#3901,
#3706)Ctrl
when dragging them in the
file browser
(#5584,
#3235)Ctrl Shift Q
for
closing and cleaning up a file
(#5534,
#4390)dl
, dt
, dd
) are improved to be
consistent with the nteract project
(#5682,
#2399)There are new settings for many following items, including:
--debug
to
extension installing
(#6567,
#6499,
#5986)--all
flag to labextension uninstall
to remove all
extensions
(#6058,
#6006)JupyterLabPlugin
to
JupyterFrontEndPlugin
. The application arg is also renamed from
JupyterLab
to JupyterFrontEnd
and some its functionality has
been moved to a separate ILabShell
plugin
(#5845,
#5919)addToMainArea
, addToLeftArea
, addToTopArea
,
addToRightArea
, and addToBottomArea
functions have been replaced
with a single add()
function that takes the area as an argument.
Replace addToMainArea(widget, options)
with
add(widget, 'main', options)
, etc.
(#5845)pageUrl
to appUrl
in the server connection
(#6509,
#6508,
#6585,
#6584)MainAreaWidget
instances now forward update requests to their
content
(#6586,
#6571)data-theme-light
is now data-jp-theme-light
.
(#6566,
#6554)style
attribute in their package.json
, and
JupyterLab will automatically import that CSS file.
(#6533,
#6530,
#6395,
#6390)Dialog.prompt
has been replaced by a number of type-specific
dialogs such as InputDialog.getString
, InputDialog.getBoolean
,
etc. (#6522,
#6378,
#6327,
#6326)RenderMime
widget is re-rendered, the default behavior is
to remove any existing content in the DOM. This can be overridden if
needed.
(#6513,
#6505,
#6497)ES2017
. Extensions may need to upgrade their
TypeScript version and target as well.
(#6440,
#6224)connectionFailure
signal has been added to some of the manager
classes, which can be used to detect when a connection to the server
is lost
(#6399,
#6176,
#3324)coreutils
to use for
throttling and debouncing of API requests
(#6345,
#6346,
#6401,
#6305,
#6157,
#6192,
#6186,
#6141,
#3929,
#6141,
#3929,
#6186,
#6192,
#6401
,#6305,
#6157)contextMenuFirst
to contextMenuHitTest
in the
JupyterFrontEnd
(#5932)initialCommand
arg from the terminal creation command.
(#5916)--jp-code-cursor-width0
, --jp-code-cursor-width1
, and
--jp-code-cursor-width2
variables to the themes to support
changing the cursor width if you change the font size
(#5898)JUPYTERLAB_xxx_LOADER
Webpack loaders, instead
you should use the loader directly in the URL as Webpack supports it
(#5709,
#4406)@jupyterlab/ui-components
package that contains
reusable React components to be used internally and in extensions.
Feel free to use this to create extension UIs with consistent styles
(#5538)showErrorMessage
function now lets you customize the buttons
it uses
(#5513)ReactElementWidget
you should switch
to using ReactWidget
.
(#5479,
#5766,
#6595,
#6595)require('myfile.md')
to get the content of
myfile.md
as a string, you now should import it using
ES2015 import
syntax, or use
require(\'myfile.md\').default
.InstanceTracker
to WidgetTracker
(#6569).app.shell.add(widget)
or app.shell.add(widget, 'main')
, see
here.