Changes in jupyter-core#
5.7.2#
Maintenance and upkeep improvements#
Update Release Scripts #396 (@blink1073)
Enforce pytest 7 #393 (@blink1073)
chore: update pre-commit hooks #392 (@pre-commit-ci)
Contributors to this release#
5.7.1#
Bugs fixed#
Derive JupyterAsyncApp from JupyterApp #389 (@blink1073)
Contributors to this release#
5.7.0#
Enhancements made#
Modernize event loop behavior #387 (@blink1073)
Maintenance and upkeep improvements#
chore: update pre-commit hooks #388 (@pre-commit-ci)
Contributors to this release#
5.6.1#
Bugs fixed#
Fix export of package version #386 (@blink1073)
Revert “Enable async JupyterApp” #385 (@blink1073)
Maintenance and upkeep improvements#
Bump github/codeql-action from 2 to 3 #380 (@dependabot)
Contributors to this release#
5.6.0#
Enhancements made#
Enable async JupyterApp #381 (@blink1073)
Contributors to this release#
5.5.1#
Bugs fixed#
Account for read only file systems in migration #379 (@blink1073)
Maintenance and upkeep improvements#
Update ruff and typings #376 (@blink1073)
chore: update pre-commit hooks #374 (@pre-commit-ci)
Clean up lint and add downstream checks #373 (@blink1073)
Contributors to this release#
5.5.0#
Maintenance and upkeep improvements#
Fix typing for traitlets 5.13 #372 (@blink1073)
Adopt pydata sphinx theme #371 (@blink1073)
Use ruff format #370 (@blink1073)
Update typings for mypy 1.6 #368 (@blink1073)
Lowercase APPNAME on macOS Homebrew #364 (@singingwolfboy)
Contributors to this release#
5.4.0#
Maintenance and upkeep improvements#
Add python 3.12 support #367 (@blink1073)
Update typings for traitlets 5.11 #366 (@blink1073)
Contributors to this release#
5.3.2#
Bugs fixed#
Fix event loop handling #362 (@blink1073)
Maintenance and upkeep improvements#
Bump actions/checkout from 3 to 4 #361 (@dependabot)
Adopt sp-repo-review #360 (@blink1073)
Contributors to this release#
5.3.1#
Bugs fixed#
Better handling of config migration #356 (@smartass101)
Maintenance and upkeep improvements#
Fix write_executable test #351 (@blink1073)
Use local coverage #349 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @davidbrochart | @jamescooke | @pre-commit-ci | @smartass101
5.3.0#
Bugs fixed#
Fix pywin32 version constraint #347 (@blink1073)
Maintenance and upkeep improvements#
Support platformdirs 3 #342 (@blink1073)
Contributors to this release#
5.2.0#
Enhancements made#
Maintenance and upkeep improvements#
Add more linting #338 (@blink1073)
Contributors to this release#
5.1.5#
Maintenance and upkeep improvements#
Contributors to this release#
5.1.4#
Bugs fixed#
Contributors to this release#
5.1.3#
Bugs fixed#
Clear the test environment before each function run #333 (@jasongrout)
Maintenance and upkeep improvements#
Contributors to this release#
5.1.2#
Maintenance and upkeep improvements#
Add spell check and ensure docstrings #327 (@blink1073)
Documentation improvements#
Add api docs #328 (@blink1073)
Contributors to this release#
5.1.1#
Enhancements made#
Bugs fixed#
Maintenance and upkeep improvements#
Fix lint #325 (@blink1073)
Adopt ruff and address lint #321 (@blink1073)
Contributors to this release#
5.1.0#
Enhancements made#
Add run_sync and ensure_async functions #315 (@davidbrochart)
Maintenance and upkeep improvements#
Add more path tests #316 (@blink1073)
Clean up workflows and add badges #314 (@blink1073)
CI Cleanup #312 (@blink1073)
Documentation improvements#
Clean up workflows and add badges #314 (@blink1073)
Contributors to this release#
5.0.0#
Major Changes#
Prefer Environment Level Configuration#
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.
Migrate to Standard Platform Directories#
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.
Drop Support for Python 3.7#
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.
Enhancements made#
Use platformdirs for path locations #292 (@blink1073)
Try to detect if we are in a virtual environment and change path precedence accordingly #286 (@jasongrout)
Bugs fixed#
Add current working directory as first config path #291 (@blink1073)
Fix inclusion of jupyter file and check in CI #276 (@blink1073)
Maintenance and upkeep improvements#
Bump github/codeql-action from 1 to 2 #308 (@dependabot)
Bump actions/checkout from 2 to 3 #307 (@dependabot)
Add dependabot #306 (@blink1073)
Adopt jupyter releaser #305 (@blink1073)
Add more typing #304 (@blink1073)
Require Python 3.8+ #302 (@blink1073)
Use hatch backend #265 (@blink1073)
Switch to flit build backend #262 (@blink1073)
is_hidden: Use normalized paths #271 (@martinRenou)
Documentation#
Update broken link to
Contributing
guide #289 (@jamesr66a)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @bollwyvl | @dependabot | @dlqqq | @gaborbernat | @gutow | @jamesr66a | @jaraco | @jasongrout | @kevin-bates | @maartenbreddels | @martinRenou | @meeseeksmachine | @pre-commit-ci
5.0.0rc0#
4.11#
4.11.1#
Fix inclusion of jupyter file and check in CI. (#276)
4.11.0#
4.10#
4.10.0#
4.9#
4.9.2#
4.9.1#
Add a workaround for virtualenv for getting the user site directory. (#247)
4.9.0#
See the jupyter_core 4.9 milestone on GitHub for the full list of pull requests and issues closed.
Add Python site user base subdirectories to config and data user-level paths if
site.ENABLE_USER_SITE
is True. One way to disable these directory additions is to set thePYTHONNOUSERSITE
environment variable. These locations can be customized by setting thePYTHONUSERBASE
environment variable. (#242)
4.8#
4.8.2#
jupyter_core 4.8.1 was released the same day as 4.8.0 and also included the fix below for the Windows tests. Unfortunately, the 4.8.1 release commit and tag were not pushed to GitHub. We are releasing 4.8.2 so we have a commit and tag in version control.
Fix windows test regression (#240)
4.8.0#
See the jupyter_core 4.8 milestone on GitHub for the full list of pull requests and issues closed.
jupyter-core now has experimental support for PyPy (Python 3.7). Some features are known not to work due to limitations in PyPy, such as hidden file detection on Windows.
Print an error message instead of an exception when a command is not found (#218)
Return canonical path when using
%APPDATA%
on Windows (#222)Print full usage on missing or invalid commands (#225)
Remove dependency on
pywin32
package on PyPy (#230)Update packages listed in
jupyter --version
(#232)Inherit base aliases/flags from traitlets Application, including
--show-config
from traitlets 5 (#233)Trigger warning when trying to check hidden file status on PyPy (#238)
4.7#
4.7.1#
Allow creating user to delete secure file (#213)
4.7.0#
See the jupyter_core 4.7 milestone on GitHub for the full list of pull requests and issues closed.
Add a new
JUPYTER_PREFER_ENV_PATH
variable, which can be set to switch the order of the environment-level path and the user-level path in the Jupyter path hierarchy (e.g.,jupyter --paths
). It is considered set if it is a value that is not one of ‘no’, ‘n’, ‘off’, ‘false’, ‘0’, or ‘0.0’ (case insensitive). If you are running Jupyter in multiple virtual environments as the same user, you will likely want to set this environment variable.Drop Python 2.x and 3.5 support, as they have reached end of life.
Add Python 3.9 builds to testing, and expand testing to cover Windows, macOS, and Linux platforms.
jupyter --paths --debug
now explains the environment variables that affect the current path list.Update the file hidden check on Windows to use new Python features rather than ctypes directly.
Add conda environment information in
jupyter troubleshoot
.Update
_version.version_info
and_version.__version__
to follow Python conventions.
4.6#
4.6.3#
Changed windows secure_write path to skip all filesystem permission checks when running in insecure mode. Too many exception paths existed for mounted file systems to reliably try to set them before opting out with the insecure write pattern.
4.6.2#
Add ability to allow insecure writes with JUPYTER_ALLOW_INSECURE_WRITES environment variable (#182).
Docs typo and build fixes
Added python 3.7 and 3.8 builds to testing
4.6.1#
4.6.0#
Unicode characters existing in the user’s home directory name are properly handled (#131).
mock
is now only required for testing on Python 2 (#157).Deprecation warnings relative to
_runtime_dir_changed
are no longer produced (#158).The
scripts
directory relative to the current python environment is now appended to the search directory for subcommands (#162).Some utility functions (
exists()
,is_hidden()
,secure_write()
) have been moved fromjupyter_client
andjupyter_server
tojupyter_core
(#163).Fix error on Windows when setting private permissions (#166).
4.5#
4.5.0#
jupyter --version
now tries to show the version number of various other installed Jupyter packages, not justjupyter_core
(#136). This will hopefully make it clearer that there are various packages with their own version numbers.Allow a
JUPYTER_CONFIG_PATH
environment variable to specify a search path of additional locations for config (#139).jupyter subcommand
no longer modifies thePATH
environment variable when it runsjupyter-subcommand
(#148).Jupyter’s ‘runtime’ directory no longer uses
XDG_RUNTIME_DIR
(#143). While it has some attractive properties, it has led to various problems; see the pull request for details.Fix
JupyterApp
to respect theraise_config_file_errors
traitlet (#149).Various improvements to the bash completion scripts in this repository (#125, #126).
The
setup.py
script now always uses setuptools, like most other Jupyter projects (#147).The LICENSE file is included in wheels (#133).
4.4#
4.4.0#
jupyter troubleshoot
gets the list of packages from the Python environment it’s in, by usingsys.executable
to callpip list
(#104).Added utility function
ensure_dir_exists
, and switched to using it over the one from ipython_genutils, which does permissions wrong (#113).Avoid creating the
~/.ipython
directory when checking if it exists for config migration (#118).Fix mistaken description in zsh completions (#98).
Fix subcommand tests on Windows (#103).
The README now describes how to work on
jupyter_core
and build the docs (#110).Fix a broken link to a release in the docs (#109).
4.3#
4.3.0#
Add
JUPYTER_NO_CONFIG
environment variable for disabling all Jupyter configuration.More detailed error message when failing to launch subcommands.
4.2#
4.2.1#
Fix error message on Windows when subcommand not found.
Correctly display PATH in
jupyter troubleshoot
on Windows.
4.2.0#
Make
jupyter
directory top priority in search path for subcommands, so thatjupyter-subcommand
next tojupyter
will always be picked if present.Avoid using
shell=True
for subcommand dispatch on Windows.
4.1#
4.1.1#
Include symlink directory and real location on subcommand PATH when
jupyter
is a symlink.
4.1.0#
Add
jupyter.py
module, so thatpython -m jupyter
always works.Add prototype
jupyter troubleshoot
command for displaying environment info.Ensure directory containing
jupyter
executable is included when dispatching subcommands.Unicode fixes for Legacy Python.
4.0#
4.0.6#
fix typo preventing migration when custom.css is missing
4.0.5#
fix subcommands on Windows (yes, again)
fix migration when custom.js/css are not present
4.0.4#
fix subcommands on Windows (again)
ensure
jupyter --version
outputs to stdout
4.0.3#
setuptools fixes needed to run on Windows
4.0.2#
fixes for jupyter-migrate
4.0.1#
This is the first release of the jupyter-core package.