4.7.0a2
Security fixes
- GHSA-3325-v43h-43rv - moderate
- GHSA-6966-vjj6-99xv - high
- GHSA-jwrc-gm9j-263p - moderate
- GHSA-3jqq-pw4j-pqcj - moderate
New features added
- Add Copy Link Address to the terminal context menu #19195 (@jtpio, @krassowski)
Enhancements made
- Add CI memory leak regression tests #19665 (@MUFFANUJ, @krassowski)
- Defer loading disabled federated extensions during startup #19627 (@MUFFANUJ, @jtpio, @krassowski)
- Add Copy Image context menu action #19516 (@MUFFANUJ, @krassowski)
- Add optional
ILatexTypesetter.withParseOptions()#19223 (@krassowski, @MUFFANUJ) - Add a search provider for Markdown Viewer #19222 (@Whning0513, @MUFFANUJ, @krassowski)
- Add Copy to the Markdown Viewer context menu #19221 (@Whning0513, @krassowski)
- Add Show Markdown Preview to the command palette #19217 (@jtpio, @krassowski)
- Add
mypyenforcement #19198 (@MUFFANUJ, @krassowski) - Display cell IDs in Notebook's Property Inspector in Common Tools section #19197 (@MUFFANUJ, @brichet, @dlqqq, @krassowski)
- Rename "Revert" button to "Reload from Disk" in file conflict dialog #19191 (@Sumitha007, @brichet, @jtpio, @krassowski)
- Allow opting out of single
$inline math delimiter at the renderer level #19177 (@krassowski, @dlqqq) - Add Python typing enforcement #19164 (@MUFFANUJ, @bollwyvl, @krassowski)
- Enable nullable-number strict boolean linting #19133 (@MUFFANUJ, @jtpio, @krassowski)
- Add typing to command helpers #19125 (@GagandeepSingh20, @Copilot, @krassowski)
- Allow providing a custom extension manager model #19070 (@jtpio, @DTiming24, @krassowski)
- Speed up large and streamed text outputs with incremental autolinking, preserve selection #17197 (@krassowski, @Copilot, @MUFFANUJ)
Bugs fixed
- Security patches #19792 (@krassowski, @MUFFANUJ)
- Fix race when starting the search - keep correct filter #19765 (@krassowski, @brichet)
- Fix respecting
commsOverSubshellsoption inconnectTo()#19734 (@krassowski, @jtpio) - Cache and throttle path resolution to avoid requests storm #19726 (@krassowski, @MUFFANUJ)
- Make inline history provider debounce (fix flaky tests), use ipykernel 7 for docs tests too #19716 (@krassowski, @MUFFANUJ)
- Sanitize bottom-panel pager MIME output #19677 (@MUFFANUJ, @krassowski)
- Fix resizing optimization for larger notebooks #19620 (@krassowski, @MUFFANUJ)
- Show context actions for all images, not only SVGs #19618 (@fly1d, @krassowski)
- Fix PyPI extension manager
package.jsoninspection fortar.gzarchives #19613 (@MUFFANUJ, @krassowski) - Save sidebar section expansion state from the hidden flag #19415 (@jtpio, @krassowski)
- Fix memory leaks affecting common everyday use scenarios #19370 (@krassowski, @jtpio)
- Fix memory leak when Property Inspector is open and other issues exposed by new linter rules #19318 (@krassowski, @jtpio)
- Fix drive handling for consoles #19259 (@jtpio, @krassowski)
- Preserve kernelspec metadata when spec is unavailable #19247 (@tomatotomata, @MUFFANUJ, @krassowski)
- Fix Shift-click cell selection after editor text selection #19243 (@MUFFANUJ, @krassowski)
- Fix variable inspection, document autocomplete and variable inspect/render #19234 (@krassowski, @jtpio)
- Update the item positions when an item is removed from reactive toolbar #19227 (@brichet, @krassowski)
- Translate builder service error messages #19174 (@MUFFANUJ, @brichet, @krassowski)
- Fix active cell prompt and source blink in notebook tools & prevent a memory leak #19168 (@MUFFANUJ, @krassowski)
- Show "starting" rather than "idle" status when changing kernel via
SessionContext.changeKernel()#19166 (@Zsailer, @krassowski) - Improve keyboard navigation in settings editor > keyboard shortcuts #19159 (@IsabelParedes, @krassowski, @tonyfast)
- Preserve drive name for root-level sessions #19157 (@jtpio, @krassowski)
Maintenance and upkeep improvements
- Update links to
jupyter-ydocAPI after docs pages moved #19790 (@krassowski, @brichet, @jtpio) - Use explicit Galata report window #19757 (@MUFFANUJ, @krassowski)
- CI: align Yarn cache configuration #19737 (@zihjiang, @MUFFANUJ, @krassowski)
- Disable subshell usage in comm example #19725 (@krassowski, @MUFFANUJ)
- Add code comment guidelines to AGENTS.md #19724 (@jtpio, @krassowski)
- Remove pin to old ipykernel v7 pre-release in UI tests #19672 (@krassowski, @MUFFANUJ)
- Use Galata filebrowser helpers in tests #19645 (@Darshan808, @MUFFANUJ, @krassowski)
- Restore running examples tests on CI #19607 (@krassowski, @MUFFANUJ)
- Harden type checks by removing
any#19581 (@MUFFANUJ, @krassowski) - Improve Python typing coverage for JupyterLab server modules #19557 (@MUFFANUJ, @krassowski)
- Update Altair snapshot #19488 (@jtpio, @krassowski)
- Update the copyright year to 2026 #19308 (@JussiRoos, @krassowski)
- Update
@jupyter/eslint-pluginto v1.1, adopt new rules #19307 (@krassowski, @jtpio) - Use
ui-test-report-commentaction frommaintainer-tools#19290 (@krassowski, @MUFFANUJ) - Make singleton the default for core library packages #19251 (@Darshan808, @jtpio, @krassowski)
- Fix issues exposed by
mypyin build & error handlers, extension upgrade & debug logger #19231 (@MUFFANUJ, @krassowski) - Update to Playwright 1.62 #19215 (@jtpio, @jasongrout)
- Update Altair snapshot #19204 (@krassowski, @MUFFANUJ)
- Switch pre-commit to
language: system#19193 (@krassowski, @jtpio) - Skip fork PR review triggers for snapshot updates #19171 (@MUFFANUJ, @brichet)
- Add flaky-test guardrails to Galata tests via
eslint-plugin-playwright#19106 (@Darshan808, @krassowski)
Documentation improvements
- Remove
CLAUDE.mdin favor ofAGENTS.md#19774 (@jarrensj, @krassowski) - Fix the IPython display link in the json-extension README #19732 (@jtpio, @krassowski)
- Update JEP 91 link to the new MyST docs URL #19212 (@jtpio, @Yann-P, @krassowski)
- Update announcement banner to point to jupyter-wide announcement banner #19189 (@jasongrout, @jtpio, @krassowski)
- Add documentation about Metadata Editor - Advanced Tools interface #18668 (@amanparganiha, @cmarmo, @krassowski)
Other merged PRs
- Bump nanoid from 3.3.11 to 3.3.18 in /jupyterlab/tests/mock_packages/test-hyphens-underscore #19416 (@krassowski)
- Bump nanoid from 3.3.11 to 3.3.18 in /jupyterlab/tests/mock_packages/test_no_hyphens #19314 (@krassowski)
- Bump dompurify from 3.4.12 to 3.4.13 #19252 (@krassowski)
- Bump mermaid from 11.15.0 to 11.16.1 #19248 (@krassowski)
- Bump socket.io-parser from 4.2.6 to 4.2.7 #19241 (@jtpio)
- Bump fast-uri from 3.1.2 to 3.1.5 #19240 (@jtpio)
- Bump dompurify from 3.4.11 to 3.4.12 #19209 (@krassowski)
- Bump linkify-it from 5.0.1 to 5.0.2 #19208 (@krassowski)
- Bump svgo from 3.3.2 to 3.3.4 #19207 (@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)
@amanparganiha (activity) | @bollwyvl (activity) | @brichet (activity) | @cmarmo (activity) | @Copilot (activity) | @Darshan808 (activity) | @davidbrochart (activity) | @dlqqq (activity) | @DTiming24 (activity) | @fly1d (activity) | @GagandeepSingh20 (activity) | @IsabelParedes (activity) | @jarrensj (activity) | @jasongrout (activity) | @jtpio (activity) | @JussiRoos (activity) | @krassowski (activity) | @Meriem-BenIsmail (activity) | @MUFFANUJ (activity) | @Sumitha007 (activity) | @tomatotomata (activity) | @tonyfast (activity) | @Whning0513 (activity) | @Yann-P (activity) | @zihjiang (activity) | @Zsailer (activity)