Jupyterlab

Latest version: v4.3.3

Safety actively analyzes 688758 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 24

4.1

- when a user attempts to save a read-only document, a transient notification suggesting using "save as" is displayed
- when a user attempts to execute a cell before a slow-starting kernel has initialized, a notification is shown to indicate that the cell cannot be yet executed (this is opt-in and needs to be enabled in settings)

Full notebook windowing mode improvements

Notebooks in the `full` windowing mode only render the visible cells, significantly improving the performance of the application.
Numerous improvements for the full windowing mode behaviour (such as scrolling, search, rendering, and navigation) are included in this release (see the list of issues in [15258](https://github.com/jupyterlab/jupyterlab/issues/15258) for details).

{note}
The windowing mode is still experimental and known issues remain to be solved
([15415](https://github.com/jupyterlab/jupyterlab/issues/15415), [#15465](https://github.com/jupyterlab/jupyterlab/issues/15465), [#15594](https://github.com/jupyterlab/jupyterlab/issues/15594)).
In addition, a sporadic regression in cell ordering ([15610](https://github.com/jupyterlab/jupyterlab/issues/15610)) was observed in 4.1 beta,
and remains to be fixed, pending reports from users willing to test the windowing mode in JupyterLab 4.1 to help create reproducible steps that would enable fixing this issue.

Users who already enabled this mode in previous versions are advised to evaluate the benefits of fixes included in 4.1 against regressions linked above before deciding to upgrade.


Search improvements
- The search box will now grow automatically to accommodate longer text
- Search in selection can now be toggled using <kbd>Alt</kbd> + <kbd>L</kbd> and automatic search in selection can be configured in settings
- Tooltips with shortcuts were added to the buttons in the search box to improve discoverability of the shortcuts

Miscellaneous
- The current theme (dark/light) can now be synced with the browser/system preference (Settings menu → Theme → Synchronise with System Settings)
- A blue "read-only" status indicator is now displayed in the toolbar of documents which cannot be saved because their model is read-only.
- Native support for viewing jsonl/ndjson files was added
- Collapsing of breadcrumbs in the File Browser can be disabled in File Browser settings
- Extension manager can now use a HTTP proxy for fetching extensions

Moved plugins

Some internal JupyterLab plugins have been re-organized to allow for better flexibility for deployments and downstream applications like Notebook 7. This might affect users that disable specific plugins with the `jupyter labextension disable` command or the `disabledExtensions` config option.

- The `help:open` command is not defined in the `jupyterlab/help-extension:resources` plugin anymore, but has been moved to a new `jupyterlab/help-extension:open` plugin instead.

4.1.0

Not secure
([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.0.2...b887949d52310234144dd48496fa7a6f1fbb4645))

New features added

- Add virtual scrollbar component to windowed lists. [15533](https://github.com/jupyterlab/jupyterlab/pull/15533) ([afshin](https://github.com/afshin))
- Experimental inline completer [15160](https://github.com/jupyterlab/jupyterlab/pull/15160) ([krassowski](https://github.com/krassowski))
- Notebook execution history [15062](https://github.com/jupyterlab/jupyterlab/pull/15062) ([andrewfulton9](https://github.com/andrewfulton9))
- Load custom CSS functionality and documentation [14743](https://github.com/jupyterlab/jupyterlab/pull/14743) ([RRosio](https://github.com/RRosio))
- Add plugin manager and extension locks [14536](https://github.com/jupyterlab/jupyterlab/pull/14536) ([krassowski](https://github.com/krassowski))
- Open files from errors [13390](https://github.com/jupyterlab/jupyterlab/pull/13390) ([divyansshhh](https://github.com/divyansshhh))

Enhancements made

- Show toast notification for running code cell while kernel initializing [15421](https://github.com/jupyterlab/jupyterlab/pull/15421) ([misterfads](https://github.com/misterfads))
- Read only status notification on ctrl+s [15317](https://github.com/jupyterlab/jupyterlab/pull/15317) ([andrewfulton9](https://github.com/andrewfulton9))
- Store information about execution failure timing [15285](https://github.com/jupyterlab/jupyterlab/pull/15285) ([krassowski](https://github.com/krassowski))
- Add `defaultPath` option to set the default directory for file dialog [15282](https://github.com/jupyterlab/jupyterlab/pull/15282) ([mmichilot](https://github.com/mmichilot))
- Expand search box horizontally when text grows long [15266](https://github.com/jupyterlab/jupyterlab/pull/15266) ([sinistersnare](https://github.com/sinistersnare))
- Added alt descriptions to a few icon and images [15265](https://github.com/jupyterlab/jupyterlab/pull/15265) ([j264415](https://github.com/j264415))
- Custom kernel message serializer [15254](https://github.com/jupyterlab/jupyterlab/pull/15254) ([DonJayamanne](https://github.com/DonJayamanne))
- Improve docker script [15241](https://github.com/jupyterlab/jupyterlab/pull/15241) ([trungleduc](https://github.com/trungleduc))
- Clarify labels for user inputs and link dangling labels [15222](https://github.com/jupyterlab/jupyterlab/pull/15222) ([m158261](https://github.com/m158261))
- Add support for HTTP proxy in extension discovery [15219](https://github.com/jupyterlab/jupyterlab/pull/15219) ([dolevf](https://github.com/dolevf))
- Ensure consistent link underline and color on hover [15181](https://github.com/jupyterlab/jupyterlab/pull/15181) ([m158261](https://github.com/m158261))
- Add the standard SQL mimetype [15180](https://github.com/jupyterlab/jupyterlab/pull/15180) ([brichet](https://github.com/brichet))
- Page_config attribute to handle keydown event at bubbling phase [15142](https://github.com/jupyterlab/jupyterlab/pull/15142) ([brichet](https://github.com/brichet))
- Add more LSP request types [15064](https://github.com/jupyterlab/jupyterlab/pull/15064) ([krassowski](https://github.com/krassowski))
- Expose `processedItemsCache` as a protected in `CompleterModel` [15025](https://github.com/jupyterlab/jupyterlab/pull/15025) ([krassowski](https://github.com/krassowski))
- \[Accessibility\] Using arrow keys to navigate in toolbars items [15021](https://github.com/jupyterlab/jupyterlab/pull/15021) ([brichet](https://github.com/brichet))
- Remove the loop to discover transform function if not registered [14990](https://github.com/jupyterlab/jupyterlab/pull/14990) ([brichet](https://github.com/brichet))
- Fix `filebrowser.open` and add ability to provide a factory [14983](https://github.com/jupyterlab/jupyterlab/pull/14983) ([fcollonval](https://github.com/fcollonval))
- Use config compatible with notebook 7 [14978](https://github.com/jupyterlab/jupyterlab/pull/14978) ([fcollonval](https://github.com/fcollonval))
- Bump lumino packages [14945](https://github.com/jupyterlab/jupyterlab/pull/14945) ([fcollonval](https://github.com/fcollonval))
- Recommend major versions for Lab 3/Lab 4 compatible extensions [14908](https://github.com/jupyterlab/jupyterlab/pull/14908) ([JasonWeill](https://github.com/JasonWeill))
- Save and restore sidebar subpanels sizes and expansion states [14901](https://github.com/jupyterlab/jupyterlab/pull/14901) ([DenisaCG](https://github.com/DenisaCG))
- Improve upgrade extension script [14882](https://github.com/jupyterlab/jupyterlab/pull/14882) ([fcollonval](https://github.com/fcollonval))
- Add a setting to show full path in breadcrumbs [14866](https://github.com/jupyterlab/jupyterlab/pull/14866) ([dharmaquark](https://github.com/dharmaquark))
- Make status bar accessible at 400% zoom by hiding items with priority of zero (default) [14854](https://github.com/jupyterlab/jupyterlab/pull/14854) ([j264415](https://github.com/j264415))
- Add page option `copyAbsolutePath` enabling to copy absolute path [14842](https://github.com/jupyterlab/jupyterlab/pull/14842) ([pauky](https://github.com/pauky))
- feat: sync theme with system settings [14808](https://github.com/jupyterlab/jupyterlab/pull/14808) ([skyetim](https://github.com/skyetim))
- Adds rank to ICompletionProvider [14800](https://github.com/jupyterlab/jupyterlab/pull/14800) ([hbcarlos](https://github.com/hbcarlos))
- Add global keyboard shortcuts for all sidebar widgets [14799](https://github.com/jupyterlab/jupyterlab/pull/14799) ([g547315](https://github.com/g547315))
- Deprecates collaborative flag [14792](https://github.com/jupyterlab/jupyterlab/pull/14792) ([hbcarlos](https://github.com/hbcarlos))
- Add error indicator in Table of Contents [14784](https://github.com/jupyterlab/jupyterlab/pull/14784) ([skyetim](https://github.com/skyetim))
- output_area: Add expand/collapse icon in overlay prompt. [14640](https://github.com/jupyterlab/jupyterlab/pull/14640) ([brijsiyag](https://github.com/brijsiyag))
- Activate the deferred plugins after shell restore [14610](https://github.com/jupyterlab/jupyterlab/pull/14610) ([brichet](https://github.com/brichet))
- Add readonly indicator [14600](https://github.com/jupyterlab/jupyterlab/pull/14600) ([andrewfulton9](https://github.com/andrewfulton9))
- Fix skiplink and add placeholder for additional skiplinks [14597](https://github.com/jupyterlab/jupyterlab/pull/14597) ([t03857785](https://github.com/t03857785))
- Add shortcut tooltips to search buttons [14478](https://github.com/jupyterlab/jupyterlab/pull/14478) ([bikash30851](https://github.com/bikash30851))
- Add native viewing support for jsonl/ndjson [14460](https://github.com/jupyterlab/jupyterlab/pull/14460) ([timkpaine](https://github.com/timkpaine))
- Automatically toggle search in selection [14421](https://github.com/jupyterlab/jupyterlab/pull/14421) ([krassowski](https://github.com/krassowski))
- Update to marked 7.0.2, add mermaidjs 10.3.1 [14102](https://github.com/jupyterlab/jupyterlab/pull/14102) ([bollwyvl](https://github.com/bollwyvl))

Bugs fixed

- Fix scrollbars partially blocking code completion [15736](https://github.com/jupyterlab/jupyterlab/pull/15736) ([phil-zxx](https://github.com/phil-zxx))
- Fix running kernels listing for kernels without icons [15735](https://github.com/jupyterlab/jupyterlab/pull/15735) ([paolocarinci](https://github.com/paolocarinci))
- Fix cell toolbar getting stuck when using collapse cell [15732](https://github.com/jupyterlab/jupyterlab/pull/15732) ([FoSuCloud](https://github.com/FoSuCloud))
- Fix kernels sidepanel scrollbar [15718](https://github.com/jupyterlab/jupyterlab/pull/15718) ([FoSuCloud](https://github.com/FoSuCloud))
- Fix `overrides.json` not working for shortcuts [15716](https://github.com/jupyterlab/jupyterlab/pull/15716) ([krassowski](https://github.com/krassowski))
- Add scroll margin to headings for better alignment [15703](https://github.com/jupyterlab/jupyterlab/pull/15703) ([krassowski](https://github.com/krassowski))
- Fix scrolling on execution and switching notebook mode [15702](https://github.com/jupyterlab/jupyterlab/pull/15702) ([krassowski](https://github.com/krassowski))
- Fix shortcut UI failing on filtering when empty command is given [15695](https://github.com/jupyterlab/jupyterlab/pull/15695) ([krassowski](https://github.com/krassowski))
- Fix search highlights removal on clearing input box [15690](https://github.com/jupyterlab/jupyterlab/pull/15690) ([krassowski](https://github.com/krassowski))
- Remove the add cell button from the tabbable item [15679](https://github.com/jupyterlab/jupyterlab/pull/15679) ([brichet](https://github.com/brichet))
- Migrate to `user` level or to none (as fallback) [15678](https://github.com/jupyterlab/jupyterlab/pull/15678) ([krassowski](https://github.com/krassowski))
- Ensure void elements have closing slash in mermaid svg [15661](https://github.com/jupyterlab/jupyterlab/pull/15661) ([bollwyvl](https://github.com/bollwyvl))
- Fix jupyterlab downgrade issue on extension installation [15650](https://github.com/jupyterlab/jupyterlab/pull/15650) ([Sarthug99](https://github.com/Sarthug99))
- Fix outputarea package from not detecting updates [15642](https://github.com/jupyterlab/jupyterlab/pull/15642) ([MFA-X-AI](https://github.com/MFA-X-AI))
- Fix kernel shortcuts, add migration, fix defaults population [15639](https://github.com/jupyterlab/jupyterlab/pull/15639) ([krassowski](https://github.com/krassowski))
- Fix new line getting inserted when running cells with `Ctrl` + `Enter` [15638](https://github.com/jupyterlab/jupyterlab/pull/15638) ([krassowski](https://github.com/krassowski))
- Fix markdown getting un-rendered when focusing on a different cell [15634](https://github.com/jupyterlab/jupyterlab/pull/15634) ([krassowski](https://github.com/krassowski))
- Fixes focus indicator on input checkbox for Firefox [15612](https://github.com/jupyterlab/jupyterlab/pull/15612) ([alden-ilao](https://github.com/alden-ilao))
- Upgrade jupyter-ui-toolkit [15600](https://github.com/jupyterlab/jupyterlab/pull/15600) ([fcollonval](https://github.com/fcollonval))
- Fix ctrl+s notification incorrectly showing up in RTC mode [15597](https://github.com/jupyterlab/jupyterlab/pull/15597) ([andrewfulton9](https://github.com/andrewfulton9))
- Fix spurious "File Changed" dialogs using `hash` from `jupyter-server` v2.11.1+ [15577](https://github.com/jupyterlab/jupyterlab/pull/15577) ([Wh1isper](https://github.com/Wh1isper))
- Accept/invoke inline completions with `Tab` [15571](https://github.com/jupyterlab/jupyterlab/pull/15571) ([krassowski](https://github.com/krassowski))
- Show the notification center if the status bar is disabled [15568](https://github.com/jupyterlab/jupyterlab/pull/15568) ([jtpio](https://github.com/jtpio))
- Fixes the order of items in notebook toolbar [15553](https://github.com/jupyterlab/jupyterlab/pull/15553) ([brichet](https://github.com/brichet))
- Add a title to the Plugin Manager widget [15552](https://github.com/jupyterlab/jupyterlab/pull/15552) ([jtpio](https://github.com/jtpio))
- Link to paths starting at Unix-style root in the tracebacks [15548](https://github.com/jupyterlab/jupyterlab/pull/15548) ([krassowski](https://github.com/krassowski))
- Fix `jupyter labextension watch --help` [15542](https://github.com/jupyterlab/jupyterlab/pull/15542) ([akx](https://github.com/akx))
- Implement `level` trait for plugin/extension managers [15512](https://github.com/jupyterlab/jupyterlab/pull/15512) ([krassowski](https://github.com/krassowski))
- Fix display of float variables with value of infinity in the debugger tree [15487](https://github.com/jupyterlab/jupyterlab/pull/15487) ([ashna1jain](https://github.com/ashna1jain))
- Workaround focus leaving input box on consecutive submissions [15479](https://github.com/jupyterlab/jupyterlab/pull/15479) ([krassowski](https://github.com/krassowski))
- Fix `FormComponent` showing error indicators in all fields when using a `customValidate` function [15464](https://github.com/jupyterlab/jupyterlab/pull/15464) ([mmichilot](https://github.com/mmichilot))
- Fix file dialog contents loading with `defaultPath`, and model disposal [15463](https://github.com/jupyterlab/jupyterlab/pull/15463) ([mmichilot](https://github.com/mmichilot))
- Fix search CM set up [15459](https://github.com/jupyterlab/jupyterlab/pull/15459) ([fcollonval](https://github.com/fcollonval))
- Fix search coming back in notebook and editor [15443](https://github.com/jupyterlab/jupyterlab/pull/15443) ([krassowski](https://github.com/krassowski))
- Fix Shift + L not working in stdin [15440](https://github.com/jupyterlab/jupyterlab/pull/15440) ([krassowski](https://github.com/krassowski))
- Scroll to the active cell when typing (in edit mode) [15413](https://github.com/jupyterlab/jupyterlab/pull/15413) ([brichet](https://github.com/brichet))
- Don't play with the focus when handling focus event [15408](https://github.com/jupyterlab/jupyterlab/pull/15408) ([fcollonval](https://github.com/fcollonval))
- Updated light theme visited link colour to make text visible [15406](https://github.com/jupyterlab/jupyterlab/pull/15406) ([m158261](https://github.com/m158261))
- Optimized and more robust PyPIExtensionManager [15404](https://github.com/jupyterlab/jupyterlab/pull/15404) ([fcollonval](https://github.com/fcollonval))
- Do not update filebrowser breadcrumbs when not needed [15387](https://github.com/jupyterlab/jupyterlab/pull/15387) ([krassowski](https://github.com/krassowski))
- Improve scrolling to heading [15386](https://github.com/jupyterlab/jupyterlab/pull/15386) ([fcollonval](https://github.com/fcollonval))
- Don't show default value for objects in Settings Editor [15380](https://github.com/jupyterlab/jupyterlab/pull/15380) ([firai](https://github.com/firai))
- Fix highlighting search in an out-of-viewport cell [15376](https://github.com/jupyterlab/jupyterlab/pull/15376) ([fcollonval](https://github.com/fcollonval))
- Remove unnecessary requirement from codemirror service plugin [15362](https://github.com/jupyterlab/jupyterlab/pull/15362) ([paulkim3151](https://github.com/paulkim3151))
- Update notebook window on resize if height changes [15357](https://github.com/jupyterlab/jupyterlab/pull/15357) ([krassowski](https://github.com/krassowski))
- Fix scrolling past long outputs in presence of un-rendered headings [15356](https://github.com/jupyterlab/jupyterlab/pull/15356) ([krassowski](https://github.com/krassowski))
- Fix missing default property breaking codemirror `overrides.json` [15346](https://github.com/jupyterlab/jupyterlab/pull/15346) ([LJMP](https://github.com/e4e))
- Fix update button in extension manager [15331](https://github.com/jupyterlab/jupyterlab/pull/15331) ([nbowditch-einblick](https://github.com/nbowditch-einblick))
- Fix collapsed cells styling [15322](https://github.com/jupyterlab/jupyterlab/pull/15322) ([fcollonval](https://github.com/fcollonval))
- Fix scrolling when dragging files in the file browser [15318](https://github.com/jupyterlab/jupyterlab/pull/15318) ([krassowski](https://github.com/krassowski))
- Improve cell toolbar tracker [15314](https://github.com/jupyterlab/jupyterlab/pull/15314) ([fcollonval](https://github.com/fcollonval))
- Declare Webpack loaders with `require.resolve()` [15299](https://github.com/jupyterlab/jupyterlab/pull/15299) ([tibdex](https://github.com/tibdex))
- Fix autobrackets and other default CM extension [15297](https://github.com/jupyterlab/jupyterlab/pull/15297) ([fcollonval](https://github.com/fcollonval))
- Fix rulers position with gutter width [15296](https://github.com/jupyterlab/jupyterlab/pull/15296) ([fcollonval](https://github.com/fcollonval))
- Fix overreactive scrolling to next cell after `Shift + Enter` [15288](https://github.com/jupyterlab/jupyterlab/pull/15288) ([krassowski](https://github.com/krassowski))
- Keep active cell rendered in the `full` windowed mode [15286](https://github.com/jupyterlab/jupyterlab/pull/15286) ([krassowski](https://github.com/krassowski))
- Fix connection loop issue with standalone foreign document in LSP [15262](https://github.com/jupyterlab/jupyterlab/pull/15262) ([trungleduc](https://github.com/trungleduc))
- Update virtual documents conditionally [15250](https://github.com/jupyterlab/jupyterlab/pull/15250) ([trungleduc](https://github.com/trungleduc))
- Fix completer documentation panel hiding and animation [15238](https://github.com/jupyterlab/jupyterlab/pull/15238) ([krassowski](https://github.com/krassowski))
- Fix MathJax font override, avoid double initialization [15230](https://github.com/jupyterlab/jupyterlab/pull/15230) ([bollwyvl](https://github.com/bollwyvl))
- Fix expanionStates error [15225](https://github.com/jupyterlab/jupyterlab/pull/15225) ([DenisaCG](https://github.com/DenisaCG))
- Fix clicking in the TOC does not scroll [15184](https://github.com/jupyterlab/jupyterlab/pull/15184) ([parmentelat](https://github.com/parmentelat))
- Fix translation for Mermaid JS context menu label [15178](https://github.com/jupyterlab/jupyterlab/pull/15178) ([Deepali1211](https://github.com/Deepali1211))
- Restore syntax highlighting for mimetypes with more than one identifier [15175](https://github.com/jupyterlab/jupyterlab/pull/15175) ([jans-code](https://github.com/jans-code))
- Restore horizontal scrolling of outputs for Firefox [15171](https://github.com/jupyterlab/jupyterlab/pull/15171) ([fcollonval](https://github.com/fcollonval))
- Fix Show Keyboard Shortcuts command [15170](https://github.com/jupyterlab/jupyterlab/pull/15170) ([jtpio](https://github.com/jtpio))
- Copy absolute path with first slash in the file browser [15168](https://github.com/jupyterlab/jupyterlab/pull/15168) ([pauky](https://github.com/pauky))
- Fix completer width inflation and jitter [15132](https://github.com/jupyterlab/jupyterlab/pull/15132) ([krassowski](https://github.com/krassowski))
- Fix selection in active line [15129](https://github.com/jupyterlab/jupyterlab/pull/15129) ([krassowski](https://github.com/krassowski))
- Fix documentation panel display logic of the completer [15106](https://github.com/jupyterlab/jupyterlab/pull/15106) ([trungleduc](https://github.com/trungleduc))
- Remove `unusedDocuments`, fix culling of foreign documents [15105](https://github.com/jupyterlab/jupyterlab/pull/15105) ([krassowski](https://github.com/krassowski))
- Fix return type of `getMimeTypeByLanguage()` [15101](https://github.com/jupyterlab/jupyterlab/pull/15101) ([krassowski](https://github.com/krassowski))
- Fix background-color in `<select>` elements in dark theme [15098](https://github.com/jupyterlab/jupyterlab/pull/15098) ([Rmarieta](https://github.com/Rmarieta))
- Check applicable provider in ProviderReconciliator [15094](https://github.com/jupyterlab/jupyterlab/pull/15094) ([trungleduc](https://github.com/trungleduc))
- Fix text wrapping in the search box [15080](https://github.com/jupyterlab/jupyterlab/pull/15080) ([eliaslma](https://github.com/eliaslma))
- Fix `_updateConstraints` missing `protected`/`private` classifier. [15066](https://github.com/jupyterlab/jupyterlab/pull/15066) ([krassowski](https://github.com/krassowski))
- Completer: switch renderer & model on update, update on providers change [15065](https://github.com/jupyterlab/jupyterlab/pull/15065) ([krassowski](https://github.com/krassowski))
- `HoverBox`: adjust `right` when moving node to fit within window [15052](https://github.com/jupyterlab/jupyterlab/pull/15052) ([krassowski](https://github.com/krassowski))
- Do not shrink completer's documentation panel [15024](https://github.com/jupyterlab/jupyterlab/pull/15024) ([krassowski](https://github.com/krassowski))
- Pass completion context to `shouldShowContinuousHint()` [15015](https://github.com/jupyterlab/jupyterlab/pull/15015) ([krassowski](https://github.com/krassowski))
- fixes codemirror settings [15009](https://github.com/jupyterlab/jupyterlab/pull/15009) ([andrewfulton9](https://github.com/andrewfulton9))
- Define cells to run as independent of selection [14996](https://github.com/jupyterlab/jupyterlab/pull/14996) ([krassowski](https://github.com/krassowski))
- Fix translation syntax to extract it by the parser [14979](https://github.com/jupyterlab/jupyterlab/pull/14979) ([fcollonval](https://github.com/fcollonval))
- added title to Close tab icon [14973](https://github.com/jupyterlab/jupyterlab/pull/14973) ([j264415](https://github.com/j264415))
- Allow opening links in new tabs when HTML is trusted [14933](https://github.com/jupyterlab/jupyterlab/pull/14933) ([yuvipanda](https://github.com/yuvipanda))
- Custom script to upgrade `staging/yarn.lock` [14926](https://github.com/jupyterlab/jupyterlab/pull/14926) ([fcollonval](https://github.com/fcollonval))
- Fix incorrect indentation browser_check.py [14921](https://github.com/jupyterlab/jupyterlab/pull/14921) ([mctoohey](https://github.com/mctoohey))
- Improve LSP API [14920](https://github.com/jupyterlab/jupyterlab/pull/14920) ([hbcarlos](https://github.com/hbcarlos))
- Make the DOM structure of linked output views more similar to outputs [14911](https://github.com/jupyterlab/jupyterlab/pull/14911) ([SylvainCorlay](https://github.com/SylvainCorlay))
- In defer mode render enough cells to fill the viewport [14865](https://github.com/jupyterlab/jupyterlab/pull/14865) ([fcollonval](https://github.com/fcollonval))
- Fix CodeMirror tooltip positioning and tooltip background [14858](https://github.com/jupyterlab/jupyterlab/pull/14858) ([krassowski](https://github.com/krassowski))
- Enable keyboard navigation in the statusbar [14853](https://github.com/jupyterlab/jupyterlab/pull/14853) ([j264415](https://github.com/j264415))
- fix: update blocked extensions uris [14846](https://github.com/jupyterlab/jupyterlab/pull/14846) ([emmanuel-ferdman](https://github.com/emmanuel-ferdman))
- Fix CodeMirror theme selection background color [14841](https://github.com/jupyterlab/jupyterlab/pull/14841) ([AllanChain](https://github.com/AllanChain))
- Fix icon and theme/styles for grid in CSV/TSV viewer [14822](https://github.com/jupyterlab/jupyterlab/pull/14822) ([krassowski](https://github.com/krassowski))
- Adds this context when calling ICompletionProvider.modelFactory [14812](https://github.com/jupyterlab/jupyterlab/pull/14812) ([hbcarlos](https://github.com/hbcarlos))
- Adds missing parameters to ICompleterProvider API [14809](https://github.com/jupyterlab/jupyterlab/pull/14809) ([hbcarlos](https://github.com/hbcarlos))
- Blur footer for any key that triggers a 'select above', not just ArrowUp [14796](https://github.com/jupyterlab/jupyterlab/pull/14796) ([smacke](https://github.com/smacke))
- Fix incorrect CSS value for statusbar popover shadow [14789](https://github.com/jupyterlab/jupyterlab/pull/14789) ([krassowski](https://github.com/krassowski))
- Emit changed signal from output area when an output is updated [14785](https://github.com/jupyterlab/jupyterlab/pull/14785) ([bollwyvl](https://github.com/bollwyvl))
- Removes context data from shared model [14771](https://github.com/jupyterlab/jupyterlab/pull/14771) ([hbcarlos](https://github.com/hbcarlos))
- fix: out of order headings display in toc [14753](https://github.com/jupyterlab/jupyterlab/pull/14753) ([skyetim](https://github.com/skyetim))
- Fix indentation problem after multi-line Python function definition [14748](https://github.com/jupyterlab/jupyterlab/pull/14748) ([FoSuCloud](https://github.com/FoSuCloud))
- Fix View Menu "Show line number" does not show its corresponding shortcut [14740](https://github.com/jupyterlab/jupyterlab/pull/14740) ([FoSuCloud](https://github.com/FoSuCloud))
- Fix kernel message deserialization [14721](https://github.com/jupyterlab/jupyterlab/pull/14721) ([davidbrochart](https://github.com/davidbrochart))
- Expose `serverCapabilities`, `provides`, and `updateLogging` [14712](https://github.com/jupyterlab/jupyterlab/pull/14712) ([krassowski](https://github.com/krassowski))
- Fix HTML lang being set to 'default' resulting in blind users with screenreader reading everything in German [14705](https://github.com/jupyterlab/jupyterlab/pull/14705) ([andrii-i](https://github.com/andrii-i))
- Ensure the kernel selector show the default kernel if notebook does not have a valid assigned kernel [14693](https://github.com/jupyterlab/jupyterlab/pull/14693) ([echarles](https://github.com/echarles))
- Add a title to the Markdown Preview widget [14681](https://github.com/jupyterlab/jupyterlab/pull/14681) ([jtpio](https://github.com/jtpio))
- Fix semantic commands enabled status [14664](https://github.com/jupyterlab/jupyterlab/pull/14664) ([fcollonval](https://github.com/fcollonval))
- Improve typing to avoid bad usage of `context.contentsModel.content` [14660](https://github.com/jupyterlab/jupyterlab/pull/14660) ([fcollonval](https://github.com/fcollonval))
- Hide completer when changing notebook tabs [14534](https://github.com/jupyterlab/jupyterlab/pull/14534) ([nishikantparmariam](https://github.com/nishikantparmariam))
- Add min width to constrain resizing in side-by-side view [14529](https://github.com/jupyterlab/jupyterlab/pull/14529) ([dharmaquark](https://github.com/dharmaquark))
- Fix tab trap notebook cells [14115](https://github.com/jupyterlab/jupyterlab/pull/14115) ([gabalafou](https://github.com/gabalafou))

Maintenance and upkeep improvements

- Bump the actions group with 3 updates [15728](https://github.com/jupyterlab/jupyterlab/pull/15728) ([dependabot](https://github.com/dependabot))
- Bump the actions group with 3 updates [15727](https://github.com/jupyterlab/jupyterlab/pull/15727) ([dependabot](https://github.com/dependabot))
- Replace `ifaxity/wait-on-action` wrapper with direct `wait-on` use [15721](https://github.com/jupyterlab/jupyterlab/pull/15721) ([krassowski](https://github.com/krassowski))
- Run Mermaid tests on CI [15717](https://github.com/jupyterlab/jupyterlab/pull/15717) ([krassowski](https://github.com/krassowski))
- Bump hatchling [15694](https://github.com/jupyterlab/jupyterlab/pull/15694) ([fcollonval](https://github.com/fcollonval))
- Switch from `pytest-tornasync` to `pytest-jupyter` [15662](https://github.com/jupyterlab/jupyterlab/pull/15662) ([KiranmaiKalla](https://github.com/KiranmaiKalla))
- Update to mermaid 10.7.0 [15647](https://github.com/jupyterlab/jupyterlab/pull/15647) ([bollwyvl](https://github.com/bollwyvl))
- Use jlpm for docs snapshots too [15646](https://github.com/jupyterlab/jupyterlab/pull/15646) ([krassowski](https://github.com/krassowski))
- Use `jlpm` as npm client for snapshot updates [15641](https://github.com/jupyterlab/jupyterlab/pull/15641) ([krassowski](https://github.com/krassowski))
- Fix syntax error in benchmark workflow [15630](https://github.com/jupyterlab/jupyterlab/pull/15630) ([krassowski](https://github.com/krassowski))
- Bump follow-redirects from 1.15.2 to 1.15.4 [15622](https://github.com/jupyterlab/jupyterlab/pull/15622) ([dependabot](https://github.com/dependabot))
- Bump the actions group with 1 update [15620](https://github.com/jupyterlab/jupyterlab/pull/15620) ([dependabot](https://github.com/dependabot))
- Bump the actions group with 2 updates [15619](https://github.com/jupyterlab/jupyterlab/pull/15619) ([dependabot](https://github.com/dependabot))
- Fix dependabot config [15618](https://github.com/jupyterlab/jupyterlab/pull/15618) ([fcollonval](https://github.com/fcollonval))
- Restore previous Galata `page.filebrowser.refresh()` timeout logic [15607](https://github.com/jupyterlab/jupyterlab/pull/15607) ([jtpio](https://github.com/jtpio))
- Revert "Bump actions/labeler from 4 to 5" [15593](https://github.com/jupyterlab/jupyterlab/pull/15593) ([jtpio](https://github.com/jtpio))
- Group dependabot updates [15592](https://github.com/jupyterlab/jupyterlab/pull/15592) ([jtpio](https://github.com/jtpio))
- Bump pandas from 2.1.3 to 2.1.4 [15588](https://github.com/jupyterlab/jupyterlab/pull/15588) ([dependabot](https://github.com/dependabot))
- Bump altair from 5.1.2 to 5.2.0 [15585](https://github.com/jupyterlab/jupyterlab/pull/15585) ([dependabot](https://github.com/dependabot))
- Bump actions/stale from 8 to 9 [15583](https://github.com/jupyterlab/jupyterlab/pull/15583) ([dependabot](https://github.com/dependabot))
- Bump actions/labeler from 4 to 5 [15582](https://github.com/jupyterlab/jupyterlab/pull/15582) ([dependabot](https://github.com/dependabot))
- Bump tj-actions/changed-files from 40.2.0 to 41.0.1 [15581](https://github.com/jupyterlab/jupyterlab/pull/15581) ([dependabot](https://github.com/dependabot))
- Bump github/codeql-action from 2 to 3 [15580](https://github.com/jupyterlab/jupyterlab/pull/15580) ([dependabot](https://github.com/dependabot))
- Update to `actions/upload-artifactv4` and `action/download-artifactv4` [15536](https://github.com/jupyterlab/jupyterlab/pull/15536) ([jtpio](https://github.com/jtpio))
- Restore some CSS rules for backward compatibility [15530](https://github.com/jupyterlab/jupyterlab/pull/15530) ([brichet](https://github.com/brichet))
- Ignore `ipython` in dependabot updates [15528](https://github.com/jupyterlab/jupyterlab/pull/15528) ([jtpio](https://github.com/jtpio))
- Revert "Bump yarn to 3.6.4" [15526](https://github.com/jupyterlab/jupyterlab/pull/15526) ([jtpio](https://github.com/jtpio))
- Fix visual tests, allow to disable termianal cursor blinking [15524](https://github.com/jupyterlab/jupyterlab/pull/15524) ([krassowski](https://github.com/krassowski))
- Manually trigger benchmark tests instead of running them on `pull_request_review` [15523](https://github.com/jupyterlab/jupyterlab/pull/15523) ([jtpio](https://github.com/jtpio))
- Clean up eslint scripts in the translation packages [15504](https://github.com/jupyterlab/jupyterlab/pull/15504) ([jtpio](https://github.com/jtpio))
- Bump ESLint dependencies [15502](https://github.com/jupyterlab/jupyterlab/pull/15502) ([jtpio](https://github.com/jtpio))
- Adopt ruff format [15499](https://github.com/jupyterlab/jupyterlab/pull/15499) ([jtpio](https://github.com/jtpio))
- Pin `actions/labeler` to v4 to fix failing CI action [15496](https://github.com/jupyterlab/jupyterlab/pull/15496) ([krassowski](https://github.com/krassowski))
- Bump jupyterlab-language-pack-zh-cn from 4.0.post3 to 4.0.post6 [15477](https://github.com/jupyterlab/jupyterlab/pull/15477) ([dependabot](https://github.com/dependabot))
- Bump matplotlib from 3.7.2 to 3.8.2 [15475](https://github.com/jupyterlab/jupyterlab/pull/15475) ([dependabot](https://github.com/dependabot))
- Bump scipy from 1.11.3 to 1.11.4 [15474](https://github.com/jupyterlab/jupyterlab/pull/15474) ([dependabot](https://github.com/dependabot))
- Bump pandas from 2.1.2 to 2.1.3 [15473](https://github.com/jupyterlab/jupyterlab/pull/15473) ([dependabot](https://github.com/dependabot))
- Bump dessant/lock-threads from 4 to 5 [15472](https://github.com/jupyterlab/jupyterlab/pull/15472) ([dependabot](https://github.com/dependabot))
- Bump tj-actions/changed-files from 40.0.2 to 40.2.0 [15471](https://github.com/jupyterlab/jupyterlab/pull/15471) ([dependabot](https://github.com/dependabot))
- Bump actions/github-script from 6 to 7 [15470](https://github.com/jupyterlab/jupyterlab/pull/15470) ([dependabot](https://github.com/dependabot))
- Bump rjsf to 5.13.4 [15469](https://github.com/jupyterlab/jupyterlab/pull/15469) ([mmichilot](https://github.com/mmichilot))
- Fix URLs in debugger-extension [15462](https://github.com/jupyterlab/jupyterlab/pull/15462) ([fcollonval](https://github.com/fcollonval))
- Upgrade releaser workflows for silent support, use npm provenance and PyPI trusted publishers [15446](https://github.com/jupyterlab/jupyterlab/pull/15446) ([fcollonval](https://github.com/fcollonval))
- Maintenance bump lumino [15405](https://github.com/jupyterlab/jupyterlab/pull/15405) ([fcollonval](https://github.com/fcollonval))
- Bump axios from 1.3.4 to 1.6.1 [15385](https://github.com/jupyterlab/jupyterlab/pull/15385) ([dependabot](https://github.com/dependabot))
- Update jupyter/ydoc in dev_mode [15383](https://github.com/jupyterlab/jupyterlab/pull/15383) ([fcollonval](https://github.com/fcollonval))
- Exclude ipynb files in prettier pre-commit [15378](https://github.com/jupyterlab/jupyterlab/pull/15378) ([brichet](https://github.com/brichet))
- More robust galata/UI tests [15355](https://github.com/jupyterlab/jupyterlab/pull/15355) ([krassowski](https://github.com/krassowski))
- Bump tj-actions/changed-files from 39.2.0 to 40.0.2 [15342](https://github.com/jupyterlab/jupyterlab/pull/15342) ([dependabot](https://github.com/dependabot))
- Bump ipywidgets from 8.1.0 to 8.1.1 [15340](https://github.com/jupyterlab/jupyterlab/pull/15340) ([dependabot](https://github.com/dependabot))
- Bump altair from 5.1.1 to 5.1.2 [15339](https://github.com/jupyterlab/jupyterlab/pull/15339) ([dependabot](https://github.com/dependabot))
- Bump scipy from 1.11.1 to 1.11.3 [15338](https://github.com/jupyterlab/jupyterlab/pull/15338) ([dependabot](https://github.com/dependabot))
- Bump pandas from 2.1.1 to 2.1.2 [15337](https://github.com/jupyterlab/jupyterlab/pull/15337) ([dependabot](https://github.com/dependabot))
- Bump black\[jupyter\] from 23.7.0 to 23.10.1 [15336](https://github.com/jupyterlab/jupyterlab/pull/15336) ([dependabot](https://github.com/dependabot))
- Turn off navigation with keys [15310](https://github.com/jupyterlab/jupyterlab/pull/15310) ([fcollonval](https://github.com/fcollonval))
- Bump mermaid 10.6.0, marked 9.1.2, rjsf 5.13.2 [15302](https://github.com/jupyterlab/jupyterlab/pull/15302) ([bollwyvl](https://github.com/bollwyvl))
- Improve error message when deprecated `--collaborative` is used without `jupyter-collaboration` [15300](https://github.com/jupyterlab/jupyterlab/pull/15300) ([mdengler](https://github.com/mdengler))
- Bump yarn to 3.6.4 [15295](https://github.com/jupyterlab/jupyterlab/pull/15295) ([fcollonval](https://github.com/fcollonval))
- Update benchmark reporter snapshots [15279](https://github.com/jupyterlab/jupyterlab/pull/15279) ([krassowski](https://github.com/krassowski))
- Bump babel/traverse from 7.21.2 to 7.23.2 [15272](https://github.com/jupyterlab/jupyterlab/pull/15272) ([dependabot](https://github.com/dependabot))
- Update canvas to a version with prebuilds for nodeJS 20 [15270](https://github.com/jupyterlab/jupyterlab/pull/15270) ([fcollonval](https://github.com/fcollonval))
- Bump `jupyterlab/rendermime-interfaces` to `3.9.0-alpha.1` [15240](https://github.com/jupyterlab/jupyterlab/pull/15240) ([jtpio](https://github.com/jtpio))
- Fix completer tests after transition to pointer events [15237](https://github.com/jupyterlab/jupyterlab/pull/15237) ([krassowski](https://github.com/krassowski))
- Bump postcss from 8.4.25 to 8.4.31 [15218](https://github.com/jupyterlab/jupyterlab/pull/15218) ([dependabot](https://github.com/dependabot))
- Update to marked 9.0.3, mermaidjs 10.5.0, update binder config [15214](https://github.com/jupyterlab/jupyterlab/pull/15214) ([bollwyvl](https://github.com/bollwyvl))
- Switch from hub to gh CLI [15213](https://github.com/jupyterlab/jupyterlab/pull/15213) ([fcollonval](https://github.com/fcollonval))
- Reword LSP tracker plugin description [15209](https://github.com/jupyterlab/jupyterlab/pull/15209) ([fcollonval](https://github.com/fcollonval))
- Restore removed API [15204](https://github.com/jupyterlab/jupyterlab/pull/15204) ([fcollonval](https://github.com/fcollonval))
- Bump ipython from 8.15.0 to 8.16.1 [15200](https://github.com/jupyterlab/jupyterlab/pull/15200) ([dependabot](https://github.com/dependabot))
- Bump jupyterlab-language-pack-zh-cn from 4.0.post2 to 4.0.post3 [15194](https://github.com/jupyterlab/jupyterlab/pull/15194) ([dependabot](https://github.com/dependabot))
- Bump pandas from 2.1.0 to 2.1.1 [15193](https://github.com/jupyterlab/jupyterlab/pull/15193) ([dependabot](https://github.com/dependabot))
- Bump altair from 5.0.1 to 5.1.1 [15192](https://github.com/jupyterlab/jupyterlab/pull/15192) ([dependabot](https://github.com/dependabot))
- Bump ruff from 0.0.287 to 0.0.291 [15190](https://github.com/jupyterlab/jupyterlab/pull/15190) ([dependabot](https://github.com/dependabot))
- Bump actions/checkout from 3 to 4 [15189](https://github.com/jupyterlab/jupyterlab/pull/15189) ([dependabot](https://github.com/dependabot))
- Bump toshimaru/auto-author-assign from 1.6.2 to 2.0.1 [15188](https://github.com/jupyterlab/jupyterlab/pull/15188) ([dependabot](https://github.com/dependabot))
- Bump tj-actions/changed-files from 38.2.0 to 39.2.0 [15187](https://github.com/jupyterlab/jupyterlab/pull/15187) ([dependabot](https://github.com/dependabot))
- Bump iterative/setup-cml from 1 to 2 [15186](https://github.com/jupyterlab/jupyterlab/pull/15186) ([dependabot](https://github.com/dependabot))
- Remove hard coded text-plain in multiple places [15182](https://github.com/jupyterlab/jupyterlab/pull/15182) ([fcollonval](https://github.com/fcollonval))
- Update to `jupyter/ydoc` 1.1.1 [15177](https://github.com/jupyterlab/jupyterlab/pull/15177) ([jtpio](https://github.com/jtpio))
- Bump systeminformation from 5.17.12 to 5.21.7 [15147](https://github.com/jupyterlab/jupyterlab/pull/15147) ([dependabot](https://github.com/dependabot))
- Add a test for dynamic text spacing for launcher cards [15146](https://github.com/jupyterlab/jupyterlab/pull/15146) ([j264415](https://github.com/j264415))
- Added tests to check for aria labels and roles for accessibility [15137](https://github.com/jupyterlab/jupyterlab/pull/15137) ([m158261](https://github.com/m158261))
- Add a valid email in update extension [15133](https://github.com/jupyterlab/jupyterlab/pull/15133) ([brichet](https://github.com/brichet))
- Install playwright browser in jupyterlab.browser_check [15117](https://github.com/jupyterlab/jupyterlab/pull/15117) ([brichet](https://github.com/brichet))
- Create dev environment with docker [15111](https://github.com/jupyterlab/jupyterlab/pull/15111) ([trungleduc](https://github.com/trungleduc))
- Enable Playwright trace [15087](https://github.com/jupyterlab/jupyterlab/pull/15087) ([jtpio](https://github.com/jtpio))
- Added test to check close tab button has a title [15086](https://github.com/jupyterlab/jupyterlab/pull/15086) ([m158261](https://github.com/m158261))
- Pin skywalking-eyes to patched version detecting license headers after `|` [15072](https://github.com/jupyterlab/jupyterlab/pull/15072) ([krassowski](https://github.com/krassowski))
- React on galata update comment, fix binder URL in docs [15070](https://github.com/jupyterlab/jupyterlab/pull/15070) ([krassowski](https://github.com/krassowski))
- License header job fix: ignore text files, update format [15068](https://github.com/jupyterlab/jupyterlab/pull/15068) ([krassowski](https://github.com/krassowski))
- Disable language server auto-detection to speed up tests on CI [15061](https://github.com/jupyterlab/jupyterlab/pull/15061) ([krassowski](https://github.com/krassowski))
- Bump pandas from 2.0.3 to 2.1.0 [15060](https://github.com/jupyterlab/jupyterlab/pull/15060) ([dependabot](https://github.com/dependabot))
- Bump jupyterlab-language-pack-zh-cn from 4.0.post1 to 4.0.post2 [15059](https://github.com/jupyterlab/jupyterlab/pull/15059) ([dependabot](https://github.com/dependabot))
- Update sphinx requirement from \<7.2.0,>=1.8 to >=1.8,\<7.3.0 [15058](https://github.com/jupyterlab/jupyterlab/pull/15058) ([dependabot](https://github.com/dependabot))
- Bump ipython from 8.14.0 to 8.15.0 [15057](https://github.com/jupyterlab/jupyterlab/pull/15057) ([dependabot](https://github.com/dependabot))
- Bump ruff from 0.0.282 to 0.0.286 [15056](https://github.com/jupyterlab/jupyterlab/pull/15056) ([dependabot](https://github.com/dependabot))
- Bump tj-actions/changed-files from 37.5.1 to 38.2.0 [15055](https://github.com/jupyterlab/jupyterlab/pull/15055) ([dependabot](https://github.com/dependabot))
- Bump apache/skywalking-eyes from 0.4.0 to 0.5.0 [15054](https://github.com/jupyterlab/jupyterlab/pull/15054) ([dependabot](https://github.com/dependabot))
- Commit JS and Python packages in one commit on release [15042](https://github.com/jupyterlab/jupyterlab/pull/15042) ([jtpio](https://github.com/jtpio))
- Fix docs build on Gitpod [15041](https://github.com/jupyterlab/jupyterlab/pull/15041) ([jtpio](https://github.com/jtpio))
- Deprecate LSP adapter `getEditorIndexAt()` method [15028](https://github.com/jupyterlab/jupyterlab/pull/15028) ([krassowski](https://github.com/krassowski))
- Add `| null` to the mermaid plugin activate parameter [15003](https://github.com/jupyterlab/jupyterlab/pull/15003) ([jtpio](https://github.com/jtpio))
- Fix pepy.tech links [14982](https://github.com/jupyterlab/jupyterlab/pull/14982) ([fcollonval](https://github.com/fcollonval))
- simplify binder python baseline [14971](https://github.com/jupyterlab/jupyterlab/pull/14971) ([bollwyvl](https://github.com/bollwyvl))
- Check backward dep [14953](https://github.com/jupyterlab/jupyterlab/pull/14953) ([fcollonval](https://github.com/fcollonval))
- Restore welcome test [14946](https://github.com/jupyterlab/jupyterlab/pull/14946) ([fcollonval](https://github.com/fcollonval))
- Make the browser check `default_url` configurable [14944](https://github.com/jupyterlab/jupyterlab/pull/14944) ([jtpio](https://github.com/jtpio))
- Fix broken link [14937](https://github.com/jupyterlab/jupyterlab/pull/14937) ([fcollonval](https://github.com/fcollonval))
- Remove docker ignore file [14936](https://github.com/jupyterlab/jupyterlab/pull/14936) ([fcollonval](https://github.com/fcollonval))
- Rename readthedoc config [14927](https://github.com/jupyterlab/jupyterlab/pull/14927) ([fcollonval](https://github.com/fcollonval))
- Bump matplotlib from 3.7.1 to 3.7.2 [14896](https://github.com/jupyterlab/jupyterlab/pull/14896) ([dependabot](https://github.com/dependabot))
- Bump ruff from 0.0.276 to 0.0.282 [14895](https://github.com/jupyterlab/jupyterlab/pull/14895) ([dependabot](https://github.com/dependabot))
- Bump ipywidgets from 8.0.6 to 8.1.0 [14894](https://github.com/jupyterlab/jupyterlab/pull/14894) ([dependabot](https://github.com/dependabot))
- Bump black\[jupyter\] from 23.3.0 to 23.7.0 [14893](https://github.com/jupyterlab/jupyterlab/pull/14893) ([dependabot](https://github.com/dependabot))
- Bump jupyterlab-language-pack-zh-cn from 4.0.post0 to 4.0.post1 [14892](https://github.com/jupyterlab/jupyterlab/pull/14892) ([dependabot](https://github.com/dependabot))
- Bump tj-actions/changed-files from 37.0.5 to 37.5.1 [14891](https://github.com/jupyterlab/jupyterlab/pull/14891) ([dependabot](https://github.com/dependabot))
- Fix integration tests [14886](https://github.com/jupyterlab/jupyterlab/pull/14886) ([fcollonval](https://github.com/fcollonval))
- Bump word-wrap from 1.2.3 to 1.2.4 [14847](https://github.com/jupyterlab/jupyterlab/pull/14847) ([dependabot](https://github.com/dependabot))
- Move opening help resources to a separate plugin [14837](https://github.com/jupyterlab/jupyterlab/pull/14837) ([jtpio](https://github.com/jtpio))
- Bump version to 4.1.0a0 [14834](https://github.com/jupyterlab/jupyterlab/pull/14834) ([fcollonval](https://github.com/fcollonval))
- Bump stylelint from 14.16.1 to 15.10.1 [14802](https://github.com/jupyterlab/jupyterlab/pull/14802) ([dependabot](https://github.com/dependabot))
- Add style validator [14795](https://github.com/jupyterlab/jupyterlab/pull/14795) ([krassowski](https://github.com/krassowski))
- Separate LSP settings handling out to another plugin [14786](https://github.com/jupyterlab/jupyterlab/pull/14786) ([krassowski](https://github.com/krassowski))
- fix changed username, pin pydantic\<2 for CI [14780](https://github.com/jupyterlab/jupyterlab/pull/14780) ([bollwyvl](https://github.com/bollwyvl))
- Bump tj-actions/changed-files from 36.0.11 to 37.0.5 [14779](https://github.com/jupyterlab/jupyterlab/pull/14779) ([dependabot](https://github.com/dependabot))
- Bump ruff from 0.0.271 to 0.0.275 [14778](https://github.com/jupyterlab/jupyterlab/pull/14778) ([dependabot](https://github.com/dependabot))
- Bump pandas from 2.0.2 to 2.0.3 [14777](https://github.com/jupyterlab/jupyterlab/pull/14777) ([dependabot](https://github.com/dependabot))
- Bump scipy from 1.10.1 to 1.11.1 [14776](https://github.com/jupyterlab/jupyterlab/pull/14776) ([dependabot](https://github.com/dependabot))
- Relax `Event.IManager` interface [14770](https://github.com/jupyterlab/jupyterlab/pull/14770) ([trungleduc](https://github.com/trungleduc))
- Bump semver from 7.3.8 to 7.5.2, update to Lerna 7 [14750](https://github.com/jupyterlab/jupyterlab/pull/14750) ([dependabot](https://github.com/dependabot))
- Clean up obsolete docker [14729](https://github.com/jupyterlab/jupyterlab/pull/14729) ([fcollonval](https://github.com/fcollonval))
- Port LSP connection manager fixes/enhancements [14714](https://github.com/jupyterlab/jupyterlab/pull/14714) ([krassowski](https://github.com/krassowski))
- Drop `StatusMessage` which is dead code [14713](https://github.com/jupyterlab/jupyterlab/pull/14713) ([krassowski](https://github.com/krassowski))
- Update requirements: conda != Python, jupyter-server over notebook [14709](https://github.com/jupyterlab/jupyterlab/pull/14709) ([krassowski](https://github.com/krassowski))
- Don't list log file as changes when checking license header [14700](https://github.com/jupyterlab/jupyterlab/pull/14700) ([fcollonval](https://github.com/fcollonval))
- Ensure not breaking backward compatibility [14699](https://github.com/jupyterlab/jupyterlab/pull/14699) ([fcollonval](https://github.com/fcollonval))
- Simplify Gitpod command to start JupyterLab [14690](https://github.com/jupyterlab/jupyterlab/pull/14690) ([jtpio](https://github.com/jtpio))
- Update the `jupyter labextension list` compat message [14680](https://github.com/jupyterlab/jupyterlab/pull/14680) ([jtpio](https://github.com/jtpio))
- Update to TypeScript 5.1 [14638](https://github.com/jupyterlab/jupyterlab/pull/14638) ([jtpio](https://github.com/jtpio))
- Fix `OSTYPE` check in `ci_install.sh` [11801](https://github.com/jupyterlab/jupyterlab/pull/11801) ([jtpio](https://github.com/jtpio))

Documentation improvements

- Copy edits in LSP support [15730](https://github.com/jupyterlab/jupyterlab/pull/15730) ([JasonWeill](https://github.com/JasonWeill))
- Remove Python 3.0, Notebook 5 mentions from contributor docs [15710](https://github.com/jupyterlab/jupyterlab/pull/15710) ([JasonWeill](https://github.com/JasonWeill))
- Mention jupyter-ai pre-release in inline completer changelog section [15669](https://github.com/jupyterlab/jupyterlab/pull/15669) ([krassowski](https://github.com/krassowski))
- User-facing changelog for 4.1 [15648](https://github.com/jupyterlab/jupyterlab/pull/15648) ([krassowski](https://github.com/krassowski))
- Fix link to yarn docs in extension migration guide [15640](https://github.com/jupyterlab/jupyterlab/pull/15640) ([krassowski](https://github.com/krassowski))
- Fix kernel shortcuts, add migration, fix defaults population [15639](https://github.com/jupyterlab/jupyterlab/pull/15639) ([krassowski](https://github.com/krassowski))
- Note changes to statusbar items behaviour in extension migration guide [15556](https://github.com/jupyterlab/jupyterlab/pull/15556) ([j264415](https://github.com/j264415))
- Add virtual scrollbar component to windowed lists. [15533](https://github.com/jupyterlab/jupyterlab/pull/15533) ([afshin](https://github.com/afshin))
- Restore some CSS rules for backward compatibility [15530](https://github.com/jupyterlab/jupyterlab/pull/15530) ([brichet](https://github.com/brichet))
- Implement `level` trait for plugin/extension managers [15512](https://github.com/jupyterlab/jupyterlab/pull/15512) ([krassowski](https://github.com/krassowski))
- Update "jlpm config set registry" command in documentation [15506](https://github.com/jupyterlab/jupyterlab/pull/15506) ([DcWire](https://github.com/DcWire))
- Update migration guide about the Toolbar selector [15501](https://github.com/jupyterlab/jupyterlab/pull/15501) ([brichet](https://github.com/brichet))
- Adopt ruff format [15499](https://github.com/jupyterlab/jupyterlab/pull/15499) ([jtpio](https://github.com/jtpio))
- Add npm provenance issue to the list of release postmortems [15493](https://github.com/jupyterlab/jupyterlab/pull/15493) ([jtpio](https://github.com/jtpio))
- Fix completer cycling documentation formatting [15393](https://github.com/jupyterlab/jupyterlab/pull/15393) ([krassowski](https://github.com/krassowski))
- Turn off navigation with keys [15310](https://github.com/jupyterlab/jupyterlab/pull/15310) ([fcollonval](https://github.com/fcollonval))
- Bump yarn to 3.6.4 [15295](https://github.com/jupyterlab/jupyterlab/pull/15295) ([fcollonval](https://github.com/fcollonval))
- Expand search box horizontally when text grows long [15266](https://github.com/jupyterlab/jupyterlab/pull/15266) ([sinistersnare](https://github.com/sinistersnare))
- Fixed home page link to sibling project. [15256](https://github.com/jupyterlab/jupyterlab/pull/15256) ([ericsnekbytes](https://github.com/ericsnekbytes))
- Improve docker script [15241](https://github.com/jupyterlab/jupyterlab/pull/15241) ([trungleduc](https://github.com/trungleduc))
- Fix typo in `Notification.dismiss` [15197](https://github.com/jupyterlab/jupyterlab/pull/15197) ([krassowski](https://github.com/krassowski))
- Experimental inline completer [15160](https://github.com/jupyterlab/jupyterlab/pull/15160) ([krassowski](https://github.com/krassowski))
- Restore dark/light toggle, remove duplicated search box [15141](https://github.com/jupyterlab/jupyterlab/pull/15141) ([krassowski](https://github.com/krassowski))
- Create dev environment with docker [15111](https://github.com/jupyterlab/jupyterlab/pull/15111) ([trungleduc](https://github.com/trungleduc))
- React on galata update comment, fix binder URL in docs [15070](https://github.com/jupyterlab/jupyterlab/pull/15070) ([krassowski](https://github.com/krassowski))
- Notebook execution history [15062](https://github.com/jupyterlab/jupyterlab/pull/15062) ([andrewfulton9](https://github.com/andrewfulton9))
- Commit JS and Python packages in one commit on release [15042](https://github.com/jupyterlab/jupyterlab/pull/15042) ([jtpio](https://github.com/jtpio))
- Fix Binder link in `README.md` [15039](https://github.com/jupyterlab/jupyterlab/pull/15039) ([jtpio](https://github.com/jtpio))
- \[Accessibility\] Using arrow keys to navigate in toolbars items [15021](https://github.com/jupyterlab/jupyterlab/pull/15021) ([brichet](https://github.com/brichet))
- Remove `--UNSAFE` flag in the extension tutorial docs [15007](https://github.com/jupyterlab/jupyterlab/pull/15007) ([jtpio](https://github.com/jtpio))
- Fix more links [14989](https://github.com/jupyterlab/jupyterlab/pull/14989) ([fcollonval](https://github.com/fcollonval))
- Fix pepy.tech links [14982](https://github.com/jupyterlab/jupyterlab/pull/14982) ([fcollonval](https://github.com/fcollonval))
- Fix broken link [14937](https://github.com/jupyterlab/jupyterlab/pull/14937) ([fcollonval](https://github.com/fcollonval))
- Custom script to upgrade `staging/yarn.lock` [14926](https://github.com/jupyterlab/jupyterlab/pull/14926) ([fcollonval](https://github.com/fcollonval))
- Improve LSP API [14920](https://github.com/jupyterlab/jupyterlab/pull/14920) ([hbcarlos](https://github.com/hbcarlos))
- Recommend major versions for Lab 3/Lab 4 compatible extensions [14908](https://github.com/jupyterlab/jupyterlab/pull/14908) ([JasonWeill](https://github.com/JasonWeill))
- Update yarn link documentation [14902](https://github.com/jupyterlab/jupyterlab/pull/14902) ([gabalafou](https://github.com/gabalafou))
- Align copier version with the extension template [14899](https://github.com/jupyterlab/jupyterlab/pull/14899) ([jtpio](https://github.com/jtpio))
- Fix broken link to security model [14861](https://github.com/jupyterlab/jupyterlab/pull/14861) ([fcollonval](https://github.com/fcollonval))
- Create JupyterLab 3.4.4 accessibility statement [14856](https://github.com/jupyterlab/jupyterlab/pull/14856) ([isabela-pf](https://github.com/isabela-pf))
- Add page option `copyAbsolutePath` enabling to copy absolute path [14842](https://github.com/jupyterlab/jupyterlab/pull/14842) ([pauky](https://github.com/pauky))
- Move opening help resources to a separate plugin [14837](https://github.com/jupyterlab/jupyterlab/pull/14837) ([jtpio](https://github.com/jtpio))
- Bump stylelint from 14.16.1 to 15.10.1 [14802](https://github.com/jupyterlab/jupyterlab/pull/14802) ([dependabot](https://github.com/dependabot))
- fix changed username, pin pydantic\<2 for CI [14780](https://github.com/jupyterlab/jupyterlab/pull/14780) ([bollwyvl](https://github.com/bollwyvl))
- fix: typo in notifications settings documentation [14747](https://github.com/jupyterlab/jupyterlab/pull/14747) ([holzman](https://github.com/holzman))
- fix: typo in param annotation [14745](https://github.com/jupyterlab/jupyterlab/pull/14745) ([emmanuel-ferdman](https://github.com/emmanuel-ferdman))
- Load custom CSS functionality and documentation [14743](https://github.com/jupyterlab/jupyterlab/pull/14743) ([RRosio](https://github.com/RRosio))
- fix: typo in common extension points page [14727](https://github.com/jupyterlab/jupyterlab/pull/14727) ([emmanuel-ferdman](https://github.com/emmanuel-ferdman))
- Improve examples [14726](https://github.com/jupyterlab/jupyterlab/pull/14726) ([fcollonval](https://github.com/fcollonval))
- Fix docs for semantic commands registration [14718](https://github.com/jupyterlab/jupyterlab/pull/14718) ([jtpio](https://github.com/jtpio))
- Update requirements: conda != Python, jupyter-server over notebook [14709](https://github.com/jupyterlab/jupyterlab/pull/14709) ([krassowski](https://github.com/krassowski))
- Ensure documentation switcher data always points to the latest JSON. [14698](https://github.com/jupyterlab/jupyterlab/pull/14698) ([fcollonval](https://github.com/fcollonval))
- Set out expectations for `good first issue` label [14686](https://github.com/jupyterlab/jupyterlab/pull/14686) ([krassowski](https://github.com/krassowski))
- Update the `jupyter labextension list` compat message [14680](https://github.com/jupyterlab/jupyterlab/pull/14680) ([jtpio](https://github.com/jtpio))
- Document more features for JupyterLab on Binder [14677](https://github.com/jupyterlab/jupyterlab/pull/14677) ([fcollonval](https://github.com/fcollonval))
- Fix copier command in documentation [14671](https://github.com/jupyterlab/jupyterlab/pull/14671) ([fcollonval](https://github.com/fcollonval))
- Document UX implications of windowed notebooks on search [14667](https://github.com/jupyterlab/jupyterlab/pull/14667) ([ericsnekbytes](https://github.com/ericsnekbytes))
- Update contributing.rst for Windows users [14666](https://github.com/jupyterlab/jupyterlab/pull/14666) ([coriegulik](https://github.com/coriegulik))
- Add plugin manager and extension locks [14536](https://github.com/jupyterlab/jupyterlab/pull/14536) ([krassowski](https://github.com/krassowski))
- New docs page: developer/accessibility.html [14426](https://github.com/jupyterlab/jupyterlab/pull/14426) ([gabalafou](https://github.com/gabalafou))
- Update to marked 7.0.2, add mermaidjs 10.3.1 [14102](https://github.com/jupyterlab/jupyterlab/pull/14102) ([bollwyvl](https://github.com/bollwyvl))

API and Breaking Changes

- Check applicable provider in ProviderReconciliator [15094](https://github.com/jupyterlab/jupyterlab/pull/15094) ([trungleduc](https://github.com/trungleduc))

Deprecated features

- Restore some CSS rules for backward compatibility [15530](https://github.com/jupyterlab/jupyterlab/pull/15530) ([brichet](https://github.com/brichet))

Contributors to this release

([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2023-06-08&to=2024-02-05&type=c))

[afshin](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aafshin+updated%3A2023-06-08..2024-02-05&type=Issues) | [akx](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aakx+updated%3A2023-06-08..2024-02-05&type=Issues) | [alden-ilao](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aalden-ilao+updated%3A2023-06-08..2024-02-05&type=Issues) | [AllanChain](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AAllanChain+updated%3A2023-06-08..2024-02-05&type=Issues) | [andrewfulton9](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aandrewfulton9+updated%3A2023-06-08..2024-02-05&type=Issues) | [andrii-i](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aandrii-i+updated%3A2023-06-08..2024-02-05&type=Issues) | [ashna1jain](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aashna1jain+updated%3A2023-06-08..2024-02-05&type=Issues) | [bikash30851](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abikash30851+updated%3A2023-06-08..2024-02-05&type=Issues) | [blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ablink1073+updated%3A2023-06-08..2024-02-05&type=Issues) | [bollwyvl](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abollwyvl+updated%3A2023-06-08..2024-02-05&type=Issues) | [brichet](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2023-06-08..2024-02-05&type=Issues) | [brijsiyag](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrijsiyag+updated%3A2023-06-08..2024-02-05&type=Issues) | [coriegulik](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Acoriegulik+updated%3A2023-06-08..2024-02-05&type=Issues) | [davidbrochart](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adavidbrochart+updated%3A2023-06-08..2024-02-05&type=Issues) | [DcWire](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ADcWire+updated%3A2023-06-08..2024-02-05&type=Issues) | [Deepali1211](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ADeepali1211+updated%3A2023-06-08..2024-02-05&type=Issues) | [DenisaCG](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ADenisaCG+updated%3A2023-06-08..2024-02-05&type=Issues) | [dependabot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adependabot+updated%3A2023-06-08..2024-02-05&type=Issues) | [dharmaquark](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adharmaquark+updated%3A2023-06-08..2024-02-05&type=Issues) | [divyansshhh](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adivyansshhh+updated%3A2023-06-08..2024-02-05&type=Issues) | [dolevf](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adolevf+updated%3A2023-06-08..2024-02-05&type=Issues) | [DonJayamanne](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ADonJayamanne+updated%3A2023-06-08..2024-02-05&type=Issues) | [echarles](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aecharles+updated%3A2023-06-08..2024-02-05&type=Issues) | [eliaslma](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aeliaslma+updated%3A2023-06-08..2024-02-05&type=Issues) | [emmanuel-ferdman](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aemmanuel-ferdman+updated%3A2023-06-08..2024-02-05&type=Issues) | [ericsnekbytes](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aericsnekbytes+updated%3A2023-06-08..2024-02-05&type=Issues) | [fcollonval](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afcollonval+updated%3A2023-06-08..2024-02-05&type=Issues) | [firai](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afirai+updated%3A2023-06-08..2024-02-05&type=Issues) | [FoSuCloud](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AFoSuCloud+updated%3A2023-06-08..2024-02-05&type=Issues) | [g547315](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ag547315+updated%3A2023-06-08..2024-02-05&type=Issues) | [gabalafou](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agabalafou+updated%3A2023-06-08..2024-02-05&type=Issues) | [GabrielaVives](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AGabrielaVives+updated%3A2023-06-08..2024-02-05&type=Issues) | [github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2023-06-08..2024-02-05&type=Issues) | [HaudinFlorence](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AHaudinFlorence+updated%3A2023-06-08..2024-02-05&type=Issues) | [hbcarlos](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ahbcarlos+updated%3A2023-06-08..2024-02-05&type=Issues) | [holzman](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aholzman+updated%3A2023-06-08..2024-02-05&type=Issues) | [isabela-pf](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aisabela-pf+updated%3A2023-06-08..2024-02-05&type=Issues) | [j264415](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aj264415+updated%3A2023-06-08..2024-02-05&type=Issues) | [jans-code](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajans-code+updated%3A2023-06-08..2024-02-05&type=Issues) | [JasonWeill](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AJasonWeill+updated%3A2023-06-08..2024-02-05&type=Issues) | [jtpio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2023-06-08..2024-02-05&type=Issues) | [jupyterlab-bot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-bot+updated%3A2023-06-08..2024-02-05&type=Issues) | [jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2023-06-08..2024-02-05&type=Issues) | [KiranmaiKalla](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AKiranmaiKalla+updated%3A2023-06-08..2024-02-05&type=Issues) | [krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2023-06-08..2024-02-05&type=Issues) | [LJMP](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ALJMP+updated%3A2023-06-08..2024-02-05&type=Issues) | [lumberbot-app](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Alumberbot-app+updated%3A2023-06-08..2024-02-05&type=Issues) | [m158261](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Am158261+updated%3A2023-06-08..2024-02-05&type=Issues) | [mctoohey](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Amctoohey+updated%3A2023-06-08..2024-02-05&type=Issues) | [mdengler](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Amdengler+updated%3A2023-06-08..2024-02-05&type=Issues) | [MFA-X-AI](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AMFA-X-AI+updated%3A2023-06-08..2024-02-05&type=Issues) | [misterfads](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Amisterfads+updated%3A2023-06-08..2024-02-05&type=Issues) | [mlucool](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Amlucool+updated%3A2023-06-08..2024-02-05&type=Issues) | [mmichilot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ammichilot+updated%3A2023-06-08..2024-02-05&type=Issues) | [nbowditch-einblick](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Anbowditch-einblick+updated%3A2023-06-08..2024-02-05&type=Issues) | [nishikantparmariam](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Anishikantparmariam+updated%3A2023-06-08..2024-02-05&type=Issues) | [paolocarinci](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Apaolocarinci+updated%3A2023-06-08..2024-02-05&type=Issues) | [parmentelat](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aparmentelat+updated%3A2023-06-08..2024-02-05&type=Issues) | [pauky](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Apauky+updated%3A2023-06-08..2024-02-05&type=Issues) | [paulkim3151](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Apaulkim3151+updated%3A2023-06-08..2024-02-05&type=Issues) | [phil-zxx](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aphil-zxx+updated%3A2023-06-08..2024-02-05&type=Issues) | [pre-commit-ci](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Apre-commit-ci+updated%3A2023-06-08..2024-02-05&type=Issues) | [Rmarieta](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ARmarieta+updated%3A2023-06-08..2024-02-05&type=Issues) | [RRosio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ARRosio+updated%3A2023-06-08..2024-02-05&type=Issues) | [Sarthug99](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ASarthug99+updated%3A2023-06-08..2024-02-05&type=Issues) | [sinistersnare](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Asinistersnare+updated%3A2023-06-08..2024-02-05&type=Issues) | [skyetim](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Askyetim+updated%3A2023-06-08..2024-02-05&type=Issues) | [smacke](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Asmacke+updated%3A2023-06-08..2024-02-05&type=Issues) | [SylvainCorlay](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ASylvainCorlay+updated%3A2023-06-08..2024-02-05&type=Issues) | [t03857785](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3At03857785+updated%3A2023-06-08..2024-02-05&type=Issues) | [tibdex](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atibdex+updated%3A2023-06-08..2024-02-05&type=Issues) | [timkpaine](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atimkpaine+updated%3A2023-06-08..2024-02-05&type=Issues) | [tonyfast](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atonyfast+updated%3A2023-06-08..2024-02-05&type=Issues) | [trungleduc](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atrungleduc+updated%3A2023-06-08..2024-02-05&type=Issues) | [welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2023-06-08..2024-02-05&type=Issues) | [Wh1isper](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AWh1isper+updated%3A2023-06-08..2024-02-05&type=Issues) | [yuvipanda](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ayuvipanda+updated%3A2023-06-08..2024-02-05&type=Issues)

4.1.0rc1

Not secure
([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.0rc0...5ba76a876091ca80c612a3747fe2767219a19ca5))

Bugs fixed

- Fix kernels sidepanel scrollbar [15718](https://github.com/jupyterlab/jupyterlab/pull/15718) ([FoSuCloud](https://github.com/FoSuCloud))
- Fix `overrides.json` not working for shortcuts [15716](https://github.com/jupyterlab/jupyterlab/pull/15716) ([krassowski](https://github.com/krassowski))
- Add scroll margin to headings for better alignment [15703](https://github.com/jupyterlab/jupyterlab/pull/15703) ([krassowski](https://github.com/krassowski))
- Fix scrolling on execution and switching notebook mode [15702](https://github.com/jupyterlab/jupyterlab/pull/15702) ([krassowski](https://github.com/krassowski))
- Fix search highlights removal on clearing input box [15690](https://github.com/jupyterlab/jupyterlab/pull/15690) ([krassowski](https://github.com/krassowski))
- Fix jupyterlab downgrade issue on extension installation [15650](https://github.com/jupyterlab/jupyterlab/pull/15650) ([Sarthug99](https://github.com/Sarthug99))

Maintenance and upkeep improvements

- Replace `ifaxity/wait-on-action` wrapper with direct `wait-on` use [15721](https://github.com/jupyterlab/jupyterlab/pull/15721) ([krassowski](https://github.com/krassowski))
- Run Mermaid tests on CI [15717](https://github.com/jupyterlab/jupyterlab/pull/15717) ([krassowski](https://github.com/krassowski))

Documentation improvements

- Remove Python 3.0, Notebook 5 mentions from contributor docs [15710](https://github.com/jupyterlab/jupyterlab/pull/15710) ([JasonWeill](https://github.com/JasonWeill))

Contributors to this release

([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2024-01-27&to=2024-02-01&type=c))

[FoSuCloud](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AFoSuCloud+updated%3A2024-01-27..2024-02-01&type=Issues) | [github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2024-01-27..2024-02-01&type=Issues) | [JasonWeill](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AJasonWeill+updated%3A2024-01-27..2024-02-01&type=Issues) | [jtpio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2024-01-27..2024-02-01&type=Issues) | [jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2024-01-27..2024-02-01&type=Issues) | [krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2024-01-27..2024-02-01&type=Issues) | [lumberbot-app](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Alumberbot-app+updated%3A2024-01-27..2024-02-01&type=Issues) | [Sarthug99](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3ASarthug99+updated%3A2024-01-27..2024-02-01&type=Issues) | [welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2024-01-27..2024-02-01&type=Issues)

4.1.0rc0

Not secure
([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.0b2...e38e0b8d59b8cba1d559040236a142931c17c42b))

Bugs fixed

- Fix shortcut UI failing on filtering when empty command is given [15695](https://github.com/jupyterlab/jupyterlab/pull/15695) ([krassowski](https://github.com/krassowski))
- Remove the add cell button from the tabbable item [15679](https://github.com/jupyterlab/jupyterlab/pull/15679) ([brichet](https://github.com/brichet))
- Migrate to `user` level or to none (as fallback) [15678](https://github.com/jupyterlab/jupyterlab/pull/15678) ([krassowski](https://github.com/krassowski))
- Upgrade jupyter-ui-toolkit [15600](https://github.com/jupyterlab/jupyterlab/pull/15600) ([fcollonval](https://github.com/fcollonval))
- Fix spurious "File Changed" dialogs using `hash` from `jupyter-server` v2.11.1+ [15577](https://github.com/jupyterlab/jupyterlab/pull/15577) ([Wh1isper](https://github.com/Wh1isper))
- Enable keyboard navigation in the statusbar [14853](https://github.com/jupyterlab/jupyterlab/pull/14853) ([j264415](https://github.com/j264415))

Maintenance and upkeep improvements

- Bump hatchling [15694](https://github.com/jupyterlab/jupyterlab/pull/15694) ([fcollonval](https://github.com/fcollonval))
- Switch from `pytest-tornasync` to `pytest-jupyter` [15662](https://github.com/jupyterlab/jupyterlab/pull/15662) ([KiranmaiKalla](https://github.com/KiranmaiKalla))
- Bump the actions group with 2 updates [15619](https://github.com/jupyterlab/jupyterlab/pull/15619) ([dependabot](https://github.com/dependabot))

Documentation improvements

- Mention jupyter-ai pre-release in inline completer changelog section [15669](https://github.com/jupyterlab/jupyterlab/pull/15669) ([krassowski](https://github.com/krassowski))

Contributors to this release

([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2024-01-19&to=2024-01-27&type=c))

[brichet](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2024-01-19..2024-01-27&type=Issues) | [dependabot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adependabot+updated%3A2024-01-19..2024-01-27&type=Issues) | [fcollonval](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afcollonval+updated%3A2024-01-19..2024-01-27&type=Issues) | [FoSuCloud](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AFoSuCloud+updated%3A2024-01-19..2024-01-27&type=Issues) | [github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2024-01-19..2024-01-27&type=Issues) | [j264415](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aj264415+updated%3A2024-01-19..2024-01-27&type=Issues) | [JasonWeill](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AJasonWeill+updated%3A2024-01-19..2024-01-27&type=Issues) | [jupyterlab-bot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-bot+updated%3A2024-01-19..2024-01-27&type=Issues) | [jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2024-01-19..2024-01-27&type=Issues) | [KiranmaiKalla](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AKiranmaiKalla+updated%3A2024-01-19..2024-01-27&type=Issues) | [krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2024-01-19..2024-01-27&type=Issues) | [welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2024-01-19..2024-01-27&type=Issues) | [Wh1isper](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AWh1isper+updated%3A2024-01-19..2024-01-27&type=Issues)

4.1.0b2

Not secure
([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.0b1...43a4e70bfba19b0de21e17409477a91708964792))

Security fixes

- Potential authentication and CSRF tokens leak in JupyterLab ([GHSA-44cc-43rp-5947](https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-44cc-43rp-5947))
- SXSS in Markdown Preview ([GHSA-4m77-cmpx-vjc4](https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-4m77-cmpx-vjc4))

Documentation improvements

- User-facing changelog for 4.1 [15648](https://github.com/jupyterlab/jupyterlab/pull/15648) ([krassowski](https://github.com/krassowski))

Contributors to this release

([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2024-01-17&to=2024-01-19&type=c))

[github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2024-01-17..2024-01-19&type=Issues) | [jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2024-01-17..2024-01-19&type=Issues) | [krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2024-01-17..2024-01-19&type=Issues)

4.1.0b1

Not secure
([Full Changelog](https://github.com/jupyterlab/jupyterlab/compare/v4.1.0b0...aee0bacb47fb4f2516e21239698197b8b17b2e77))

Enhancements made

- Show toast notification for running code cell while kernel initializing [15421](https://github.com/jupyterlab/jupyterlab/pull/15421) ([misterfads](https://github.com/misterfads))

Bugs fixed

- Fix outputarea package from not detecting updates [15642](https://github.com/jupyterlab/jupyterlab/pull/15642) ([MFA-X-AI](https://github.com/MFA-X-AI))
- Fix kernel shortcuts, add migration, fix defaults population [15639](https://github.com/jupyterlab/jupyterlab/pull/15639) ([krassowski](https://github.com/krassowski))
- Fix new line getting inserted when running cells with `Ctrl` + `Enter` [15638](https://github.com/jupyterlab/jupyterlab/pull/15638) ([krassowski](https://github.com/krassowski))
- Fix markdown getting un-rendered when focusing on a different cell [15634](https://github.com/jupyterlab/jupyterlab/pull/15634) ([krassowski](https://github.com/krassowski))
- Fixes focus indicator on input checkbox for Firefox [15612](https://github.com/jupyterlab/jupyterlab/pull/15612) ([alden-ilao](https://github.com/alden-ilao))
- Fix ctrl+s notification incorrectly showing up in RTC mode [15597](https://github.com/jupyterlab/jupyterlab/pull/15597) ([andrewfulton9](https://github.com/andrewfulton9))
- Accept/invoke inline completions with `Tab` [15571](https://github.com/jupyterlab/jupyterlab/pull/15571) ([krassowski](https://github.com/krassowski))
- Show the notification center if the status bar is disabled [15568](https://github.com/jupyterlab/jupyterlab/pull/15568) ([jtpio](https://github.com/jtpio))
- Fixes the order of items in notebook toolbar [15553](https://github.com/jupyterlab/jupyterlab/pull/15553) ([brichet](https://github.com/brichet))
- Add a title to the Plugin Manager widget [15552](https://github.com/jupyterlab/jupyterlab/pull/15552) ([jtpio](https://github.com/jtpio))
- Link to paths starting at Unix-style root in the tracebacks [15548](https://github.com/jupyterlab/jupyterlab/pull/15548) ([krassowski](https://github.com/krassowski))

Maintenance and upkeep improvements

- update to mermaid 10.7.0 [15647](https://github.com/jupyterlab/jupyterlab/pull/15647) ([bollwyvl](https://github.com/bollwyvl))
- Use jlpm for docs snapshots too [15646](https://github.com/jupyterlab/jupyterlab/pull/15646) ([krassowski](https://github.com/krassowski))
- Use `jlpm` as npm client for snapshot updates [15641](https://github.com/jupyterlab/jupyterlab/pull/15641) ([krassowski](https://github.com/krassowski))
- Fix syntax error in benchmark workflow [15630](https://github.com/jupyterlab/jupyterlab/pull/15630) ([krassowski](https://github.com/krassowski))
- Bump follow-redirects from 1.15.2 to 1.15.4 [15622](https://github.com/jupyterlab/jupyterlab/pull/15622) ([dependabot](https://github.com/dependabot))
- Bump the actions group with 1 update [15620](https://github.com/jupyterlab/jupyterlab/pull/15620) ([dependabot](https://github.com/dependabot))
- Fix dependabot config [15618](https://github.com/jupyterlab/jupyterlab/pull/15618) ([fcollonval](https://github.com/fcollonval))
- Restore previous Galata `page.filebrowser.refresh()` timeout logic [15607](https://github.com/jupyterlab/jupyterlab/pull/15607) ([jtpio](https://github.com/jtpio))
- Revert "Bump actions/labeler from 4 to 5" [15593](https://github.com/jupyterlab/jupyterlab/pull/15593) ([jtpio](https://github.com/jtpio))
- Group dependabot updates [15592](https://github.com/jupyterlab/jupyterlab/pull/15592) ([jtpio](https://github.com/jtpio))
- Bump pandas from 2.1.3 to 2.1.4 [15588](https://github.com/jupyterlab/jupyterlab/pull/15588) ([dependabot](https://github.com/dependabot))
- Bump altair from 5.1.2 to 5.2.0 [15585](https://github.com/jupyterlab/jupyterlab/pull/15585) ([dependabot](https://github.com/dependabot))
- Bump actions/stale from 8 to 9 [15583](https://github.com/jupyterlab/jupyterlab/pull/15583) ([dependabot](https://github.com/dependabot))
- Bump actions/labeler from 4 to 5 [15582](https://github.com/jupyterlab/jupyterlab/pull/15582) ([dependabot](https://github.com/dependabot))
- Bump tj-actions/changed-files from 40.2.0 to 41.0.1 [15581](https://github.com/jupyterlab/jupyterlab/pull/15581) ([dependabot](https://github.com/dependabot))
- Bump github/codeql-action from 2 to 3 [15580](https://github.com/jupyterlab/jupyterlab/pull/15580) ([dependabot](https://github.com/dependabot))

Documentation improvements

- Fix link to yarn docs in extension migration guide [15640](https://github.com/jupyterlab/jupyterlab/pull/15640) ([krassowski](https://github.com/krassowski))
- Fix kernel shortcuts, add migration, fix defaults population [15639](https://github.com/jupyterlab/jupyterlab/pull/15639) ([krassowski](https://github.com/krassowski))
- Note changes to statusbar items behaviour in extension migration guide [15556](https://github.com/jupyterlab/jupyterlab/pull/15556) ([j264415](https://github.com/j264415))

Contributors to this release

([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2023-12-20&to=2024-01-17&type=c))

[alden-ilao](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aalden-ilao+updated%3A2023-12-20..2024-01-17&type=Issues) | [andrewfulton9](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aandrewfulton9+updated%3A2023-12-20..2024-01-17&type=Issues) | [bollwyvl](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abollwyvl+updated%3A2023-12-20..2024-01-17&type=Issues) | [brichet](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2023-12-20..2024-01-17&type=Issues) | [dependabot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Adependabot+updated%3A2023-12-20..2024-01-17&type=Issues) | [fcollonval](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Afcollonval+updated%3A2023-12-20..2024-01-17&type=Issues) | [github-actions](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Agithub-actions+updated%3A2023-12-20..2024-01-17&type=Issues) | [j264415](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aj264415+updated%3A2023-12-20..2024-01-17&type=Issues) | [jtpio](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2023-12-20..2024-01-17&type=Issues) | [jupyterlab-probot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajupyterlab-probot+updated%3A2023-12-20..2024-01-17&type=Issues) | [krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2023-12-20..2024-01-17&type=Issues) | [MFA-X-AI](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AMFA-X-AI+updated%3A2023-12-20..2024-01-17&type=Issues) | [misterfads](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Amisterfads+updated%3A2023-12-20..2024-01-17&type=Issues) | [pre-commit-ci](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Apre-commit-ci+updated%3A2023-12-20..2024-01-17&type=Issues) | [welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Awelcome+updated%3A2023-12-20..2024-01-17&type=Issues) | [Wh1isper](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AWh1isper+updated%3A2023-12-20..2024-01-17&type=Issues)

Page 5 of 24

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.