NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #312 most downloaded on PyPI
Jupyter core package. A base package on which Jupyter projects rely.
Last release 11 months ago
16 Oct 2025
Ships unpredictably
gaps range from 8 days to 1.2 years
Some releases are documented
notes for 25 of 52 stable releases
2 versions withdrawn
withdrawn after publishing
11 years old
64 releases · first in 2015
Fixes a regression in 5.9.0 only affecting Windows
Fixes a regression in 5.9.0 only affecting Windows
filterwarnings() TypeError #449 (@Darshan808)<!-- END SILENT CHANGELOG ENTRY -->
<!-- <END NEW CHANGELOG ENTRY> -->
One column per quarter.
remove deprecation warning, platformdirs won't become default #447 ( @minrk )
jupyter-core 5.9 requires Python 3.10.
The dependency on pywin32 on WIndows is removed, unblocking installation on free-threaded Python.
f specifier in f-string used to print config file path #433 (@krassowski)(GitHub contributors page for this release)
@AThePeanut4 | @Carreau | @dependabot | @krassowski | @minrk | @nikimagic | @stonebig
Fixes a regression in 5.8.0 for code which may assume SYSTEM_CONFIG_PATH is non-empty (Jupyter Server).
Fixes a regression in 5.8.0 for code which may assume SYSTEM_CONFIG_PATH is non-empty (Jupyter Server).
<!-- END SILENT CHANGELOG ENTRY -->
<!-- START SILENT CHANGELOG ENTRY -->
Fixes CVE-2025-30167 / GHSA-33p9-3p43-82vq on Windows (advisory to be published 2025-06-02)
(GitHub contributors page for this release)
@blink1073 | @Carreau | @dependabot | @hugokerstens | @minrk | @krassowski
Maintenance and upkeep improvements
Derive JupyterAsyncApp from JupyterApp #389 ( @blink1073 )
Modernize event loop behavior #387 ( @blink1073 )
Fix export of package version #386 ( @blink1073 )
Enable async JupyterApp #381 ( @blink1073 )
Account for read only file systems in migration #379 ( @blink1073 )
Fix typing for traitlets 5.13 #372 (@blink1073)
Add python 3.12 support #367 (@blink1073)
Fix event loop handling #362 (@blink1073)
Better handling of config migration #356 (@smartass101)
(GitHub contributors page for this release)
@blink1073 | @davidbrochart | @jamescooke | @pre-commit-ci | @smartass101
Fix pywin32 version constraint #347 (@blink1073)
Set up shell command-line tab-completion for jupyter and subcommands #337 (@azjps)
MAINT: Don't format logs in log call. #336 (@Carreau)
Suppress any exception in \_do_i_own shortcut #335 (@minrk)
Clear the test environment before each function run #333 (@jasongrout)
Add spell check and ensure docstrings #327 (@blink1073)
Only prefer envs owned by the current user #323 (@minrk)
Add run_sync and ensure_async functions #315 (@davidbrochart)
…platform-specific directories. We raise a deprecation warning if the variable is not set. In version 6, JUPYTER_PLATFORM_DIRS will be opt-out. In vers…
We now make the assumption that if we are running in a virtual environment, we should prioritize the environment-level sys.prefix over the user-level paths. Users can opt out of this behavior by setting JUPYTER_PREFER_ENV_PATH, which takes precedence over our autodetection.
In version 5, we introduce a JUPYTER_PLATFORM_DIRS environment variable to opt in to using more appropriate platform-specific directories. We raise a deprecation warning if the variable is not set. In version 6, JUPYTER_PLATFORM_DIRS will be opt-out. In version 7, we will remove the environment variable checks and old directory logic.
We are dropping support for Python 3.7 ahead of its official end of life, to reduce maintenance burden as we add support for Python 3.11.
Contributing guide #289 (@jamesr66a)(GitHub contributors page for this release)
@blink1073 | @bollwyvl | @dependabot | @dlqqq | @gaborbernat | @gutow | @jamesr66a | @jaraco | @jasongrout | @kevin-bates | @maartenbreddels | @martinRenou | @meeseeksmachine | @pre-commit-ci
Nothing published for this version
Nothing published for this version
Try to detect if we are in a virtual environment and change path precedence accordingly by @jasongrout in https://github.com/jupyter/jupyter_core/pull
Contributing guide by @jamesr66a in https://github.com/jupyter/jupyter_core/pull/289Full Changelog: https://github.com/jupyter/jupyter_core/compare/4.11.1...5.0.0rc0
Nothing published for this version
Nothing published for this version
Fix inclusion of jupyter file and check in CI by @blink1073 in https://github.com/jupyter/jupyter_core/pull/276
Full Changelog: https://github.com/jupyter/jupyter_core/compare/4.11.0...4.11.1
Use hatch backend by @blink1073 in https://github.com/jupyter/jupyter_core/pull/265
Full Changelog: https://github.com/jupyter/jupyter_core/compare/4.10.0...4.11.0
Update changelog for 4.9.2 by @blink1073 in https://github.com/jupyter/jupyter_core/pull/252
jupyter_core by @jonringer in https://github.com/jupyter/jupyter_core/pull/253Full Changelog: https://github.com/jupyter/jupyter_core/compare/4.9.2...4.10.0
set proper sys.argv[0] for subcommand by @bnavigator in https://github.com/jupyter/jupyter_core/pull/248
Full Changelog: https://github.com/jupyter/jupyter_core/compare/4.9.1...4.9.2
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →