NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #590 most downloaded on PyPI
JupyterLab computational environment
Last release 7 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
607 releases · first in 2016
Fix kernel status display in status bar #18047 (@Darshan808)
DebuggerDisplayRegistry to provide context-aware display names for debugger panels #18043 (@arjxn-py)IContentProvider #18027 (@martinRenou)Show more outputs button design #18021 (@andrii-i)content-visibility application #18013 (@Meriem-BenIsmail)allow-same-origin exception handling in sandbox when changing trust status #18049 (@skapin)ObservableList.removeValue behaviour: if item isn't found, don't just remove the last item! #18019 (@robertstrauss)README.md #18052 (@jtpio)Drag file from nested directory to parent via breadcrumb #18015 (@Darshan808)README.md #18052 (@jtpio)(GitHub contributors page for this release)
@andrii-i | @Ankitaupadhaya | @arjxn-py | @bollwyvl | @Darshan808 | @domoritz | @ellisonbg | @gjmooney | @jasongrout | @jtpio | @jupyterlab-probot | @krassowski | @martinRenou | @Meriem-BenIsmail | @robertstrauss | @RRosio | @skapin
One column per quarter.
Show execution count in breakpoints, callstack, and sources panels while debugging in console #18003 (@arjxn-py)
DocumentManager dialogs customizable #17961 (@Darshan808)ContentProviderRegistry #17940 (@martinRenou)ipykernel to avoid CI breakage with 7.0 pre-release #17957 (@arjxn-py)DocumentManager dialogs customizable #17961 (@Darshan808)(GitHub contributors page for this release)
@andrii-i | @arjxn-py | @Darshan808 | @github-actions | @hxrshxz | @ianthomas23 | @itsmevichu | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @Meriem-BenIsmail | @shreve
Switch the default windowing mode to contentVisibility #17926 (@Meriem-BenIsmail)
contentVisibility #17926 (@Meriem-BenIsmail)configurationDone message once as per the DAP #17912 (@martinRenou)TerminalManager even if terminals are not available #17876 (@krassowski)(GitHub contributors page for this release)
@github-actions | @gjmooney | @HaudinFlorence | @jtpio | @jupyterlab-probot | @krassowski | @martinRenou | @Meriem-BenIsmail
Replace deprecated toolbarRegistry.registerFactory with toolbarRegistry.addFactory in docs #17799 (@krassowski)
IUserAPIClient to make swapping UserManager easier #17884 (@krassowski)toSkip for the SettingsEditor #17834 (@jtpio)content-visibility to render notebook cells more efficiently #17822 (@Meriem-BenIsmail)addExtraLineOnCellMerge setting #17806 (@jtpio)FileDialog.getOpenFiles #17844 (@martinRenou)'clear' cases in switch statements for ObservableList #17837 (@Darshan808)Code Folding submenu only where it is supported #17803 (@Darshan808)toSkip for the SettingsEditor #17834 (@jtpio)toolbarRegistry.registerFactory with toolbarRegistry.addFactory in docs #17799 (@krassowski)CORPORATE.md #17789 (@krassowski)(GitHub contributors page for this release)
@arjxn-py | @bollwyvl | @brichet | @choldgraf | @cmarmo | @CrafterKolyan | @Darshan808 | @davidbrochart | @github-actions | @gjmooney | @HaudinFlorence | @isabela-pf | @jrdnbradford | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @Meriem-BenIsmail | @williamstein
Add terminal search functionality #17691 (@ianthomas23)
preferredDir #17723 (@Darshan808)app.shell.currentWidget for updating the tab title, if available #17772 (@jtpio)app.shell.currentWidget for updating the tab title, if available #17772 (@jtpio)(GitHub contributors page for this release)
@Darshan808 | @fcollonval | @github-actions | @ianthomas23 | @itsmevichu | @jtpio | @jupyterlab-probot | @krassowski | @Zsailer
Auto-switch between light and dark mode when "Synchronize with System Settings" is enabled #17733 (@MUFFANUJ)
id when the user changes cell type #17731 (@afshin)shell to control channel #17684 (@krassowski)allowFileUploads setting to the file browser #17676 (@jtpio)args for all commands #17649 (@jtpio)audio-extension and video-extension #17636 (@jtpio)FileDialog.getOpenFiles dialog #17737 (@martinRenou)ToolbarButtonComponent dataset attributes with the data- prefix #17703 (@RRosio)@codemirror/view to v6.38.1, fixing lineWrap in defer mode #17698 (@krassowski)threadId being passed to the debugger #17667 (@kr-2003)CommsOverSubshells.PerCommTarget #17634 (@ianthomas23)Sanitizer.setAllowedSchemes #17602 (@bsundaram1)selectionChanged on model refresh #17596 (@jtpio)js-testing tests #17754 (@jtpio)httpx<1 #17746 (@jtpio)ILabShell for the inspector plugins #17608 (@jtpio)jupyter.lab.transform #17726 (@MUFFANUJ)args for all commands #17649 (@jtpio)audio-extension and video-extension #17636 (@jtpio)(GitHub contributors page for this release)
@afshin | @bollwyvl | @brichet | @bsundaram1 | @Darshan808 | @dependabot | @github-actions | @ianthomas23 | @itsmevichu | @jtpio | @jupyterlab-probot | @kathatherine | @kr-2003 | @krassowski | @lumberbot-app | @martinRenou | @MUFFANUJ | @nkn2022 | @pre-commit-ci | @RRosio | @rschroll | @zanieb
Add a selectionChanged signal to the file browser #17563 (@jtpio)
selectionChanged signal to the file browser #17563 (@jtpio)stringmd5 in docker image if both md5sum and md5 are present #17590 (@ritzdevp)standby callback to lumino polls #17567 (@mahendrapaipuri)fileeditor-extension: fix handling of launcher, commands and menu entries on specsChanged #17550 (@jtpio)MainAreaWidget #17527 (@dnlzrgz)grid and flexbox style attributes during Markdown/HTML sanitization #17408 (@dotnetautor)(GitHub contributors page for this release)
@brichet | @Darshan808 | @dnlzrgz | @dotnetautor | @EtiennePelletier | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @mahendrapaipuri | @ritzdevp | @SylvainCorlay | @yacchin1205
Add an optional exportAs method to NbConvert.IManager #17482 (@jtpio)
exportAs method to NbConvert.IManager #17482 (@jtpio)extra_labextensions_path to favor defaults #17476 (@peytondmurray)v2025.4.30 to pull menu aria fix #17525 (@krassowski)aria-hidden to icons (<svg> elements) which do not have a title #17472 (@nkn2022)RELEASE.md #17505 (@jtpio)exportAs method to NbConvert.IManager #17482 (@jtpio)extra_labextensions_path to favor defaults #17476 (@peytondmurray)(GitHub contributors page for this release)
@dependabot | @jtpio | @jupyterlab-probot | @krassowski | @minrk | @nkn2022 | @peytondmurray | @pre-commit-ci | @trungleduc | @yukiiii04
Fix ObservableList.removeValue behaviour: if item isn't found, don't just remove the last item! #18019 (@robertstrauss)
ObservableList.removeValue behaviour: if item isn't found, don't just remove the last item! #18019 (@robertstrauss)4.4.x #17963 (@krassowski)ipykernel to avoid CI breakage with 7.0 pre-release #17957 (@arjxn-py)(GitHub contributors page for this release)
@andrii-i | @arjxn-py | @Darshan808 | @github-actions | @hxrshxz | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @meeseeksmachine
Correctly dispose TerminalManager even if terminals are not available #17876 (@krassowski)
TerminalManager even if terminals are not available #17876 (@krassowski)(GitHub contributors page for this release)
@jupyterlab-probot | @krassowski | @martinRenou | @meeseeksmachine
Debugger: Only send the configurationDone message once as per the DAP #17912 (@martinRenou)
configurationDone message once as per the DAP #17912 (@martinRenou)(GitHub contributors page for this release)
@brichet | @github-actions | @HaudinFlorence | @jtpio | @jupyterlab-probot | @krassowski | @martinRenou | @meeseeksmachine | @Meriem-BenIsmail | @williamstein
Replace deprecated toolbarRegistry.registerFactory with toolbarRegistry.addFactory in docs #17799 (@krassowski)
FileDialog.getOpenFiles #17844 (@martinRenou)'clear' cases in switch statements for ObservableList #17837 (@Darshan808)toolbarRegistry.registerFactory with toolbarRegistry.addFactory in docs #17799 (@krassowski)(GitHub contributors page for this release)
@bollwyvl | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @meeseeksmachine | @Meriem-BenIsmail
Preserve original cell during split to maintain kernel connections #17755 (@Darshan808)
preferredDir #17723 (@Darshan808)FileDialog.getOpenFiles dialog #17737 (@martinRenou)js-testing tests #17754 (@jtpio)httpx<1 #17746 (@jtpio)preferredDir #17723 (@Darshan808)jupyter.lab.transform #17726 (@MUFFANUJ)(GitHub contributors page for this release)
@brichet | @Darshan808 | @fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine | @Zsailer
Fix scrollbar behaviour when scrolling past long cell in full windowing mode #17705 (@krassowski)
@codemirror/view to v6.38.1, fixing lineWrap in defer mode #17698 (@krassowski)ToolbarButtonComponent dataset attributes with the data- prefix #17703 (@RRosio)threadId being passed to the debugger #17667 (@kr-2003)(GitHub contributors page for this release)
@Darshan808 | @github-actions | @itsmevichu | @jtpio | @jupyterlab-probot | @kr-2003 | @krassowski | @martinRenou | @meeseeksmachine | @nkn2022
Fix colors for CodeMirror panels #17666 (@krassowski)
CommsOverSubshells.PerCommTarget #17634 (@ianthomas23)Sanitizer.setAllowedSchemes #17602 (@bsundaram1)(GitHub contributors page for this release)
@github-actions | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @meeseeksmachine
Enable save in collaborative mode #17508 (@Darshan808)
standby callback to lumino polls #17567 (@mahendrapaipuri)MainAreaWidget #17527 (@dnlzrgz)fileeditor-extension: fix handling of launcher, commands and menu entries on specsChanged #17550 (@jtpio)(GitHub contributors page for this release)
@github-actions | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine
Fix Settings Editor incorrectly resetting values to default in filtered view #17540 (@yukiiii04)
v2025.4.30 to pull menu aria fix #17525 (@krassowski)aria-hidden to icons (<svg> elements) which do not have a title #17472 (@nkn2022)(GitHub contributors page for this release)
@jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine | @nkn2022
Fix undo/redo in cells created in none windowing mode #17486 (@krassowski)
none windowing mode #17486 (@krassowski)@jupyterlab/services import #17457 (@jtpio)(GitHub contributors page for this release)
@achhina | @afshin | @bnavigator | @brichet | @Darshan808 | @davidbrochart | @DenisaCG | @dependabot | @jtpio | @jupyterlab-probot | @krassowski | @pre-commit-ci
Bump semver and tough-cookie to non-vulnerable versions #17319 (@dlqqq)
See: https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-4
IKernelSpecAPICLient and ITerminalAPIClient, fix definitions of interfaces #17395 (@jtpio)IKernelAPIClient and ISessionAPIClient as options for Kernel.IManager and Session.IManager #17348 (@jtpio)display: flex #17343 (@SatyajitRedekar)@codemirror/lang-python to provide match-case indentation #17189 (@deephbz)--subshell-console flag #17180 (@ianthomas23)CONTRIBUTING.md #17078 (@JasonWeill)ServiceManager with plugins #16794 (@jtpio)@jupyterlab/debugger icons to @jupyterlab/ui-components #16745 (@joaopalmeiro)ITerminalAPIClient in TerminalConnection #17437 (@jtpio)delete_to_trash is True #17359 (@jesuino)null banner in the code console #17322 (@jtpio)ctrl + m toggle focus binding, enable configuring it via Keyboard Shortcuts #17291 (@krassowski)<GroupItem> to filter out null children and accept any ReactNode #17244 (@MUFFANUJ)\tag{} directive in LaTeX #17223 (@MUFFANUJ)lastCell from notebook run actions #17156 (@pawel99k)contentProviderId #17141 (@jtpio)settingeditor:open when settings editor is already open #17121 (@andrewfulton9)proxies parameter for httpx<0.28 #17113 (@AmberArr)bind(this) to NotebookAdapter's isReady function #17109 (@martenrichter)@codemirror packages #17064 (@jtpio)AsyncHTTPTransport over HTTPTransport for httpx #17058 (@krassowski)FileBrowserModel.onFileChanged for drives (including RTC:) #16988 (@davidbrochart)min-height when not windowing #16979 (@brichet)Last Modified column is hidden #16962 (@krassowski)Services.Contents #16927 (@cmarmo).mypy_cache #17444 (@krassowski)ILabShell optional in the logconsole extension #17430 (@jtpio)any #17414 (@krassowski)tj-actions/changed-files #17398 (@jtpio)ILicensesClient interface #17397 (@jtpio)JupyterLab.IInfo for the plugin manager plugin #17367 (@jtpio)apputils-extension #17361 (@jtpio)ConfigSectionManager via a plugin #17345 (@jtpio)ITranslationConnector to fetch the translations #17329 (@jtpio)ISettingsConnector via a separate plugin #17327 (@jtpio)ITranslatorConnector via a separate plugin #17325 (@jtpio)semver and tough-cookie to non-vulnerable versions #17319 (@dlqqq)jupyter-packaging #17294 (@jtpio)jupyterlab-demo #17283 (@krassowski)2025.2.1, fix the console prompt menu alignment #17274 (@jtpio)isPalette arg as for other commands #17258 (@jtpio)skipLibCheck from the test tsconfig #17143 (@jtpio)ISignal instead of Signal #17122 (@jtpio)navigator.language #17094 (@krassowski)typedoc 0.27.4 #17070 (@bollwyvl)nanoid from 3.3.6 to to 3.3.8 #17057 (@krassowski)httpx version window #17041 (@bollwyvl)httpx versions, bump httpx to v0.28.0 #17013 (@davidbrochart)terminal.spec.ts #16942 (@holzman)docmanager/savehandler "continue to save" test #16933 (@holzman)mermaid 11.x, marked 15.x #15733 (@bollwyvl)apputils-extension #17361 (@jtpio)ConfigSectionManager via a plugin #17345 (@jtpio)<GroupItem> to filter out null children and accept any ReactNode #17244 (@MUFFANUJ)repo → repository #17152 (@pdarshane)CONTRIBUTING.md #17078 (@JasonWeill)typedoc 0.27.4 #17070 (@bollwyvl)typedoc 0.26, fix missing module pages #17006 (@bollwyvl)IInlineCompletionItem.token #16959 (@fcollonval)Services.Contents #16927 (@cmarmo)Contents.IChangedArgs documentation #16918 (@cmarmo)ServiceManager with plugins #16794 (@jtpio)@jupyterlab/debugger icons to @jupyterlab/ui-components #16745 (@joaopalmeiro)(GitHub contributors page for this release)
@Adam-D-Lewis | @afshin | @ajbozarth | @AmberArr | @andrewfulton9 | @andreytaboola | @andrii-i | @bollwyvl | @brichet | @Carreau | @claytonparnell | @cmarmo | @Darshan808 | @davidbrochart | @deephbz | @dependabot | @dlqqq | @echarles | @fcollonval | @fleming79 | @github-actions | @holzman | @hxrshxz | @ianthomas23 | @iisakkirotko | @itsmevichu | @JasonWeill | @jesuino | @joaopalmeiro | @jtpio | @jupyterlab-probot | @kellyrowland | @krassowski | @kuraga | @lumberbot-app | @maitreya2954 | @martenrichter | @martinRenou | @mgeier | @MUFFANUJ | @nkn2022 | @Nriver | @pawel99k | @pdarshane | @peytondmurray | @pre-commit-ci | @Princekumarofficial | @Rishab87 | @rpwagner | @RRosio | @rsaditya01 | @SamuelMarks | @SatyajitRedekar | @SylvainCorlay | @trungleduc | @Zsailer
Fix CommandPalette gets re-rendered even if hidden #17442 (@fcollonval)
ITerminalAPIClient in TerminalConnection #17437 (@jtpio).mypy_cache #17444 (@krassowski)ILabShell optional in the logconsole extension #17430 (@jtpio)(GitHub contributors page for this release)
@Darshan808 | @dependabot | @fcollonval | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @MUFFANUJ | @nkn2022
Create "Kernels" section, split statusbar settings #17415 (@krassowski)
(GitHub contributors page for this release)
@bollwyvl | @brichet | @itsmevichu | @jupyterlab-probot | @krassowski | @MUFFANUJ
Add IKernelSpecAPICLient and ITerminalAPIClient, fix definitions of interfaces #17395 (@jtpio)
IKernelSpecAPICLient and ITerminalAPIClient, fix definitions of interfaces #17395 (@jtpio)any #17414 (@krassowski)tj-actions/changed-files #17398 (@jtpio)ILicensesClient interface #17397 (@jtpio)(GitHub contributors page for this release)
@afshin | @fleming79 | @ianthomas23 | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @trungleduc
Bump semver and tough-cookie to non-vulnerable versions #17319 (@dlqqq)
IKernelAPIClient and ISessionAPIClient as options for Kernel.IManager and Session.IManager #17348 (@jtpio)display: flex #17343 (@SatyajitRedekar)delete_to_trash is True #17359 (@jesuino)null banner in the code console #17322 (@jtpio)JupyterLab.IInfo for the plugin manager plugin #17367 (@jtpio)apputils-extension #17361 (@jtpio)ConfigSectionManager via a plugin #17345 (@jtpio)ITranslationConnector to fetch the translations #17329 (@jtpio)ISettingsConnector via a separate plugin #17327 (@jtpio)ITranslatorConnector via a separate plugin #17325 (@jtpio)semver and tough-cookie to non-vulnerable versions #17319 (@dlqqq)apputils-extension #17361 (@jtpio)ConfigSectionManager via a plugin #17345 (@jtpio)(GitHub contributors page for this release)
@afshin | @andrii-i | @bollwyvl | @Darshan808 | @davidbrochart | @dependabot | @dlqqq | @fcollonval | @github-actions | @ianthomas23 | @iisakkirotko | @itsmevichu | @jesuino | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @pre-commit-ci | @Princekumarofficial | @RRosio | @rsaditya01 | @SatyajitRedekar | @trungleduc
Speed up output rendering: add a limit on max length of protocol to linkify #17264 (@krassowski)
ServiceManager with plugins #16794 (@jtpio)ctrl + m toggle focus binding, enable configuring it via Keyboard Shortcuts #17291 (@krassowski)<GroupItem> to filter out null children and accept any ReactNode #17244 (@MUFFANUJ)\tag{} directive in LaTeX #17223 (@MUFFANUJ)jupyter-packaging #17294 (@jtpio)jupyterlab-demo #17283 (@krassowski)2025.2.1, fix the console prompt menu alignment #17274 (@jtpio)isPalette arg as for other commands #17258 (@jtpio)<GroupItem> to filter out null children and accept any ReactNode #17244 (@MUFFANUJ)repo → repository #17152 (@pdarshane)ServiceManager with plugins #16794 (@jtpio)(GitHub contributors page for this release)
@Adam-D-Lewis | @afshin | @andrii-i | @brichet | @Carreau | @Darshan808 | @dependabot | @dlqqq | @echarles | @fcollonval | @github-actions | @hxrshxz | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @MUFFANUJ | @pdarshane | @pre-commit-ci | @Rishab87 | @rpwagner | @RRosio | @Zsailer
Replace R logo with official logo #17216 (@ajbozarth)
@codemirror/lang-python to provide match-case indentation #17189 (@deephbz)--subshell-console flag #17180 (@ianthomas23)lastCell from notebook run actions #17156 (@pawel99k)contentProviderId #17141 (@jtpio)skipLibCheck from the test tsconfig #17143 (@jtpio)(GitHub contributors page for this release)
@ajbozarth | @brichet | @Darshan808 | @deephbz | @dependabot | @github-actions | @hxrshxz | @ianthomas23 | @itsmevichu | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @MUFFANUJ | @pawel99k | @peytondmurray | @pre-commit-ci | @SylvainCorlay
Support kernel subshells #16963 (@ianthomas23)
settingeditor:open when settings editor is already open #17121 (@andrewfulton9)proxies parameter for httpx<0.28 #17113 (@AmberArr)bind(this) to NotebookAdapter's isReady function #17109 (@martenrichter)ISignal instead of Signal #17122 (@jtpio)(GitHub contributors page for this release)
@AmberArr | @andrewfulton9 | @andreytaboola | @bollwyvl | @Darshan808 | @davidbrochart | @dependabot | @echarles | @fcollonval | @ianthomas23 | @jtpio | @jupyterlab-probot | @krassowski | @martenrichter | @peytondmurray | @SamuelMarks
Add Settings Import Feature from a JSON File #16994 (@Darshan808)
CONTRIBUTING.md #17078 (@JasonWeill)@jupyterlab/debugger icons to @jupyterlab/ui-components #16745 (@joaopalmeiro)@codemirror packages #17064 (@jtpio)AsyncHTTPTransport over HTTPTransport for httpx #17058 (@krassowski)FileBrowserModel.onFileChanged for drives (including RTC:) #16988 (@davidbrochart)min-height when not windowing #16979 (@brichet)navigator.language #17094 (@krassowski)typedoc 0.27.4 #17070 (@bollwyvl)nanoid from 3.3.6 to to 3.3.8 #17057 (@krassowski)httpx version window #17041 (@bollwyvl)httpx versions, bump httpx to v0.28.0 #17013 (@davidbrochart)mermaid 11.x, marked 15.x #15733 (@bollwyvl)CONTRIBUTING.md #17078 (@JasonWeill)typedoc 0.27.4 #17070 (@bollwyvl)typedoc 0.26, fix missing module pages #17006 (@bollwyvl)@jupyterlab/debugger icons to @jupyterlab/ui-components #16745 (@joaopalmeiro)(GitHub contributors page for this release)
@bollwyvl | @brichet | @claytonparnell | @cmarmo | @Darshan808 | @davidbrochart | @dependabot | @fcollonval | @itsmevichu | @JasonWeill | @joaopalmeiro | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @mgeier | @Nriver | @pre-commit-ci | @RRosio
Improve drag image styling #16936 (@JasonWeill)
Last Modified column is hidden #16962 (@krassowski)Services.Contents #16927 (@cmarmo)terminal.spec.ts #16942 (@holzman)docmanager/savehandler "continue to save" test #16933 (@holzman)IInlineCompletionItem.token #16959 (@fcollonval)Services.Contents #16927 (@cmarmo)Contents.IChangedArgs documentation #16918 (@cmarmo)(GitHub contributors page for this release)
@andrewfulton9 | @brichet | @cmarmo | @Darshan808 | @dependabot | @fcollonval | @holzman | @ianthomas23 | @itsmevichu | @JasonWeill | @jtpio | @jupyterlab-probot | @kellyrowland | @krassowski | @kuraga | @maitreya2954 | @pre-commit-ci
Fix setting allowed schemes on runtime using Sanitizer.setAllowedSchemes #17602 (@bsundaram1)
Sanitizer.setAllowedSchemes #17602 (@bsundaram1)altair to fix CI #17648 (@jtpio)(GitHub contributors page for this release)
@brichet | @github-actions | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @meeseeksmachine
Fix editing shortcuts on Safari (allow shortcut edit button to receive focus) #17511 (@minrk)
none windowing mode #17486 (@krassowski)tj-actions/changed-files #17399 (@jtpio)(GitHub contributors page for this release)
@afshin | @brichet | @Darshan808 | @fleming79 | @github-actions | @ianthomas23 | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @meeseeksmachine | @nkn2022 | @trungleduc
Bump semver and tough-cookie to non-vulnerable versions #17319 (@dlqqq)
semver and tough-cookie to non-vulnerable versions #17319 (@dlqqq)(GitHub contributors page for this release)
@afshin | @andrii-i | @bollwyvl | @Carreau | @Darshan808 | @dlqqq | @echarles | @fcollonval | @fleming79 | @github-actions | @hxrshxz | @ianthomas23 | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @martinRenou | @meeseeksmachine | @rpwagner | @RRosio | @trungleduc | @Zsailer
Fix scrolling and selection restoration on undo/redo #17158 (@krassowski)
lastCell from notebook run actions #17156 (@pawel99k)proxies parameter for httpx<0.28 #17113 (@AmberArr)bind(this) to NotebookAdapter's isReady function #17109 (@martenrichter)(GitHub contributors page for this release)
@afshin | @andreytaboola | @bollwyvl | @brichet | @Darshan808 | @davidbrochart | @echarles | @fcollonval | @github-actions | @hxrshxz | @ianthomas23 | @JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @meeseeksmachine | @SylvainCorlay
Sync Settings Editor with Updated Settings #17091 (@Darshan808)
navigator.language #17094 (@krassowski)(GitHub contributors page for this release)
@bollwyvl | @Darshan808 | @davidbrochart | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine
Use AsyncHTTPTransport over HTTPTransport for httpx #17058 (@krassowski)
AsyncHTTPTransport over HTTPTransport for httpx #17058 (@krassowski)nanoid from 3.3.6 to to 3.3.8 #17057 (@krassowski)httpx version window #17041 (@bollwyvl)(GitHub contributors page for this release)
@JasonWeill | @jtpio | @jupyterlab-probot | @krassowski | @meeseeksmachine
Improve performance of rendering stdout/stderr #17022 (@krassowski)
FileBrowserModel.onFileChanged for drives (including RTC:) #16988 (@davidbrochart)min-height when not windowing #16979 (@brichet)40.8.0 #17032 (@krassowski)httpx versions, bump httpx to v0.28.0 #17013 (@davidbrochart)(GitHub contributors page for this release)
@claytonparnell | @Darshan808 | @jtpio | @jupyterlab-probot | @krassowski | @lumberbot-app | @meeseeksmachine | @RRosio
Fix total size estimation in full windowing mode to reduce scrollbar jitter #16950 (@krassowski)
Last Modified column is hidden #16962 (@krassowski)Services.Contents #16927 (@cmarmo)IInlineCompletionItem.token #16959 (@fcollonval)Contents.IChangedArgs documentation #16918 (@cmarmo)(GitHub contributors page for this release)
@Darshan808 | @JasonWeill | @jtpio | @jupyterlab-probot | @kellyrowland | @krassowski | @kuraga | @meeseeksmachine
Your coding agent can read these notes before it upgrades. Set up the MCP server →