Changes in jupyter-core¶
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_PATHvariable, 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 --debugnow 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
_version.__version__to follow Python conventions.
- 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.
- Add ability to allow insecure writes with JUPYTER_ALLOW_INSECURE_WRITES environement variable (PR #182).
- Docs typo and build fixes
- Added python 3.7 and 3.8 builds to testing
- Unicode characters existing in the user’s home directory name are properly handled (PR #131).
mockis now only required for testing on Python 2 (PR #157).
- Deprecation warnings relative to
_runtime_dir_changedare no longer produced (PR #158).
scriptsdirectory relative to the current python environment is now appended to the search directory for subcommands (PR #162).
- Some utility functions (
secure_write()) have been moved from
- Fix error on Windows when setting private permissions (PR #166).
jupyter --versionnow tries to show the version number of various other installed Jupyter packages, not just
jupyter_core(PR #136). This will hopefully make it clearer that there are various packages with their own version numbers.
- Allow a
JUPYTER_CONFIG_PATHenvironment variable to specify a search path of additional locations for config (PR #139).
jupyter subcommandno longer modifies the
PATHenvironment variable when it runs
- Jupyter’s ‘runtime’ directory no longer uses
XDG_RUNTIME_DIR(PR #143). While it has some attractive properties, it has led to various problems; see the pull request for details.
JupyterAppto respect the
raise_config_file_errorstraitlet (PR #149).
- Various improvements to the bash completion scripts in this repository (PR #125, PR #126).
setup.pyscript now always uses setuptools, like most other Jupyter projects (PR #147).
- The LICENSE file is included in wheels (PR #133).
jupyter troubleshootgets the list of packages from the Python environment it’s in, by using
pip list(PR #104).
- Added utility function
ensure_dir_exists, and switched to using it over the one from ipython_genutils, which does permissions wrong (PR #113).
- Avoid creating the
~/.ipythondirectory when checking if it exists for config migration (PR #118).
- Fix mistaken description in zsh completions (PR #98).
- Fix subcommand tests on Windows (PR #103).
- The README now describes how to work on
jupyter_coreand build the docs (PR #110).
- Fix a broken link to a release in the docs (PR #109).
- Fix error message on Windows when subcommand not found.
- Correctly display PATH in
jupyter troubleshooton Windows.
- Include symlink directory and real location on subcommand PATH when
jupyteris a symlink.
- fix subcommands on Windows (yes, again)
- fix migration when custom.js/css are not present