This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
Summary
AI summaryBroad release touches https://github.com/krassowski, Maintenance and upkeep improvements, Bugs fixed, and https://github.com/jtpio.
Full changelog
4.6.0
New features added
- Support horizontal activity bars #18832 (@jtpio, @krassowski)
- Expose cell index and cell count in the statusbar #18708 (@krassowski, @jtpio)
- Allow moving sections between panels #18703 (@Darshan808, @Carreau, @brichet, @jtpio, @krassowski)
- Make the breadcrumbs in filebrowser editable + completion #18571 (@Carreau, @krassowski)
- Add "Date Created" column to file browser #18533 (@ktaletsk, @RRosio, @cursoragent, @krassowski)
- Add command and buttons to select previous/next last modified cell #18210 (@Yahiewi, @brichet, @krassowski)
- feat(completer): Add syntax highlighting for ghost text #18073 (@MUFFANUJ, @Darshan808, @jtpio, @krassowski)
Deprecated features
- Replace deprecated
keyCodewithkey#18674 (@IsabelParedes, @krassowski) - Drives: Deprecate the notion of defaultContentProvider #18169 (@martinRenou, @brichet, @jasongrout, @jtpio, @krassowski)
Enhancements made
- Update lumino to
v2026.5.25#18942 (@krassowski, @jtpio) - Improve scroll overlay icon placement #18907 (@krassowski, @jtpio)
- Optimize resizing dock panels (with an opt-out) #18877 (@krassowski, @Darshan808)
- Use resolvePath API for traceback path resolution #18876 (@MUFFANUJ, @krassowski)
- Add loading animation for file browser refresh action #18855 (@Siddhazntx, @krassowski)
- Upgrade Stylelint to v16 #18848 (@MUFFANUJ, @krassowski)
- Add category-level ordering support for launcher sections via
categoryRank#18779 (@tsharma-dev, @MUFFANUJ, @krassowski) - File browser: replace Preferred icon to avoid confusion with Home #18773 (@tsharma-dev, @Carreau, @IsabelParedes, @krassowski)
- Ask if the user wants to sanitize HTML export and send param to jupyter server #18765 (@Yann-P, @krassowski)
- Add a setting to disable the dock panel padding #18760 (@jtpio, @krassowski)
- Remove Simple Mode switch from the status bar #18757 (@jtpio, @aarondr77, @krassowski)
- Add toggle command for output scrolling #18754 (@itsmejay80, @krassowski)
- Refactor shared document dirty state #18739 (@davidbrochart, @SylvainCorlay, @brichet, @jtpio, @krassowski)
- Restrict 1-6 shortcuts for converting cell to headings to Markdown cells #18734 (@krassowski, @jtpio)
- Add "toggle hidden file" to command palette #18732 (@Carreau, @krassowski)
- Add command and Command Palette entry for crumbs path edition #18729 (@Carreau, @Copilot, @krassowski)
- Integrate Plugin Playground into docs #18726 (@MUFFANUJ, @Carreau, @jtpio, @krassowski)
- Allow reset query parameter with values (e.g. ?reset=1) #18702 (@tubaman, @claude, @itsmejay80, @krassowski)
- Improve Keyboard Shortcuts in Settings Editor #18655 (@IsabelParedes, @krassowski)
- Fix accessibility of Keyboard Shortcuts dialog #18650 (@IsabelParedes, @jayaprajapatii, @krassowski)
- Update default font family to honor macOS system-wide ui-monospace #18647 (@flaviomartins, @krassowski)
- Add
deletabletoggle to common tools notebook widget #18645 (@cmarmo, @krassowski) - Improve focus indicators #18619 (@IsabelParedes, @krassowski)
- Expose
IDefaultFileBrowserRendererto customize the default file browser renderer #18600 (@jtpio, @krassowski) - Persist file browser sort state in state DB #18596 (@statxc, @krassowski)
- Add language pack installation support via Settings > Language menu #18595 (@bittoby, @krassowski)
- Improve screen reader behavior in launcher/notebook and add tests #18570 (@autodots-AHassan, @krassowski)
- Fall back to line comments when block comment syntax is unavailable #18563 (@altis0725, @claude, @krassowski)
- Render inline completion for all cursors #18555 (@MUFFANUJ, @krassowski)
- Clear file browser filter when changing directories #18548 (@RRosio, @Copilot, @krassowski)
- Galata: fix fonts and font rendering for consistency #18535 (@krassowski, @brichet, @jtpio)
- ENH: terminal shift enter #18523 (@ianhi, @jtpio, @krassowski)
- Expand the file browser breadcrumbs when there is space available adaptively #18430 (@MUFFANUJ, @krassowski)
- Add automated spell check for documentation #18398 (@MUFFANUJ, @Copilot, @krassowski)
- Add setting to paste code cells without their outputs #18390 (@MUFFANUJ, @aaron-seq, @krassowski, @superlevure)
- Add setting to choose file name sort order in the file browser #18388 (@MUFFANUJ, @krassowski)
- Add root option to limit FileDialog navigation to a subdirectory #18372 (@DeborahOlaboye, @krassowski)
- Enable moving the console prompt if the console is visible #18332 (@brichet, @krassowski)
- Allow preventing console title to update #18331 (@brichet, @krassowski)
- Add Ctrl+B shortcut to toggle bold formatting in markdown cells #18328 (@MUFFANUJ, @aaron-seq, @jasongrout, @krassowski)
- Added
interrupt_modeto the Kernel Spec interface #18307 (@fleming79, @krassowski) - add better colour to improve visibility against the background #18284 (@MUFFANUJ, @Darshan808)
- Add
Ctrl + Ykey binding for redo command on Windows and Linux #18275 (@soniya-malviy, @Darshan808, @krassowski) - Add 'Open in Terminal' from file browser context menu #18274 (@MUFFANUJ, @krassowski, @raffaelemancuso)
- Error background configurable from theme settings #18219 (@brichet, @krassowski)
- Add
Find and replacecommand to the Edit menu #18218 (@Meriem-BenIsmail, @brichet, @krassowski) - Debugger: Move the responsibility to set the current source to the sources model #18213 (@HaudinFlorence, @brichet, @jtpio, @krassowski, @martinRenou)
- Styling of settings array buttons #18211 (@brichet, @krassowski)
- Add commands to split main area widgets #18192 (@Meriem-BenIsmail, @brichet, @jtpio, @krassowski)
- Add a "Stop Debugger" button to the paused overlay #18184 (@arjxn-py, @jtpio, @krassowski, @martinRenou)
- Add confirmation step for cell toolbar "delete" button #18182 (@MUFFANUJ, @Darshan808, @krassowski)
- Detect and log slow plugins #18181 (@Darshan808, @jtpio, @krassowski)
- Add the 'jupyterlab' entry point #18158 (@brichet, @jasongrout, @jtpio)
- Make Kernel Info timeout editable #18137 (@linlol, @Darshan808, @jtpio, @krassowski)
- Add a setting to show file filter bar by default #18104 (@MUFFANUJ, @Darshan808, @krassowski)
- Automatically refresh Kernel Sources after cell execution #18081 (@arjxn-py, @Darshan808, @krassowski, @martinRenou)
- Move Kernel Sources filter bar to toolbar and enable live filtering #18079 (@arjxn-py, @jtpio, @krassowski, @martinRenou)
- Improve the error message provided when jupyterhub is missing #18060 (@frenzymadness, @Darshan808, @hroncok, @krassowski)
- Add copy/paste/cut for text in the notebook context menu #18030 (@Meriem-BenIsmail, @krassowski)
- Debugger: display sources in main area widgets #17986 (@HaudinFlorence, @RRosio, @SylvainCorlay, @brichet, @jtpio, @krassowski, @martinRenou)
- Use no-op manager if terminals are unavailable #17930 (@krassowski, @jasongrout, @jtpio)
Bugs fixed
- Fix flaky filebrowser filter navigation test #19015 (@MUFFANUJ, @krassowski)
- Forbid relative URLs in extensionmanager #19013 (@Yann-P, @krassowski)
- Avoid debugger toolbar button flicker during kernel startup #19006 (@MUFFANUJ, @krassowski)
- Fix XSS in extension manager's
homepage_url#19003 (@Yann-P, @krassowski) - Fix too eager autocompletion heuristics #19000 (@MUFFANUJ, @krassowski)
- Fix toolbar popup row clipping in Safari #18998 (@arun-357, @krassowski)
- Fix
HTMLSelectdropdown icon misalignment in toolbar popup #18996 (@arun-357, @claude, @krassowski) - Fix hidden cells after moving collapsed headings #18992 (@MUFFANUJ, @krassowski)
- Deduplicate concurrent LSP document connects by URI #18980 (@MUFFANUJ, @krassowski)
- Fix scrolling to heading in ToC, workspace opening and flaky UI tests #18961 (@krassowski, @jtpio)
- Fix read-only indicator #18960 (@davidbrochart, @jtpio, @krassowski)
- Forward port CodeMirror DOM compatibility patch #18947 (@krassowski, @Darshan808)
- Prevent dialog from hanging when
getValue()throws #18938 (@AliMahmoudDev, @krassowski) - Add
packagingmin version pin #18910 (@krassowski, @Darshan808) - Theme the CSV viewer scrollbar in dark themes #18892 (@dhgoal, @Darshan808, @krassowski)
- Use
TabBarSvg.titleLabelfallback in Open Tabs panel #18883 (@dhgoal, @krassowski) - Fix execution state and outputs after undo #18873 (@krassowski, @Darshan808)
- Accept
abortedstatus inIReplyAbortContent#18871 (@dhgoal, @krassowski) - Treat TypeDoc validation warnings as errors and and TSDoc linting #18859 (@MUFFANUJ, @krassowski)
- Fix opening notebook without a kernel if the kernel already exists by adding
shouldReusepreference #18856 (@MUFFANUJ, @krassowski) - Use CSS
anchorfor prompt overlay #18840 (@CrafterKolyan, @krassowski) - Fix
PanelWithToolbar: use optional toolbar in constructor options #18824 (@brichet, @krassowski) - Fix Kernel Sources tab reuse and line highlighting behavior #18809 (@MUFFANUJ, @krassowski)
- Fix notebook hang when dropping cells #18808 (@MUFFANUJ, @Meriem-BenIsmail, @krassowski)
- Fix
PageConfig.getUrlto honor explicit workspace option #18791 (@boskodev790, @krassowski) - Fix keyboard navigation for file browser bread crumbs #18767 (@IsabelParedes, @krassowski)
- Fix native context menu blocked even when context menu is suppressed #18753 (@utsav-develops, @krassowski)
- Fix Contextual Help keyboard shortcut reliability and menu Help functionality #18747 (@itsmejay80, @Copilot, @claude, @krassowski)
- Fix focusing input element when opening a dialog from Command Palette #18735 (@Carreau, @krassowski)
- Fix inconsistent width measurement for breadcrumbs #18728 (@Carreau, @krassowski)
- Fix keyboard navigation (tab trap) for terminal #18706 (@IsabelParedes, @krassowski)
- Contents Manager: Allow force renaming #18681 (@martinRenou, @krassowski)
- Fix ability to render cells as read-only via notebook factory override #18680 (@krassowski, @brichet)
- Fix inline completer space reservation settings having no effect #18662 (@moktamd, @krassowski)
- Fix version of
core.package.jsonin@jupyterlab/core-meta#18657 (@Darshan808, @krassowski) - Video and Audio Content Providers: Fix JupyterLite support #18652 (@martinRenou, @jtpio, @krassowski)
- Fix heading undo issue #18646 (@tsharma-dev, @MUFFANUJ, @krassowski)
- Deactivate the delete cell command icon on non deletable cells #18640 (@cmarmo, @krassowski, @nthiery)
- Fix keyboard navigation for console #18638 (@IsabelParedes, @krassowski)
- Fix flaky toolbar item placement in popup #18618 (@filipeoliveira05, @brichet, @krassowski)
- Harmonize translation wrappers in Python files to use
gettextmethods #18597 (@tmetzl, @krassowski) - Remove unimplemented
filebrowser:searchcommand #18593 (@krassowski, @jtpio) - Fix
filebrowser:create-new-filecontext menu selector #18588 (@jtpio, @krassowski) - Fix status bar focus outlines #18585 (@IsabelParedes, @krassowski)
- Prevent split/merge on non-editable cells #18579 (@MUFFANUJ, @krassowski)
- Fix single-character code blocks rendering as empty #18572 (@soniya-malviy, @krassowski)
- Hide
codeinput inCodeConsolewhen configured #18554 (@agriyakhetarpal, @krassowski) - Use a font size and family specified in CSS for
DataGrids #18542 (@krassowski, @Carreau, @brichet) - Fix
font-familyapplication across UI components and remove a single hard-coded usage #18541 (@krassowski, @Carreau, @jtpio) - Fix comms subshell resource management on disposal and when changing settings #18531 (@krassowski, @Carreau, @Copilot, @ianthomas23)
- Fix theme settings broken in non-English locales #18530 (@apoorvdarshan, @krassowski)
- Replace scrollback implementation with scroll anchoring outside of
fullwindowing mode #18522 (@krassowski, @jasongrout) - Fix XSRF cookie selection to use last matching value for duplicate paths #18518 (@reteps, @claude, @krassowski)
- Only turn off overflow anchor when windowing is active #18503 (@jasongrout, @krassowski)
- Upgrade
@codemirror/view, fixing slow selection when line wrapping is enabled #18479 (@krassowski, @jasongrout) - Prevent file browser from stealing focus on refresh #18478 (@MUFFANUJ, @krassowski)
- Avoid using system clipboard in Notebook widget #18474 (@brichet, @krassowski)
- Update CodeMirror versions, fixing a few selection issues #18466 (@krassowski, @jasongrout)
- Fix debugger variable panel to render value 0 properly #18464 (@itsmevichu, @krassowski)
- Bump Lumino packages to the 2026.2.5 release, fixing iframe resizing #18440 (@jasongrout, @krassowski)
- Fix persistent text highlight in inactive cells #18438 (@MUFFANUJ, @krassowski)
- Fix table of contents navigation for Markdown files #18411 (@itsmevichu, @krassowski)
- Consider both the content type and pattern match in
DocumentRegistry.getFileTypeForModel()#18409 (@krassowski, @jasongrout, @martinRenou) - Fix CVE-2025-13465 in
lodashandlodash-es#18400 (@ktaletsk, @jtpio, @krassowski) - Check Python version compatibility in Extension Manager #18393 (@MUFFANUJ, @krassowski)
- false in saveAs to avoid fetching file body #18379 (@DeborahOlaboye, @jasongrout)
- Fix focus of replace buttons in the document search box #18362 (@IsabelParedes, @krassowski)
- Fix deferred cell loading in
deferandcontentVisibilitywindowing mode #18359 (@krassowski, @Darshan808) - Fix error in console when the debugger switch from a module to another #18352 (@brichet, @krassowski)
- Fix "Open With > Editor" for
.pyfiles, update@luminopackages tov2026.1.15#18349 (@krassowski, @jasongrout) - Update CodeMirror to latest versions #18344 (@krassowski, @Darshan808, @jasongrout)
- Describe
kernelPreferenceandkernelcommand args #18337 (@jtpio, @krassowski) - Fix empty math block throws codemirror's error #18308 (@i-aki-y, @Darshan808, @krassowski)
- Fix cell footer width for smaller screens #18276 (@MUFFANUJ, @Darshan808, @krassowski)
- Update to Rspack
1.7.0-beta.1#18267 (@jtpio, @jasongrout, @krassowski) - Make system clipboard opt-in when performing copy/cut/paste of cells #18250 (@Darshan808, @krassowski)
- Make file browser listings respect the UI font size when renaming files #18249 (@agriyakhetarpal, @krassowski)
- Fix WebSocket
_onWSClosehandler: do not ignore close codes #18243 (@Akshitguptaa, @jianyexi, @krassowski) - Fix console commands enabled status if not in main area #18238 (@brichet, @krassowski)
- Fix merge breaking rendering cell order in
defermode #18220 (@krassowski, @brichet) - Fix inverted Unicode surrogate checks #18209 (@JamesWrigley, @krassowski)
- Fix scrolling to anchor from ToC/links in Markdown and HTML with data attributes #18208 (@pranshugupta01, @brichet, @krassowski)
- Fix search icon styling in command palette #18202 (@Meriem-BenIsmail, @jtpio, @krassowski)
- Fix
scrollPastEndfor text editors #18186 (@Meriem-BenIsmail, @krassowski) - Restore focus after closing the command palette #18167 (@Meriem-BenIsmail, @jasongrout, @krassowski)
- Enable undo/redo in JSON settings editor #18165 (@Meriem-BenIsmail, @krassowski)
- Allow adding shortcuts to commands without a default shortcut via UI #18163 (@brichet, @krassowski)
- Fix: Safely handle missing args in fileeditor:change-font-size label provider #18157 (@prajyot-porje, @Darshan808, @krassowski)
- Show rename dialog for new files moved before saving #18145 (@anafontan, @Darshan808, @ZhYGuoL, @jtpio)
- Fix Notebook Debugger: Missing Current-Line Highlight #18140 (@arjxn-py, @RRosio, @martinRenou)
- Debugger: Handle the case for editor being null #18124 (@martinRenou, @krassowski)
ToolbarButtonComponentandCommandToolbarButtonComponent: addAriaMenuButtonPropsto allow ARIA menu-button attributes #18118 (@agriyakhetarpal, @krassowski)- Debugger: Fix restart and debug command. #18115 (@HaudinFlorence, @RRosio, @brichet, @krassowski, @martinRenou)
- Respect the
activateoption when opening document widgets #18114 (@brichet, @krassowski) - Restore auto-resizing of the code console input prompts #17819 (@jtpio, @Darshan808, @agriyakhetarpal, @krassowski)
- Fix inconsistent state updates of toolbar buttons #17230 (@MUFFANUJ, @krassowski)
- Update
aria-pressedstate forToolbarButtonwhen pressed #17222 (@MUFFANUJ, @krassowski)
Maintenance and upkeep improvements
- Fix flaky 'Switch back and forth to reference page' test #19043 (@krassowski, @MUFFANUJ)
- Stabilize subpixel editor line shift on Welcome screenshot #19039 (@krassowski, @MUFFANUJ)
- Update
@jupyter/ydocto final 4.0 #19034 (@krassowski) - Split external link checks and only run if diff includes a URL #19029 (@MUFFANUJ, @krassowski)
- Baseline spelling cleanup for docs and README files #19025 (@MUFFANUJ, @krassowski)
- Make docs dependencies a dependency group #19024 (@MUFFANUJ, @bollwyvl, @krassowski)
- Update @jupyter/ydoc v4.0.0-b1 #19023 (@davidbrochart, @krassowski)
- Drop
setuptoolsdependency #19020 (@krassowski, @Darshan808, @MUFFANUJ, @bollwyvl) - Workaround flaky test for scrolling on page down in windowed notebook #19004 (@krassowski, @MUFFANUJ)
- Some linting improvements from the Scientific Python style guide #18990 (@Darshan808, @krassowski)
- Add tests for the readonly indicator #18982 (@jtpio, @krassowski)
- Update minimum mermaid to 11.15.0 and marked 17.0.6 #18958 (@bollwyvl, @krassowski)
- Ignore conda.io in addition to docs.conda.io #18954 (@krassowski, @Darshan808, @MUFFANUJ)
- Fix completer test failures on CI #18946 (@krassowski, @brichet)
- Update to Playwright 1.60 #18939 (@jtpio, @krassowski)
- Fix path navigator font and breadcrumbs test #18927 (@krassowski, @jtpio)
- Fix flaky example UI snapshot test by disabling cursor blinking #18925 (@tsharma-dev, @krassowski)
- Fix flaky test: wait for kernel startup before pressing Shift+Enter #18924 (@krassowski, @jtpio)
- Wait for cell toolbar before snapshot in markdown tests #18922 (@krassowski, @jasongrout)
- Hash-pin all GitHub Actions #18912 (@krassowski, @jtpio)
- Adopt
eslint-plugin-regexp#18908 (@krassowski, @Darshan808, @bollwyvl) - Harden GitHub actions #18901 (@krassowski, @Yann-P)
- Point to GitHub repo for shellcheck for now #18899 (@krassowski, @Darshan808)
- Add
zizmorGitHub Actions security linter #18898 (@krassowski, @Yann-P) - Harden galata update workflow #18896 (@krassowski, @Yann-P)
- Bump
jupyter-buildertov1.0.0b1#18895 (@Darshan808, @krassowski) - Ignore links to
docs.conda.iosince it returns 503 often #18890 (@krassowski, @afshin) - Fix
build:prod:minimize:*andbuild:statsscripts after rspack 2.0 upgrade #18882 (@krassowski, @Darshan808) - Bump
@jupyter/eslint-plugintov1#18863 (@Darshan808, @krassowski) - Add ShellCheck linting for scripts and docs #18858 (@MUFFANUJ, @krassowski)
- Enable
no-explicit-anywith bootstrap suppressions #18847 (@MUFFANUJ, @krassowski) - Fix labeler spec to
v6.1.0notv6.1#18844 (@krassowski, @jtpio) - Bump required labeler action to
v6.1#18842 (@krassowski, @jtpio) - Remove
@jupyterlab/builderpackage and all references to it #18841 (@Darshan808, @jtpio, @krassowski) - Drop serial mode from galata test suite #18838 (@krassowski, @MUFFANUJ)
- Remove vendored
yarn.js#18823 (@bollwyvl, @Darshan808, @krassowski) - Fix linting issue #18819 (@krassowski, @jtpio)
- Only download the merged blobs on re-runs #18801 (@krassowski, @MUFFANUJ)
- Allow to run a subset of UI test (once or more) from GitHub Actions UI #18800 (@krassowski, @Copilot, @MUFFANUJ)
- Expose link to UI tests report in comment with Binder link #18798 (@krassowski, @MUFFANUJ)
- Update to
jupyter-builder>=0.0.8#18792 (@jtpio, @Darshan808, @krassowski) - Remove unused CodeMirror v5 CSS rule #18785 (@Carreau, @krassowski)
- Remove unused Extension Manager CSS rules, add regression test #18784 (@Carreau, @krassowski)
- Bump
@jupyter/eslint-pluginand fix lint #18781 (@Darshan808, @krassowski) - Tell dependabot to ignore updates to
stagingdirectory as that is updated on release #18776 (@krassowski, @Copilot, @MUFFANUJ) - Remove unused CSS rule forgotten after CodeMirror migration #18763 (@Carreau, @krassowski)
- Remove dead
.jp-VariableRenderer-TrustButtonCSS rule #18762 (@Carreau, @krassowski) - Remove used
.jp-Cell-PlaceholderCSS rules #18761 (@Carreau, @krassowski) - Remove unused progress bar CSS rule in execution indicator #18759 (@Carreau, @krassowski)
- Workaround issue with merging shards on rerun of visual regression tests #18742 (@krassowski, @jtpio)
- Use
@jupyter/builderinstead of@jupyterlab/builder#18723 (@Darshan808, @jtpio, @krassowski) - Pin playwright in merge reports step of visual regression testing #18711 (@krassowski, @jtpio)
- Update to Playwright 1.59 #18710 (@jtpio, @krassowski)
- Debugger: Drop duplicate snapshots from debugger tests. #18690 (@HaudinFlorence, @krassowski)
- Fix debugger documentation snapshots and update docs #18688 (@krassowski, @HaudinFlorence, @bittoby)
- Implement updating JSON snapshots via new snapshots bot #18658 (@krassowski, @jtpio)
- Add tests for single-click navigation in filebrowser #18632 (@RRosio, @krassowski)
- Show
git statuson CI when integrity check fails #18630 (@krassowski, @jasongrout) - Merge documentation job into the sharded galata job #18629 (@krassowski, @jasongrout)
- Upload standalone playwright report for instant preview #18628 (@krassowski, @jasongrout)
- Update to Rspack 1.7.8 #18622 (@jtpio, @krassowski)
- Update CI install to use
uv pipoverpip#18621 (@krassowski, @jtpio) - Update to mermaid 11.13.0 and marked 17.0.4 #18617 (@bollwyvl, @krassowski)
- Include
@jupyter/eslint-plugin#18615 (@Darshan808, @krassowski) - Enforce that certain CSS rules use variables #18614 (@lin9long, @krassowski)
- Remove explicit timeouts in terminal playwright tests #18610 (@amanparganiha, @krassowski)
- Fix Playwright browser cache in linuxtests workflow #18603 (@rodrigosf672, @claude, @krassowski)
- Bump svgo from 3.3.2 to 3.3.3 #18601 (@krassowski)
- Update to Rspack 1.7.7 #18591 (@jtpio, @krassowski)
- Bump minimatch from 3.1.2 to 3.1.5 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #18581 (@krassowski)
- Bump minimatch from 3.1.2 to 3.1.5 in /jupyterlab/tests/mock_packages/test_no_hyphens #18580 (@krassowski)
- Bump actions/cache from 4 to 5 in the actions group #18578 (@krassowski)
- Bump minimatch from 3.0.5 to 3.1.4 #18573 (@krassowski)
- Install playwright browsers without dependencies #18568 (@krassowski, @jasongrout)
- Do not show banner in console when testing with galata (for now) #18564 (@krassowski, @jtpio, @peytondmurray)
- Add workflow for updating visual regression snapshots from artifacts #18559 (@krassowski, @jtpio)
- Make documentation snapshot update job use
update-snapshots-checkout#18550 (@krassowski, @jasongrout) - Update benchmark snapshots even if base snapshots require changes #18549 (@krassowski, @brichet)
- Upgrade verdaccio from
v5.33.0tov6.2.5#18545 (@krassowski, @jasongrout) - Drop
systeminformationdependency in favor of Node.js nativeosmodule #18544 (@krassowski, @brichet) - Add language packs for French and Chinese to binder env #18534 (@krassowski, @jasongrout)
- Add
@jupyterlab/core-metapackage for core metadata #18528 (@Darshan808, @krassowski) - Update to marked 17.0.2 and mermaid 11.12.3 #18526 (@bollwyvl, @krassowski)
- Debugger: delete the thread from the stopped before sending the 'continue' request #18509 (@brichet, @HaudinFlorence, @krassowski)
- Fix flaky completer tokens test #18506 (@krassowski, @jasongrout)
- Fix a few issues in config tests #18496 (@krassowski, @jasongrout)
- Fix more flaky tests #18495 (@krassowski, @jasongrout)
- Fix CodeQL
selfwarnings #18494 (@krassowski, @jasongrout) - Fix continued flakiness in 'Search in multiple selected cells' test #18493 (@jasongrout, @krassowski)
- Fix flaky subshell test #18492 (@krassowski, @jasongrout)
- Fix flaky search test by working around bug #18488 (@jasongrout, @krassowski)
- Fix useless conditionals noted by GitHub CodeQL #18486 (@jasongrout, @krassowski)
- Fix useless assignments to local variables noted by GitHub CodeQL #18485 (@jasongrout, @krassowski)
- Update locking workflow #18477 (@jasongrout, @krassowski)
- Bump webpack from 5.99.6 to 5.105.0 in /jupyterlab/tests/mock_packages/test_no_hyphens #18472 (@krassowski)
- Update to Rspack 2.0 #18467 (@jtpio, @Darshan808, @chenjiahan, @jasongrout, @krassowski)
- Make Python tests run faster on CI #18454 (@krassowski, @jasongrout)
- Fix flaky UI tests #18453 (@krassowski, @Copilot, @jasongrout)
- Fix
pre-commitprettierentry after upgrade to a new version #18452 (@krassowski, @brichet) - Bump webpack from 5.99.6 to 5.105.0 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #18449 (@jasongrout, @krassowski)
- Turn on
verbatimModuleSyntax#18446 (@jasongrout, @krassowski) - Use past tense in README when referencing JupyterLab 3 security fixes #18435 (@krassowski, @jasongrout)
- Migrate ESLint to v9 #18434 (@Darshan808, @bollwyvl, @jtpio, @krassowski)
- Update to Rspack 1.7.5 #18432 (@jtpio, @jasongrout, @krassowski)
- Use sharding for faster visual regression/integration tests #18427 (@krassowski, @bollwyvl, @jasongrout)
- Bump the actions group with 8 updates #18424 (@krassowski)
- Turn on Typescript
noImplicitThisoption and fix errors #18423 (@jasongrout, @aaron-seq, @krassowski) - Turn on Typescript
strictBuiltinIteratorReturnand fix errors #18421 (@jasongrout, @krassowski) - Update prettier, use cache and parallel CLI options #18420 (@bollwyvl, @jasongrout)
- Turn on Typescript
strictBindCallApplyoption #18418 (@jasongrout, @krassowski) - Turn on the Typescript alwaysStrict option #18414 (@jasongrout, @jtpio)
- Bump lodash-es from 4.17.21 to 4.17.23 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #18408 (@jtpio)
- Upgrade to Typescript 5.9 #18402 (@jasongrout, @jtpio)
- Update to Playwright 1.58.0 #18391 (@jtpio, @krassowski)
- Update release instructions #18375 (@jasongrout, @krassowski)
- Bump lodash-es from 4.17.21 to 4.17.23 in /jupyterlab/tests/mock_packages/test_no_hyphens #18371 (@krassowski)
- Bump diff from 5.1.0 to 5.2.2 #18364 (@krassowski)
- Update to Rspack 1.7.3 #18360 (@jtpio, @krassowski)
- Remove generated docs files from the repo #18340 (@jtpio, @krassowski)
- Bump
rufftarget topy310#18339 (@jtpio, @krassowski) - Fix UI tests: config useSystemClipboardForCells=true for notebook toolbar test #18335 (@brichet, @krassowski)
- Use reusable workflow action for checking permissions in the update-snapshots bot #18334 (@martinRenou, @krassowski)
- Bump to Rspack 1.7.2 #18333 (@jtpio, @krassowski)
- Bump node-forge from 1.3.1 to 1.3.3 #18329 (@krassowski)
- Bump vega-selections from 5.6.0 to 5.6.3 #18315 (@krassowski)
- Update to Rspack 1.7.1 #18312 (@jtpio, @krassowski)
- Update to Rspack
1.7.0#18300 (@jtpio, @Darshan808, @krassowski) - Fix the path of the uploaded artifiacts of galata report #18288 (@brichet, @Darshan808, @krassowski)
- Fix command palette accessibility test #18255 (@krassowski, @brichet)
- Make the plugin registry slow activation test more robust #18254 (@krassowski, @Darshan808)
- Update ui test triggers #18248 (@jasongrout, @Zsailer)
- Remove unused snapshot #18224 (@brichet, @jtpio, @krassowski)
- Bump systeminformation from 5.23.14 to 5.27.14 #18223 (@brichet, @krassowski)
- Prevent updating npm
nexttag for some versions of@jupyterlab/rendermime-interfaces#18217 (@jtpio, @krassowski) - Update to python 3.14, remove python 3.9 #18216 (@jasongrout, @brichet, @krassowski)
- Check if the list of commands, tokens and plugins has changed #18198 (@jtpio, @krassowski)
- Bump jws from 3.2.2 to 3.2.3 #18171 (@krassowski)
- Revert "Add the 'jupyterlab' entry point" #18166 (@jtpio, @jasongrout)
- Update to Playwright 1.57.0 #18151 (@jtpio, @krassowski)
- Prevent some supply-chain attack vectors #18142 (@jasongrout, @krassowski, @mfisher87)
- Linter: enforce "import type" when applicable #18129 (@martinRenou, @jasongrout, @jtpio, @krassowski)
- Update to
ruff==0.14.10and other pre-commit updates #17838 (@jtpio) - Add tests for browser window's selection #17718 (@MUFFANUJ, @Darshan808, @krassowski)
- Switch from
webpacktorspackfor bundling #16005 (@jtpio, @FoSuCloud, @chenjiahan, @erkin98, @jasongrout, @krassowski, @xc2)
Documentation improvements
- Update user-facing changelog for 4.6.0 RC #19019 (@krassowski, @Yann-P)
- Clarify TypeScript watch builds in documentation #18979 (@nightcityblade, @Darshan808, @krassowski)
- Fix typo in contributing docs #18971 (@TheChyeahhh, @krassowski)
- Fix typo in LSP documentation #18970 (@TheChyeahhh, @MUFFANUJ, @krassowski)
- Fix duplicated sentence in
showJumpToRecentExecutionButtondescription #18969 (@TheChyeahhh, @krassowski) - Fix typo in a shell test description #18968 (@TheChyeahhh, @krassowski)
- Mention JupyterLab 4.6.0 beta in installation guide and via a banner #18941 (@krassowski, @jtpio)
- User-facing changelog for 4.6 release #18932 (@krassowski, @jtpio)
- Migrate
Move Sectionsdocumentation tointerface_customization.md#18918 (@Darshan808, @krassowski) - Add
jupyter-buildersection in Extension Migration guide #18904 (@Darshan808, @krassowski) - Update documentation snapshot docs and document new CI trigger #18886 (@krassowski, @brichet)
- Add merge driver for png files #18885 (@krassowski, @brichet)
- Improve loading of interactive examples in documentation #18828 (@krassowski, @MUFFANUJ)
- Fix name of option for extension manager implementation in docs #18788 (@krassowski, @jtpio)
- Remove 4.5.0 announcement from docs #18740 (@krassowski, @Carreau)
- Fix notebook factory plugin description #18675 (@krassowski, @brichet)
- Fix a typo in documentation [skip ci] #18625 (@davidbrochart, @krassowski)
- Add default labels and behavior documentations for dialog buttons #18604 (@MUFFANUJ, @krassowski)
- Remove
enableImmutableInstallsfrom docs #18586 (@MUFFANUJ, @krassowski) - Add missing build step in services browser example README #18569 (@u-wlkjyy, @krassowski)
- Revise team section in README with governance updates #18483 (@krassowski, @andrii-i, @jasongrout)
- Fix inconsistent JupyterLab capitalization #18450 (@RamiNoodle733, @krassowski)
- Disclose AI usage in PR template #18413 (@jasongrout, @krassowski, @ktaletsk)
- Fix Contents API fetch documentation of the
contentdefault #18383 (@ceasermikes002, @brichet, @jasongrout, @krassowski) - Add installation instructions for JupyterLab with uv #18363 (@jimangel, @krassowski)
- Add AI rules #18322 (@jtpio, @andrii-i, @jasongrout, @krassowski)
- Clarify notebook and cell metadata API changes in JupyterLab 4 #18304 (@Krish-876, @krassowski)
- Add documentation of autosave option #18283 (@MUFFANUJ, @Darshan808, @jtpio, @krassowski)
- Document workspace selector and TopBar extension point #18272 (@Krish-876, @krassowski)
- Allow to zoom in/out individual widgets with ctrl + mouse wheel #18263 (@Meriem-BenIsmail, @RRosio, @krassowski)
- Document a change in the Code Editor source updates via
sharedModelin JupyterLab 4 #18260 (@Krish-876, @krassowski) - Document proxy environment variables for extension manager #18259 (@Krish-876, @krassowski)
- Fix broken see-also reference for
inspect_requestmessage #18234 (@Krish-876, @krassowski) - Docs: clarify edit mode vs command mode in notebooks #18222 (@harshaagrawal20, @krassowski)
- Update announcement and installation instructions post 4.5.0 final release #18125 (@krassowski, @jtpio, @ktaletsk)
- Clean up old references to restructured text #18123 (@jtpio, @krassowski)
- Add plotting and visualization documentation #18094 (@MMesch, @Darshan808, @krassowski)
- Allow moving widgets to different areas #17880 (@jtpio, @krassowski)
Other merged PRs
- Bump markdown-it from 14.1.0 to 14.2.0 #19041 (@krassowski)
- Bump form-data from 4.0.5 to 4.0.6 #19040 (@krassowski)
- Bump dompurify from 3.4.0 to 3.4.10 #19037 (@krassowski)
- Bump @babel/core from 7.21.0 to 7.29.6 #19036 (@krassowski)
- Bump @tootallnate/once from 2.0.0 to 2.0.1 #18930 (@krassowski)
- Bump ws from 8.18.1 to 8.20.1 in /jupyterlab/tests/mock_packages/test_no_hyphens #18913 (@krassowski)
- Bump brace-expansion from 5.0.3 to 5.0.6 #18900 (@brichet, @krassowski)
- Bump mermaid from 11.13.0 to 11.15.0 #18872 (@bollwyvl, @krassowski)
- Bump @babel/plugin-transform-modules-systemjs from 7.20.11 to 7.29.4 #18861 (@brichet)
- Bump fast-uri from 3.0.6 to 3.1.2 #18860 (@brichet, @krassowski)
- Bump axios from 1.8.2 to 1.16.0 #18843 (@krassowski)
- Bump postcss from 8.4.38 to 8.5.12 in /jupyterlab/tests/mock_packages/test_no_hyphens #18821 (@krassowski)
- Bump postcss from 8.5.6 to 8.5.12 #18805 (@krassowski)
- Bump postcss from 8.4.38 to 8.5.12 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #18793 (@krassowski)
- Bump follow-redirects from 1.15.11 to 1.16.0 #18783 (@krassowski)
- Bump dompurify from 3.3.3 to 3.4.0 #18775 (@krassowski)
- Bump lodash-es from 4.17.23 to 4.18.1 in /jupyterlab/tests/mock_packages/test_no_hyphens #18720 (@brichet)
- Bump lodash-es from 4.17.23 to 4.18.1 #18719 (@brichet, @krassowski)
- Bump lodash-es from 4.17.23 to 4.18.1 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #18718 (@brichet)
- Bump lodash from 4.17.21 to 4.18.1 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #18717 (@brichet)
- Bump lodash from 4.17.21 to 4.18.1 in /jupyterlab/tests/mock_packages/test_no_hyphens #18716 (@brichet)
- Bump path-to-regexp from 0.1.12 to 0.1.13 #18697 (@krassowski)
- Bump brace-expansion from 1.1.12 to 1.1.13 #18692 (@krassowski)
- Bump picomatch from 2.3.1 to 2.3.2 #18678 (@krassowski)
- Bump flatted from 3.4.1 to 3.4.2 #18669 (@krassowski)
- Bump socket.io-parser from 4.2.4 to 4.2.6 #18651 (@krassowski)
- Bump flatted from 3.3.3 to 3.4.1 #18641 (@krassowski)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@aaron-seq (activity) | @aarondr77 (activity) | @afshin (activity) | @agriyakhetarpal (activity) | @Akshitguptaa (activity) | @AliMahmoudDev (activity) | @altis0725 (activity) | @amanparganiha (activity) | @anafontan (activity) | @andrii-i (activity) | @apoorvdarshan (activity) | @arjxn-py (activity) | @arun-357 (activity) | @autodots-AHassan (activity) | @aviu16 (activity) | @bittoby (activity) | @bollwyvl (activity) | @boskodev790 (activity) | @brichet (activity) | @Carreau (activity) | @ceasermikes002 (activity) | @chenjiahan (activity) | @claude (activity) | @cmarmo (activity) | @Copilot (activity) | @CrafterKolyan (activity) | @cursoragent (activity) | @Darshan808 (activity) | @davidbrochart (activity) | @DeborahOlaboye (activity) | @dhgoal (activity) | @doshi-kevin (activity) | @erkin98 (activity) | @fcollonval (activity) | @filipeoliveira05 (activity) | @flaviomartins (activity) | @fleming79 (activity) | @FoSuCloud (activity) | @frenzymadness (activity) | @github29tani (activity) | @GlassOfWhiskey (activity) | @harshaagrawal20 (activity) | @HaudinFlorence (activity) | @hroncok (activity) | @i-aki-y (activity) | @ianhi (activity) | @ianthomas23 (activity) | @IsabelParedes (activity) | @itsmejay80 (activity) | @itsmevichu (activity) | @JamesWrigley (activity) | @jasongrout (activity) | @JasonWeill (activity) | @jayaprajapatii (activity) | @JaYRaNa213 (activity) | @jianyexi (activity) | @jimangel (activity) | @jtpio (activity) | @krassowski (activity) | @Krish-876 (activity) | @ktaletsk (activity) | @lin9long (activity) | @linlol (activity) | @martinRenou (activity) | @Meriem-BenIsmail (activity) | @mfisher87 (activity) | @MMesch (activity) | @moktamd (activity) | @MUFFANUJ (activity) | @nightcityblade (activity) | @nthiery (activity) | @peytondmurray (activity) | @prajyot-porje (activity) | @pranshugupta01 (activity) | @raffaelemancuso (activity) | @RamiNoodle733 (activity) | @reteps (activity) | @rodrigosf672 (activity) | @RRosio (activity) | @schmidi314 (activity) | @Siddhazntx (activity) | @soniya-malviy (activity) | @statxc (activity) | @superlevure (activity) | @SylvainCorlay (activity) | @TheChyeahhh (activity) | @tmetzl (activity) | @tsharma-dev (activity) | @tubaman (activity) | @u-wlkjyy (activity) | @utsav-develops (activity) | @xc2 (activity) | @Yahiewi (activity) | @Yann-P (activity) | @ZhYGuoL (activity) | @Zsailer (activity)
Security Fixes
- CVE-2025-13465
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]