JupyterLab Changelog#

4.0#

4.0.0a33#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @andrii-i | @blink1073 | @bollwyvl | @brichet | @davidbrochart | @dependabot | @echarles | @fcollonval | @github-actions | @HaudinFlorence | @hbcarlos | @jasongrout | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @pre-commit-ci | @psychemedia | @RRosio | @SylvainCorlay | @trungleduc | @welcome | @yczhangsjtu

4.0.0a32#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @akhmerov | @alec-kr | @blink1073 | @bollwyvl | @brichet | @davidbrochart | @dependabot | @dlqqq | @echarles | @fcollonval | @gabalafou | @github-actions | @HaudinFlorence | @hbcarlos | @hsuanxyz | @jasongrout | @JasonWeill | @jmk89 | @joaopalmeiro | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @kostyafarber | @krassowski | @martinRenou | @mctoohey | @meeseeksdev | @mgcth | @minrk | @pre-commit-ci | @vidartf | @welcome

4.0.0a31#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @andrii-i | @blink1073 | @brichet | @davidbrochart | @dependabot | @ellisonbg | @fcollonval | @firai | @frenzymadness | @frivas-at-navteca | @HaudinFlorence | @hbcarlos | @hugetim | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @kostyafarber | @krassowski | @kulsoomzahra | @liliyao2022 | @meeseeksdev | @NikolayXHD | @pre-commit-ci | @SylvainCorlay | @telamonian | @vidartf | @vthinkxie | @welcome

4.0.0a30#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@aditya211935 | @brichet | @Carreau | @davidbrochart | @dependabot | @ellisonbg | @fcollonval | @hbcarlos | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @pre-commit-ci | @SylvainCorlay | @trungleduc | @welcome | @yanmulin

4.0.0a29#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @agoose77 | @alec-kr | @blink1073 | @brichet | @davidbrochart | @dependabot | @dmonad | @echarles | @ellisonbg | @fcollonval | @firai | @gabalafou | @github-actions | @hbcarlos | @jtpio | @jupyterlab-probot | @krassowski | @kulsoomzahra | @meeseeksdev | @meeseeksmachine | @pre-commit-ci | @steff456 | @SylvainCorlay | @welcome | @Zsailer

4.0.0a28#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @ajbozarth | @athornton | @blink1073 | @davidbrochart | @dependabot | @ellisonbg | @fcollonval | @firai | @goanpeca | @ian-r-rose | @isabela-pf | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @KrishnaKumarHariprasannan | @malemburg | @manfromjupyter | @markgreene74 | @matthewturk | @meeseeksdev | @mlucool | @peytondmurray | @pre-commit-ci | @saulshanabrook | @telamonian | @tgeorgeux | @trallard | @VersBersh | @vidartf | @welcome

4.0.0a27#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @agoose77 | @aiqc | @blink1073 | @davidbrochart | @dependabot | @dlqqq | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @hsuanxyz | @isabela-pf | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @martinRenou | @meeseeksdev | @meeseeksmachine | @oscar6echo | @peytondmurray | @pre-commit-ci | @RobbyPratl | @siddartha-10 | @SylvainCorlay | @thetorpedodog | @thomasaarholt | @trungleduc | @vidartf | @welcome | @williamstein | @yangql176 | @yuvipanda

4.0.0a26#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@a3626a | @blink1073 | @davidbrochart | @dependabot | @echarles | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @meeseeksdev | @mlucool | @pre-commit-ci | @rursprung | @trungleduc | @welcome

4.0.0a25#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Deprecated features#

  • Rename registerFactory to addFactory in IToolbarWidgetRegistry #12513 (@fcollonval)

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @ajbozarth | @blink1073 | @bollwyvl | @davidbrochart | @divyansshhh | @dmonad | @echarles | @ephes | @fcollonval | @gabalafou | @github-actions | @hbcarlos | @Jessie-Newman | @Jnnamchi | @jtpio | @jupyterlab-probot | @JasonWeill | @marthacryan | @meeseeksdev | @pre-commit-ci | @telamonian | @welcome

4.0.0a24#

(Full Changelog)

Enhancements made#

  • Uses dark theme for Vega when JupyterLab theme is dark #12411 (@JasonWeill)

  • Pop up select kernel dialog when run a cell without kernel #12379 (@a3626a)

  • Allow LauncherModel to be more extendable #12344 (@ajbozarth)

  • File Browser: add support for filtering directories on search #12342 (@jtpio)

  • Allow for an optional label for the uploader widget #12333 (@jtpio)

  • Add argument searchText and replaceText to search and replace commands #12310 (@fcollonval)

  • Add checkboxes to file browser #12299 (@gabalafou)

  • Add a preferred-dir icon to the file browser crumbs #12297 (@echarles)

  • Use importlib instead of pkg_resources #12293 (@fcollonval)

  • Default is no virtual rendering + Relax virtual notebook rendering and ensure no structural change until rendering is completed #12258 (@echarles)

  • Open terminal in cwd from launcher #12250 (@rccern)

  • Update completer part 3 #12219 (@trungleduc)

  • Add argument line and column to codemirror go to line command #12204 (@fcollonval)

  • Add support for filtering by field names in setting editor #12082 (@marthacryan)

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • position collapse heading button next to corresponding h tag (jupyter… #11925 (@Pugio)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@a3626a | @afshin | @aiqc | @ajbozarth | @andrewfulton9 | @blink1073 | @bollwyvl | @davidbrochart | @dependabot | @dmonad | @echarles | @fcollonval | @gabalafou | @galathinius | @github-actions | @hbcarlos | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @marthacryan | @martinRenou | @max-schaefer | @meeseeksdev | @mlucool | @pre-commit-ci | @Pugio | @rccern | @trungleduc | @welcome | @xiaochen-db | @yangql176

4.0.0a23#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @aiqc | @ajbozarth | @andrewfulton9 | @blink1073 | @Carreau | @damianavila | @davidbrochart | @dependabot | @echarles | @fcollonval | @github-actions | @hbcarlos | @Josh0823 | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

4.0.0a22#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

  • Inline expected_http_error function from jupyterlab_server.tests #12228 (@jtpio)

Documentation improvements#

  • Update command in Performance Testing to use the right option #12215 (@JasonWeill)

  • Add note about async, await and Promises in the extension tutorial #12199 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @JasonWeill

4.0.0a21#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @davidbrochart | @dependabot | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @jtpio | @jupyterlab-probot | @krassowski | @martinRenou | @meeseeksdev | @sparanoid | @tkrabel-db | @trungleduc | @welcome | @yangql176

4.0.0a20#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @akshaychitneni | @andrewfulton9 | @blink1073 | @bollwyvl | @choldgraf | @davidbrochart | @dependabot | @echarles | @entropitor | @fcollonval | @github-actions | @hbcarlos | @HoseonRyu | @isabela-pf | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @kellyyke | @krassowska | @krassowski | @marthacryan | @mbektas | @meeseeksdev | @meeseeksmachine | @minrk | @mlucool | @schmidi314 | @SylvainCorlay | @trungleduc | @welcome | @yuvipanda | @Zsailer

4.0.0a19#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @andrewfulton9 | @baggiponte | @blink1073 | @davidbrochart | @fcollonval | @github-actions | @hbcarlos | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @pree-T | @schmidi314 | @telamonian | @thesinepainter | @welcome

4.0.0a18#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@adamjstewart | @andrewfulton9 | @bollwyvl | @davidbrochart | @dependabot | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @schmidi314 | @welcome

4.0.0a17#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @dependabot | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jtpio | @jupyterlab-probot | @krassowski | @martinRenou | @SylvainCorlay | @welcome

4.0.0a16#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@0x2b3bfa0 | @andrewfulton9 | @blink1073 | @bollwyvl | @davidbrochart | @dependabot | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @loichuder | @martinRenou | @mbektas | @meeseeksdev | @schmidi314 | @skyetim | @SylvainCorlay | @trungleduc | @welcome | @williamstein | @yuvipanda

4.0.0a15#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @blink1073 | @ceesu | @davidbrochart | @dmonad | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @nanoant | @rfox12 | @trungleduc | @welcome | @williamstein | @Zsailer

4.0.0a14#

(Full Changelog)

Enhancements made#

  • Added button theme variables, updated button style #11264 (@3coins)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @achimgaedke | @akhmerov | @ammgws | @blink1073 | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @joelostblom | @jtpio | @jupyterlab-probot | @krassowski | @lucabarcelos | @welcome

4.0.0a13#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @github-actions | @jupyterlab-probot

4.0.0a12#

(Full Changelog)

Enhancements made#

  • Enable document wide history tracking #10949 (@echarles)

  • Make check margin between last modified timestamps on disk and client configurable #11153 (@ph-ph)

  • Add a menu entry to show/hide hidden files in the filebrowser #10769 (@loichuder)

  • Add option to choose checkpoint #9670 (@hMED22)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @hMED22 | @isabela-pf | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @loichuder | @mbektas | @meeseeksdev | @meeseeksmachine | @minrk | @ph-ph | @SylvainCorlay | @welcome | @yuvipanda

4.0.0a11#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@achimgaedke | @blink1073 | @chrisyeh96 | @dependabot | @echarles | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @mbektas | @meeseeksdev | @ohrely | @smacke | @trungleduc | @welcome

4.0.0a10#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @hbcarlos | @josephrocca | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @Mithil467 | @trungleduc | @welcome

4.0.0a9#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

API and Breaking Changes#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @legendb317 | @mbektas | @Mithil467

4.0.0a8#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @bsyouness | @davidbrochart | @dmonad | @fcollonval | @jtpio | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine

4.0.0a7#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @agoose77 | @baggiponte | @blink1073 | @echarles | @ellisonbg | @fcollonval | @goanpeca | @hbcarlos | @jasongrout | @jtpio | @jupyterlab-dev-mode | @krassowska | @krassowski | @mbektas | @meeseeksdev | @meeseeksmachine | @SarunasAzna | @tejasmorkar | @welcome

4.0.0a6#

(Full Changelog)

Bugs fixed#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @blink1073 | @fcollonval | @jupyterlab-dev-mode | @meeseeksdev | @Mithil467 | @welcome

4.0.0a5#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @blink1073 | @fcollonval | @hbcarlos | @jtpio | @jupyterlab-dev-mode | @krassowski | @martinRenou | @meeseeksdev

4.0.0a4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @blink1073 | @fcollonval | @goanpeca | @jasongrout | @JohanMabille | @jupyterlab-dev-mode | @krassowski | @richardkang112 | @vkaidalov-rft

4.0.0a3#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @blink1073 | @fcollonval | @franckchen | @jupyterlab-dev-mode | @welcome

4.0.0a2#

(Full Changelog)

NOTE The Python Package for this release was not published due to our trove classifiers not yet being available.

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @blink1073 | @bollwyvl | @echarles | @hbcarlos | @jupyterlab-dev-mode | @meeseeksmachine | @yitzchak

4.0.0a1#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @AnudeepGunukula | @blink1073 | @bollwyvl | @davidbrochart | @echarles | @ellisonbg | @fcollonval | @goanpeca | @hbcarlos | @i-aki-y | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @krassowski | @KrishnaKumarHariprasannan | @loichuder | @manfromjupyter | @meeseeksdev | @meeseeksmachine | @richardkang112 | @trungleduc | @welcome

v3.5#

3.5.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release) @Carreau | @davidbrochart | @ellisonbg | @fcollonval | @hbcarlos | @jasongrout | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @SylvainCorlay | @trungleduc | @welcome

v3.4#

3.4.7#

(Full Changelog)

Enhancements made#

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @blink1073 | @ellisonbg | @fcollonval | @gabalafou | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine | @welcome

3.4.6#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@ajbozarth | @athornton | @blink1073 | @ellisonbg | @fcollonval | @goanpeca | @ian-r-rose | @isabela-pf | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @KrishnaKumarHariprasannan | @malemburg | @manfromjupyter | @meeseeksdev | @meeseeksmachine | @mlucool | @saulshanabrook | @telamonian | @tgeorgeux | @trallard | @VersBersh | @vidartf | @welcome

3.4.5#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @agoose77 | @blink1073 | @davidbrochart | @fcollonval | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @martinRenou | @meeseeksdev | @meeseeksmachine | @ryanlovett | @SylvainCorlay | @telamonian | @trungleduc | @welcome

3.4.4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @aiqc | @davidbrochart | @dlqqq | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @martinRenou | @meeseeksdev | @meeseeksmachine | @siddartha-10 | @SylvainCorlay | @welcome | @williamstein

3.4.3#

(Full Changelog)

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Add more explanation for internationalization (translation python package) #12635 (@a3626a)

  • Add “Open in Simple Mode” contextMenu option #12577 (@fcollonval)

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @blink1073 | @bollwyvl | @davidbrochart | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @meeseeksdev | @meeseeksmachine | @welcome

3.4.2#

(Full Changelog)

Bugs fixed#

  • Building extensions fail if not using latest patch #12571 (@ajbozarth)

  • fixed shouldOverwrite is never called when rename target exists #12543 (@ephes)

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@fcollonval | @jtpio | @jupyterlab-probot | @karlaspuldaro | @meeseeksmachine | @welcome

3.4.1#

(Full Changelog)

Enhancements made#

  • Setting to use the advanced setting editor for the settings #12466 (@echarles)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@ajbozarth | @echarles | @fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @meeseeksmachine | @welcome

3.4.0rc0#

(Full Changelog)

Enhancements made#

  • Display default value in setting editor for changed values #12468 (@echarles)

  • Uses dark theme for Vega when JupyterLab theme is dark #12411 (@JasonWeill)

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • Customize the file browser toolbar via the settings #12441 (@fcollonval)

  • Wait until file browser commands are ready before activating file browser widget #12435 (@fcollonval)

  • Add a “New Tab” button that opens the launcher #12195 (@ajbozarth)

  • Simplify galata import by proxying expect #12311 (@fcollonval)

  • Open terminal in cwd from launcher #12250 (@rccern)

  • Add support for filtering by field names in setting editor #12082 (@marthacryan)

  • Use transform to quickly switch between tabs. #11074 (@fcollonval)

  • Pop up select kernel dialog when run a cell without kernel #12379 (@a3626a)

  • Allow LauncherModel to be more extendable #12344 (@ajbozarth)

  • Add argument searchText and replaceText to search and replace commands #12310 (@fcollonval)

  • Add argument line and column to codemirror go to line command #12204 (@fcollonval)

  • Default is no virtual rendering + Relax virtual notebook rendering and ensure no structural change until rendering is completed #12258 (@echarles)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • Customize the file browser toolbar via the settings #12441 (@fcollonval)

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@bollwyvl | @davidbrochart | @echarles | @fcollonval | @gabalafou | @github-actions | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

3.4.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Creates cell-toolbar, cell-toolbar-extension packages and populates toolbar #12028 (@JasonWeill)

  • Customize the file browser toolbar via the settings #12441 (@fcollonval)

Deprecated features#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @bollwyvl | @davidbrochart | @echarles | @fcollonval | @gabalafou | @github-actions | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

v3.3#

3.3.4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@aiqc | @blink1073 | @echarles | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

3.3.3#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@afshin | @aiqc | @ajbozarth | @blink1073 | @bollwyvl | @damianavila | @davidbrochart | @echarles | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @marthacryan | @martinRenou | @meeseeksdev | @meeseeksmachine | @mlucool | @rccern | @welcome

3.3.2#

(Full Changelog)

Bugs fixed#

Documentation improvements#

  • Add note about async, await and Promises in the extension tutorial #12199 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @meeseeksmachine

3.3.1#

(Full Changelog)

Enhancements made#

Bugs fixed#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@davidbrochart | @echarles | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @martinRenou | @meeseeksmachine | @welcome

3.3.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

API and Breaking Changes#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @andrewfulton9 | @baggiponte | @blink1073 | @bollwyvl | @Carreau | @davidbrochart | @dmonad | @echarles | @ellisonbg | @ErikBjare | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @marthacryan | @meeseeksdev | @meeseeksmachine | @mlucool | @schmidi314 | @SylvainCorlay | @Sync271 | @telamonian | @thesinepainter | @trungleduc | @welcome | @yuvipanda | @Zsailer

v3.2#

3.2.9#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@andrewfulton9 | @blink1073 | @bollwyvl | @echarles | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @marthacryan | @meeseeksdev | @meeseeksmachine | @mlucool | @welcome | @yuvipanda | @Zsailer

3.2.8#

(Full Changelog)

Maintenance and upkeep improvements#

  • Use the root yarn.lock in staging when making a release. #11433 (@jasongrout)

  • Update reference snapshot for the completer UI test #11847 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@github-actions | @hbcarlos | @jtpio | @jupyterlab-probot | @meeseeksdev | @meeseeksmachine

3.2.7#

No merged PRs

3.2.6#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@andrewfulton9 | @bollwyvl | @davidbrochart | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @schmidi314 | @TheOtherRealm | @thesinepainter | @welcome

3.2.5#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @bollwyvl | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @trungleduc | @welcome

3.2.4#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @isabela-pf | @jasongrout | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome | @williamstein

3.2.3#

(Full Changelog)

Enhancements made#

Bugs fixed#

  • Handle relative paths to themePath and schemaDir #11427 (@jtpio)

  • Backport PR #11398 on branch 3.2.x (fix #11377 & bump Yjs dependencies & fix modeldb overwriting yjs content) #11408 (@dmonad)

Maintenance and upkeep improvements#

  • Backport PR #11420 on branch 3.2.x (Makes ILabShell optional in toc extension) #11421 (@JasonWeill)

Contributors to this release#

(GitHub contributors page for this release)

@dmonad | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine

3.2.2#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @davidbrochart | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jess-x | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksmachine | @trungleduc | @welcome | @williamstein | @Zsailer

3.2.1#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @blink1073 | @ellisonbg | @fcollonval | @github-actions | @jasongrout | @jtpio | @jupyterlab-probot | @meeseeksmachine | @welcome

3.2.0#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @achimgaedke | @blink1073 | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @isabela-pf | @jasongrout | @jess-x | @joelostblom | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @loichuder | @meeseeksdev | @meeseeksmachine | @SylvainCorlay | @trungleduc | @welcome

v3.1#

3.1.19#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @andrewfulton9 | @baggiponte | @blink1073 | @bollwyvl | @Carreau | @davidbrochart | @dmonad | @echarles | @ellisonbg | @fcollonval | @github-actions | @hbcarlos | @isabela-pf | @jasongrout | @jess-x | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @JasonWeill | @krassowski | @meeseeksdev | @meeseeksmachine | @schmidi314 | @SylvainCorlay | @telamonian | @thesinepainter | @trungleduc | @welcome | @williamstein | @yuvipanda | @Zsailer

3.1.18#

(Full Changelog)

Bugs fixed#

  • Backport PR #11249 on branch 3.1.x (Fix Webpack crypto handling) #11252 (@blink1073)

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @github-actions | @jupyterlab-probot

3.1.17#

(Full Changelog)

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@jupyterlab-probot | @meeseeksmachine

3.1.16#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @echarles | @ellisonbg | @fcollonval | @github-actions | @goanpeca | @hbcarlos | @isabela-pf | @jasongrout | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @loichuder | @meeseeksdev | @meeseeksmachine | @SylvainCorlay | @welcome

3.1.15#

(Skipped due to errors in release process)

3.1.14#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @echarles | @github-actions | @goanpeca | @jess-x | @jupyterlab-probot | @krassowski | @meeseeksdev | @meeseeksmachine | @welcome

3.1.13#

(Full Changelog)

Enhancements made#

  • Fetch translations via the ServerConnection.ISettings #11091 (@jtpio)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Add a note on the Jupyter Releaser in the extension tutorial #11085 (@jtpio)

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @github-actions | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksmachine | @Mithil467 | @trungleduc | @welcome

3.1.12#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Other merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @github-actions | @jasongrout | @jtpio | @jupyterlab-dev-mode | @jupyterlab-probot | @krassowski | @meeseeksmachine | @Mithil467

3.1.11#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @echarles | @fcollonval | @jtpio | @jupyterlab-dev-mode | @meeseeksmachine

3.1.10#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

  • Backport #10893 on branch 3.1.x (Add internationalization documentation) #10974 (@fcollonval)

  • Fix formatting of a link in the changelog #10945 (@jtpio)

Contributors to this release#

(GitHub contributors page for this release)

@agoose77 | @baggiponte | @blink1073 | @echarles | @ellisonbg | @fcollonval | @goanpeca | @jasongrout | @jtpio | @jupyterlab-dev-mode | @krassowski | @mbektas | @meeseeksdev | @meeseeksmachine | @SarunasAzna | @welcome

3.1.9#

(Full Changelog)

Bugs fixed#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @jupyterlab-dev-mode | @meeseeksdev | @meeseeksmachine | @welcome

3.1.8#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @fcollonval | @jupyterlab-dev-mode | @krassowski | @meeseeksdev | @meeseeksmachine

3.1.7#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@3coins | @afshin | @blink1073 | @fcollonval | @goanpeca | @jasongrout | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine | @welcome

3.1.6#

(Full Changelog)

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine

3.1.5#

(Full Changelog)

Bugs fixed#

Contributors to this release#

(GitHub contributors page for this release)

@echarles | @jupyterlab-dev-mode | @meeseeksmachine | @welcome

3.1.2#

(Full Changelog)

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Contributors to this release#

(GitHub contributors page for this release)

@AnudeepGunukula | @blink1073 | @ellisonbg | @fcollonval | @goanpeca | @jasongrout | @jupyterlab-dev-mode | @krassowski | @meeseeksmachine | @welcome

3.1.1#

(Full Changelog)

Bugs fixed#

  • Use appName in page title when restoring workspaces (vs 3.1.x) #10724 (@bollwyvl)

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@blink1073 | @bollwyvl | @goanpeca | @hbcarlos | @jtpio | @jupyterlab-dev-mode | @meeseeksmachine | @welcome

3.1.0#

(Full Changelog)

User-facing changes#

  • From JupyterLab 3.1, file documents and notebooks have collaborative editing using the Yjs shared editing framework. Editors are not collaborative by default; to activate it, start JupyterLab with the --collaborative flag. See full documentation on collaboration.

  • The undo/redo history in the notebook is now document-wide (tracking changes across all cells); the future verisions will enable restoring the previous behaviour of per-cell undo/redo.

  • Table of Contents recieved multiple new features and settings described in the user documentation.

  • The debugger recived many improvements, including basic support for evaluating code at a breakpoint, and for variable inspection.

  • The closing bracket is no longer automatically added by default; the old behaviour can be re-enabled from the menu bar (Settings -> Auto Close Brackets) or from the Advanced Settings Editor.

  • A new visual indicator was introduced to highlight cells in which the code changed in the editor since last execution: A GIF of the visual indicator showing up after editing a cell.

  • Many other new features were added as documented below.

New features added#

Enhancements made#

Bugs fixed#

Maintenance and upkeep improvements#

Documentation improvements#

Contributors to this release#

(GitHub contributors page for this release)

@0618 | @achandak123 | @afonit | @afshin | @AgoCan | @agoose77 | @ainzzorl | @aiqc | @ajbozarth | @akx | @andrewfulton9 | @Ashish-15s | @blink1073 | @bollwyvl | @bsyouness | @cameron-toy | @consideRatio | @darcsoel | @davidbrochart | @dge8 | @dharmaquark | @dhirschfeld | @DianeHu | @dmonad | @echarles | @ellisonbg | @fasiha | @fcollonval | @flying-sheep | @fperez | @gereleth | @goanpeca | @Guillaume-Garrigos | @hbcarlos | @ian-r-rose | @isabela-pf | @jahn96 | @janjagusch | @jasongrout | @jayqi | @jess-x | @jhamet93 | @jluttine | @jochym | @JohanMabille | @jtpio | @jupyterlab-dev-mode | @krassowska | @krassowski | @legendb317 | @loichuder | @maartenbreddels | @manavendrasen | @manfromjupyter | @mariobuikhuizen | @marthacryan | @martinRenou | @mbektas | @meeseeksdev | @meeseeksmachine | @mellesies | @mgeier | @mlucool | @mnowacki-b | @mwakaba2 | @NPetz | @ognjenjevremovic | @ohrely | @palewire | @paravatha | @partev | @plan-do-break-fix | @robertpyke | @RodyLipson | @sarahspak | @saulshanabrook | @shngt | @skyetim | @smacke | @stadlerb | @SylvainCorlay | @telamonian | @tonyfast | @trallard | @vidartf | @vkaidalov-rft | @welcome | @yasmin-bb | @yuvipanda

v3.0#

See the JupyterLab 3.0 milestone on GitHub for the full list of pull requests and issues closed.

v3.0.16#

(Full Changelog)

Maintenance and upkeep improvements#

v3.0.15#

(Full Changelog)

Enhancements made#

Maintenance and upkeep improvements#

  • [3.0.x] Remove Dependency on Jupyter Packaging #10218 (@jtpio)

Documentation improvements#

Other merged PRs#

v3.0.14#

  • Clean up browser check #10080

  • Loosen pin on jupyter-packaging #9998

v3.0.13#

  • Add cell id per notebook format 4.5 (#10018)

  • Fix label for “Create Console for Editor” (#9794)

  • Use blobs to set the svg source of an image in the image viewer (#10029)

  • [Fix] Copy shareable link command (#10021)

  • Clarify where the overrides.json file should be in the docs (#9996)

  • Do not make unnecessary npm registry requests (#9974)

  • Fix escaping of urls and paths (#9978)

v3.0.12#

  • Fix support for Safari by changing regular expression for Table of Contents (#9962)

  • Fix DocRegistry FileType pattern matching (#9958)

v3.0.11#

  • Fix: use process/browser module as real polyfill (#9636)

  • Fix Table of Contents extension markdown bug for HTML comments (#9938)

  • Make Table of Contents extension not rewrite all notebook headers (#9932)

v3.0.10#

  • Fix watch mode for external extensions (#9915)

  • Bug fix for extension watch mode behavior (#9889, #9861)

v3.0.9#

  • Remove the previous file_to_run logic. (#9848)

  • Enable Caching in Production Minimized Mode. (#9834)

  • Remove the auto-switch to “mobile” mode, and behavior switches associated with mobile mode. (#9832)

  • Fix the display of breakpoints on restore. (#9828)

  • Update CI script timeouts. (#9825)

  • Fix mimerender test example and test in CI. (#9820)

v3.0.8#

  • @jupyterlab/rendermime: upgraded marked dep past vulnerability. (#9809)

  • Fix Services Tests. (#9806)

  • Enable jupyter labextension build/watch to work for custom jupyterlab distributions. (#9697)

  • Add hash to webpack requests to enable caching. (#9776)

  • Update MANIFEST.in to include package_data files. (#9780)

  • Correct synchronization of tags between metadata and tags widget. (#9773)

  • Fix use of hyphen in module name. (#9655)

  • Add missing default_url fields to examples. (#9731, #9737)

v3.0.7#

  • Add link for prebuilt extensions too. (#9702)

  • Remove outdated note on ipywidgets. (#9707)

  • Fix debug flag handling in build command. (#9715)

  • Update notebook toolbar example docs. (#9705)

  • Use Path.resolve() to get canonical case-sensitive path names. (#9709)

v3.0.6#

  • Listen for 'restarting' instead of 'autorestarting' from server. (#9674)

  • Use jupyterhub make_singleuser_app mixin when available. (#9681)

  • Remove jest version constrain. (#9632)

  • Disable large uploads for notebook server < 5.1. (#9628)

  • Ignore timeout errors when preloading settings. (#9629)

  • Customize template branch when upgrading extension. (#9630)

  • Renamed variable that clashed with a module. (#9641)

  • Allow for lazily retrieved documentation (with a getter). (#9643)

  • Upgrade html-webpack-plugin to support webpack 5. (#9651)

  • Fix viewing of PDF files in Safari. (#9656)

  • Add ToC entries for all headers in markdown cells. (#9358)

  • Revert creating a new browser tab for a new launcher when in simple interface. (#9664)

  • Add xeus-robot to the debugger documentation. (#9661)

v3.0.5#

  • Enable large file uploads. (#9616)

  • Fix display of ?? help on Windows. (#9617)

  • Update app and federated examples. (#9586)

v3.0.4#

  • Do not use ?? in plain js, as it is too new. (#9606)

  • Fix handling of multiple notebooks for the debugger. (#9598)

  • Refactor labhub + CI. (#9604)

v3.0.3#

  • Move open_browser to the top level configs of classes. (#9580)

v3.0.2#

  • Manage kernel message queueing better to prevent out-of-order execution. (#9571)

  • Fix breadcrumb links. (#9572)

  • Fix integration with JupyterHub. (#9568)

  • Fix parsing of empty CSV files. (#9557)

  • Use tree/table buttons to display debugger variables view mode. (#9502)

  • Update tutorial for final jlab 3 release. (#9562)

  • Fix upgrade_extension.py. (#9551, #9550)

  • Update the Binder link in the README to point to a 3.0 Binder. (#9549)

v3.0.1#

  • Fixes error when applying jupyterlab.upgrade_extension on Windows. (#9546)

  • Improve upgrade script to add style settings. (#9515)

  • Fixed incorrect link to GitHub milestone. (#9516)

  • Split contribution guidelines into web-based and local instructions. (#9540)

  • Remove --checkout 3.0 in the extension tutorial. (#9545)

  • Docs updates for 3.0. (#9546)

  • Fix usage test. (#9547)

  • Remove visible 1px border for terminal. (#9548)

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 seperate 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 cant 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)

v2.2.x#

v2.2.0#

See the JupyterLab 2.2 milestone on GitHub for the full list of pull requests and issues closed.

July 2020#

We are very excited to add Eric Charles to the core team this month! (#8513)

User-facing changes#

  • Cells can no longer be executed while kernels are terminating or restarting. There is a new status for these events on the Kernel Indicator (#8562, #8477)

  • Adds a visual clue for distinguishing hidden files and folders in the file browser window (#8393)

  • Enable horizontal scrolling for toolbars to improve mobile experience (#8417)

  • Improves the right-click context menu for the file editor (#8425)

  • Merge cell attachments when merging cells (#8427, #8414)

  • Add styling for high memory usage warning in status bar with nbresuse (#8437)

  • Adds support for Python version 3.10 (#8445)

  • Support live editing of SVG with updating rendering (#8495, #8494)

For developers#

  • Specify that we recommend typescript over javascript for extensions (#8411)

  • Lazy load codemirror theme stylesheets. (#8506)

  • Increase the link expiry to one week (#8402)

  • Add documentation on private npm registry usage (#8455, #7827, #7660)

  • Add feature request template + slight reorg in readme (#8467)

  • Add link to react example in extension-examples repo (#8474)

  • Update documentation of whitelist/blacklist (#8540)

  • Improve whitelist figure description in documentation (#8517)

Bugfixes#

  • Typo: fix extensino to extension (#8512)

  • Close correct tab with close tab (#8529)

  • Remove unused css rules (#8547, #8537)

  • Fix small typo in getting started docs, proxy (#8549)

  • Fix link on CI badges (#8603)

  • Simplified multicursor backspace code (#8523)

  • Fix recent breaking changes to normalizepath in filebrowser (#8383, #8382)

  • Fix watch mode and add ci test (#8394)

  • Address CI failures (#8433)

  • Fix lint errors in dependency graph script (#8451)

  • Fix lint complaints coming up from github actions (#8452)

  • Address CI usage test timeout (#8464)

  • Add chokidar to dev_mode/package.json (#8481)

  • Fix autolink (#8496)

  • Update phosphor aliases (#8498)

  • Fix default return in Python when extension has no version metadata (#8430)

  • Updated the installation documentation on read the docs to match the readme file on the repo (#8386)

  • Handle quit_button when launched as an extension (#8486, #8483)

  • Add worker-loader (#8593, #8587)

v2.1.x#

v2.1.2#

  • Fix icon sidebar height for third party extensions (#8333)

  • Pin JupyterLab server requirement more tightly (#8330)

  • Scrolls cells into view after deletion (#8287)

  • Sets data attribute on file type in filebrowser (#8275)

v2.1.1#

  • Pin puppeteer to fix ci (#8260)

  • Fix Save As for files without sessions (#8248)

v2.1.0#

April 2020#

See the JupyterLab 2.1 milestone on GitHub for the full list of pull requests and issues closed.

User-facing changes#

  • Display the extension manager in the left sidebar by default. Users will need to acknowledge the disclaimer in the extension manager before using it. (#8050, #8145)

  • Added blacklist and whitelist support <extension_listings> for the extension manager (#7989)

  • Automatically link URLs in notebook output text (#8075, #7393)

  • Added a “Restart Kernel and Run All Cells…” button to the notebook toolbar (#8024)

  • Added a context menu item for opening a Markdown editor from the Markdown preview (#7942)

  • Support Node.js 10+ (#8112, #8083)

  • Added a command to replace the selection in an editor with text (inserting if there is no selection). This can be assigned a keyboard shortcut, as shown below. We also added a command to go through a series of commands and run the first enabled command. (#7908) Here is a keyboard shortcut to insert text in a currently-active notebook editor:

    {
      command: "notebook:replace-selection",
      selector: ".jp-Notebook",
      keys: ["Ctrl L"],
      args: {text: "lambda x: x"}
    }
    

    Here is a keyboard shortcut to insert text into an editor of the currently active console, file editor, or notebook:

    {
      command: "apputils:run-first-enabled",
      selector: "body",
      keys: ["Ctrl L"],
      args: {
        commands: [
          "console:replace-selection",
          "fileeditor:replace-selection",
          "notebook:replace-selection",
        ],
        args: {text: "lambda x: x"}
      }
    }
    

For developers#

  • NotebookWidgetFactory is now a plugin so it can be overridden (#8066, #7996)

  • Many improvements to LabIcon: work with all SVG loaders, improve performance, fix issue with menus from extensions (#8125)

  • Change the header application area to a box panel, which means the header area will display if its children set their minimum height (#8059, #7279)

  • JupyterLab’s custom context menu is now disabled on all descendants of a DOM element with a data-jp-suppress-context-menu attribute (#7877, #7670)

Bugfixes#

  • Fix property inspector restoration on reload (#8114)

  • Increase the timeout for yarn (#8104, #8102)

  • Fix find and replace with empty strings (#8100, #8098)

  • Select search text when focusing the search overlay (#8073, #7932)

  • Fix attaching images with spaces in their names to Markdown cells (#8095)

  • Fix build errors by distributing the .yarnrc configuration with the Python package (#8045)

  • Throttle fetch requests in the setting registry’s data connector (#7927)

  • Close the gap between lines in notebook output (#7832, #7760)

v2.0.2#

April 2020#

See the JupyterLab 2.0.2 milestone on GitHub for the full list of pull requests and issues closed.

  • Fix cell execution when recording timing (#8057, #8056)

  • Fix font settings for the editor (#8004, #7910)

  • Avoid redundant checkpoint calls on loading a notebook (#7926, #7889)

  • For developers: make kernel IFuture.done typings more correct by not including undefined (#8032)

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)

  • File info display when hovering on a file in the file browser (#7485, #7352)

  • Support for searching outputs in notebooks (#7258)

  • 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)

v1.2.0#

October 29, 2019#

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

User-facing changes#

  • Select cells from the current cell to the top of the notebook with Shift Home, to the bottom of the notebook with Shift End (#7336, #6783)

  • Add a log console extension to display unhandled messages and other activity (#7318, #7319, #7379, #7399, #7406, #7421)

  • Allow the npm max-old-space option to be specified outside of JupyterLab (#7317)

  • Only display node structure in a JSON tree view for arrays and empty objects (#7261)

  • Make much smaller distribution packages by not building JavaScript source maps for releases. (#7150)

  • Add support for pasting cell attachments and dragging attachments from the file browser (#5913, #5744)

  • Add a new registry configuration parameter to override the default yarn repository when building (#7363, #7109, #7249, #7248)

For developers#

  • Update the Markdown renderer (marked) to 0.7.0 (#7328)

  • Remove datagrid as a singleton, allowing extensions to use newer versions (#7312)

  • Add metadata to the kernelspec information (#7234)

  • Allow different mimetypes for the clipboard data (#7233)

  • Add inline svg icon support to toolbar buttons (#7232)

  • Add PageConfig functions to query if a plugin is deferred or disabled (#7216)

  • Allow for renderers for nbformat.ierror to be created (#7203, #7193)

  • Refactor fileeditor-extension for modularization (#6904)

  • Add execution timing to cells (#6864, #3320)

Bugfixes#

  • Fix the file-browser-path query parameter (#7313)

  • Skip custom click behavior on links when the download attribute is set (#7323)

  • Fix opening multiple browser tabs in Safari (#7322)

  • Fix context menus on SVG icons (#7263)

  • Fix overwriting of target attribute of anchors rendered by IPython.display (#7231)

  • Fix multi-cursor backspacing (#7205, #7401, #7413)

  • Fix mult-cursor cell splitting (#7207, #7417, #7419)

v1.1.0#

August 28, 2019#

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.

User-facing changes#

  • jupyter lab build now has a --minimize=False option to build without minimization to conserve memory and time (#6907)

  • Fix workspace reset functionality (#7106, #7105)

  • Restore behavior of the “raises-exception” cell tag (#7020, #7015)

  • Add settings to override theme font sizes (#6926)

  • Accept query parameter to optionally change file browser location (#6875)

  • Pressing escape in the console should switch out of edit mode (#6822)

  • Fix file browser downloads in Google Chrome (#6686)

  • Make it possible to override the default widgets to view a file (#6813, #4048)

  • Support installing multiple versions of the same extension (#6857)

  • Support JupyterHub server name for JupyterHub 1.0 (#6931)

  • Add docs to help users diagnose issues before creating them (#6971)

  • The JupyterLab conda-forge package is now a 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)

For developers#

  • Expose install_kernel for tests so that outside projects can better use the testing framework (#7089)

  • Fix comm_info_request content to conform to the Jupyter message specification in a backwards-compatible way (#6949, #6947)

  • Add yarn package resolution to build to constrain core package versions to patch semver ranges (#6938)

  • Make handling comm messages optional in a kernel connection. (#6929)

  • Expose icon svg to theme css (#6034, #7027)

  • Expose convenience functions for open dialogs (#6366, #6365)

  • Add debug messages to possible kernel messages (#6704)

  • Add server side coreconfig object (#6991)

Bug fixes#

  • Handle errors that occur during kernel selection (#7094)

  • Fix escaping issues for page config and other template variables (#7016, #7024, #7061, #7058, #6858)

  • Require jinja2 2.10+ to fix escaping issues (#7055, #7053)

  • Increase the search debounce from 100ms to 500ms to increase incremental search responsiveness in large documents (#7034)

  • Fix vega downloads and download urls in general (#7022, #7017, #7098, #7047)

  • Do not complain in the build about duplicate or optional packages (#7013)

  • Fix contextual help layout for R help (#6933, #6935)

v1.0.0#

June 28, 2019#

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.

Find and Replace#

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)

Status Bar#

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).

JupyterHub Integration#

  • We now include the JupyterHub extension in core JupyterLab, so you no longer need to install @jupyterlab/hub-extension. (#6451, #6428)

  • JupyterLab now has a File > Logout menu entry when running with JupyterHub (#6087, #5966)

Printing#

We now have a printing system that allows extensions to customize how documents and activities are printed. (#5850, #1314)

Other User Facing Changes#

  • The launcher displays longer kernel names and supports keyboard navigation (#6587)

  • Notebook outputs without any valid MimeType renderers will not be displayed, instead of displaying an error (#6559, #6216)

  • Add tooltip to file browser root breadcrumb icon showing the server root, if it is available (#6552)

  • Downloading a file will no longer open a new browser window (#6546)

  • Rename the help “Inspector” to “Contextual Help” and move it to the “Help” menu (#6493, #6488, #6678, #6671)

  • Update many of the icons to make them more consistent (#6672, #6618, #6664, #6621)

  • Update the settings UI to remove the table view (#6654, #6622, #6653, #6623, #6646, #6642)

  • Replace FAQ Extension with link to JupyterLab documentation (#6628, #6608, #6625, #6610)

  • Change the default keyboard shortcut for closing a tab to be Alt+w instead of Cmd/Ctrl+w to avoid conflicts with operating systems. (#6486, #6357)

  • Show help text in Inspector window to describe you should select a function (#6476)

  • Fixes SVG rendering (#6469, #6295)

  • Add support for dropping a tab in the tab bar area. (#6454, #5406)

  • Switch some default shortcuts to use Accel instead of Ctrl so they are more natural for Mac users (#6447, #5023)

  • Add ability to tell between hover and selected command palette items (#6407, #279)

  • Hide the “Last Modified” column when the file browser is narrow (#6406, #6093)

  • Support copy/paste in terminal and Mac OS using Ctrl+C and Ctrl+V (#6391, #6385, #1146)

  • Support scrolling in running kernels panel (#6383, #6371)

  • Adds ability to “Merge Selected Cells” in the context menu in the notebook (#6375, #6318)

  • Turn On Accessibility In Xterm.js to make it more compatible for screen readers (#6359)

  • When selecting cells using the keyboard shortcuts, we now skip collapsed cells (#6356, #3233)

  • Supporting opening .geojson files in JSON viewer (#6349)

  • Performance fixes for text-based progress bars (#6304, #4202)

  • Add support for rendering Vega 5 and Vega Lite 3 while keeping the existing Vega 4 and Vega Lite 2 renderers (#6294, #6133, #6128, #6689, #6685, #6684, #6675, #6591, #6572)

  • Drag and drop console cells into a notebook or text editor (#5585, #4847)

  • Drag and drop notebook cells into a console or text editor (#5571, #3732)

  • The extension manager search now sorts extensions by the score assigned to them by NPM instead of alphabetically (#5649)

  • Notify the user when a kernel is automatically restarted, for example, if crashes from an out of memory error (#6246, #4273)

  • Expose the extension manager in a command and menu item (#6200)

  • Add command to render all Markdown cells (#6029, #6017)

  • Supports using shift to select text in output area (#6015, #4800)

  • Output areas that opened in new views are restored properly now on reload (#5981, #5976)

  • Add support for managing notebook metadata under a new “Advanced Tools” section in the cell tools area. The cell and notebook metadata now always reflect the current state of the notebook (#5968, #5200)

  • Inherit terminal theme from core theme (#5964)

  • Adds a built-in HTML viewer so that you can view HTML files (#5962, #5855, #2369)

  • New workspaces are now automatically generated when you create a new window with the same workspace name. (#5950, #5854, #5830, #5214)

  • We now add a hint to the context menu to describe how you can access the native browser menu (#5940, #4023)

  • The tabs on the left panel have changed to make them more understandable (#5920, #5269)

  • Start a new terminal when the page is refreshed and the old terminal has died (#5917)

  • Add a command to open the main menus, which can be assigned to a keyboard shortcut to open and navigate menus without a mouse (#5910, #3074)

  • The contextual help now updates based on changes in the cursor from the mouse instead of just from the keyboard (#