All notable changes to this project will be documented in this file.
- Tornado WebSocketHandler fixup #1083 (@davidbrochart)
(GitHub contributors page for this release)
@codecov | @davidbrochart | @pre-commit-ci
- New configurable/overridable kernel ZMQ+Websocket connection API #1047 (@Zsailer)
- Add authorization to AuthenticatedFileHandler #1021 (@jiajunjie)
- persist userid cookie when auth is disabled #1076 (@minrk)
- Fix rename_file and delete_file to handle hidden files properly #1073 (@yacchin1205)
- Add more coverage #1069 (@blink1073)
- Increase nbconvert and checkpoints coverage #1066 (@blink1073)
- Add more serverapp tests #1079 (@blink1073)
- Add more gateway tests #1078 (@blink1073)
- More cleanup #1077 (@blink1073)
- Fix hatch scripts and windows workflow run #1074 (@blink1073)
- use recommended github-workflows checker #1071 (@blink1073)
- Add more coverage #1069 (@blink1073)
- More coverage #1067 (@blink1073)
- Increase nbconvert and checkpoints coverage #1066 (@blink1073)
- Test downstream jupyter_server_terminals #1065 (@blink1073)
- Test notebook prerelease #1064 (@blink1073)
- docs: document the logging_config trait #844 (@oliver-sanders)
(GitHub contributors page for this release)
@blink1073 | @codecov | @codecov-commenter | @jiajunjie | @minrk | @oliver-sanders | @pre-commit-ci | @welcome | @yacchin1205 | @Zsailer
- Pass kernel environment to
cwd_for_path
method #1046 (@divyansshhh) - Better Handling of Asyncio #1035 (@blink1073)
- Fix min version check again #1049 (@blink1073)
- MAINT: remove python 3.4 branch #1061 (@Carreau)
- Bump actions/checkout from 2 to 3 #1056 (@dependabot)
- Bump actions/setup-python from 2 to 4 #1055 (@dependabot)
- Bump pre-commit/action from 2.0.0 to 3.0.0 #1054 (@dependabot)
- Add dependabot file #1053 (@blink1073)
- Use global env for min version check #1048 (@blink1073)
- Clean up handling of synchronous managers #1044 (@blink1073)
- Fix wording #1037 (@fcollonval)
(GitHub contributors page for this release)
@blink1073 | @Carreau | @codecov-commenter | @dependabot | @divyansshhh | @fcollonval | @pre-commit-ci
- Clean up config files #1031 (@blink1073)
- Make node optional #1030 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter
- Fallback new file type to file for contents put #1013 (@a3626a)
- Fix some typos in release instructions #1003 (@kevin-bates)
- Use admin github token for releaser #1025 (@blink1073)
- CI Cleanup #1023 (@blink1073)
- Use mdformat instead of prettier #1022 (@blink1073)
- Add pyproject validation #1020 (@blink1073)
- Remove hardcoded client install in CI #1019 (@blink1073)
- Handle client 8 pending kernels #1014 (@blink1073)
- Use releaser v2 tag #1010 (@blink1073)
- Use hatch environments to simplify test, coverage, and docs build #1007 (@blink1073)
- Update to version2 releaser #1006 (@blink1073)
- Fix GitHub actions badge link #1011 (@blink1073)
- Pin docutils to fix docs build #1004 (@blink1073)
(GitHub contributors page for this release)
@a3626a | @blink1073 | @codecov-commenter | @kevin-bates | @pre-commit-ci | @welcome
- [Gateway] Add support for gateway token renewal #985 (@kevin-bates)
- Make it easier to pass custom env variables to kernel #981 (@divyansshhh)
- Wrap the concurrent futures in an asyncio future #1001 (@blink1073)
- [Gateway] Fix and deprecate env whitelist handling #979 (@kevin-bates)
- Do not use dev version yet #999 (@blink1073)
- Add workflows for simplified publish #993 (@blink1073)
- Remove hardcoded client install #991 (@blink1073)
- Test with client 8 updates #988 (@blink1073)
- Switch to using hatchling version command #984 (@blink1073)
- Test python 3.11 on ubuntu #839 (@blink1073)
- [Gateway] Fix and deprecate env whitelist handling #979 (@kevin-bates)
(GitHub contributors page for this release)
@3coins | @blink1073 | @codecov-commenter | @divyansshhh | @kevin-bates | @meeseeksdev | @pre-commit-ci
- Accept and manage cookies when requesting gateways #969 (@wjsi)
- Emit events from the Contents Service #954 (@Zsailer)
- Retry certain errors between server and gateway #944 (@kevin-bates)
- Allow new file types #895 (@davidbrochart)
- Adds anonymous users #863 (@hbcarlos)
- switch to jupyter_events #862 (@Zsailer)
- Make it easier for extensions to customize the ServerApp #879 (@minrk)
- consolidate auth config on IdentityProvider #825 (@minrk)
- Show import error when faiing to load an extension #878 (@minrk)
- Add the root_dir value to the logging message in case of non compliant preferred_dir #804 (@echarles)
- Hydrate a Kernel Manager when calling GatewayKernelManager.start_kernel with a kernel_id #788 (@Zsailer)
- Remove terminals in favor of jupyter_server_terminals extension #651 (@Zsailer)
- fix issues with jupyter_events 0.5.0 #972 (@Zsailer)
- Correct content-type headers #965 (@epignot)
- Don't validate certs for when stopping server #959 (@Zsailer)
- Parse list value for
terminado_settings
#949 (@krassowski) - Fix bug in
api/contents
requests for an allowed copy #939 (@kiersten-stokes) - Fix error that prevents posting to
api/contents
endpoint with no body #937 (@kiersten-stokes) - avoid creating asyncio.Lock at import time #935 (@minrk)
- Fix
get_kernel_path
forAsyncFileManager
s. #929 (@thetorpedodog) - Check for serverapp for reraise flag #887 (@vidartf)
- Notify ChannelQueue that the response router thread is finishing #896 (@CiprianAnton)
- Make ChannelQueue.get_msg true async #892 (@CiprianAnton)
- Fix gateway kernel shutdown #874 (@kevin-bates)
- Defer preferred_dir validation until root_dir is set #826 (@kevin-bates)
- missing required arguments in utils.fetch #798 (@minrk)
- Run downstream tests in parallel #973 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #971 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #963 (@pre-commit-ci)
- Update pytest_plugin with fixtures to test auth in core and extensions #956 (@akshaychitneni)
- [pre-commit.ci] pre-commit autoupdate #955 (@pre-commit-ci)
- Fix docs build #952 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #945 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #942 (@pre-commit-ci)
- Fix flake8 v5 compat #941 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #938 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #928 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #902 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #894 (@pre-commit-ci)
- Normalize os_path #886 (@martinRenou)
- [pre-commit.ci] pre-commit autoupdate #885 (@pre-commit-ci)
- suppress tornado deprecation warnings #882 (@minrk)
- Fix lint #867 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #866 (@pre-commit-ci)
- Fix sphinx 5.0 support #865 (@blink1073)
- Add license metadata and file #827 (@blink1073)
- CI cleanup #824 (@blink1073)
- Switch to flit #823 (@blink1073)
- Remove unused pytest-mock dependency #814 (@mgorny)
- Remove duplicate requests requirement from setup.cfg #813 (@mgorny)
- [pre-commit.ci] pre-commit autoupdate #802 (@pre-commit-ci)
- Add helper jobs for branch protection #797 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #793 (@pre-commit-ci)
- Centralize app cleanup #792 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #785 (@pre-commit-ci)
- Clean up pre-commit #782 (@blink1073)
- Add mypy check #779 (@blink1073)
- Use new post-version-spec from jupyter_releaser #777 (@blink1073)
- Give write permissions to enforce label workflow #776 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #775 (@pre-commit-ci)
- Add explicit handling of warnings #771 (@blink1073)
- Use test-sdist from maintainer-tools #769 (@blink1073)
- Add pyupgrade and doc8 hooks #768 (@blink1073)
- update some metadata fields, sort deps #675 (@bollwyvl)
- Fix typo in IdentityProvider documentation #915 (@danielyahn)
- Add Session workflows documentation #808 (@andreyvelich)
- Add Jupyter Server Architecture diagram #801 (@andreyvelich)
- Fix path for full config doc #800 (@andreyvelich)
- Fix contributing guide for building the docs #794 (@andreyvelich)
- Update team meetings doc #772 (@willingc)
- Update documentation about registering file save hooks #770 (@davidbrochart)
- Update index.rst #970 (@razrotenberg)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @echarles | @epignot | @krassowski | @pre-commit-ci | @razrotenberg | @welcome | @wjsi | @Zsailer
- Emit events from the Contents Service #954 (@Zsailer)
- Retry certain errors between server and gateway #944 (@kevin-bates)
- Allow new file types #895 (@davidbrochart)
- Adds anonymous users #863 (@hbcarlos)
- switch to jupyter_events #862 (@Zsailer)
- Fix bug in
api/contents
requests for an allowed copy #939 (@kiersten-stokes) - Fix error that prevents posting to
api/contents
endpoint with no body #937 (@kiersten-stokes) - avoid creating asyncio.Lock at import time #935 (@minrk)
- Fix
get_kernel_path
forAsyncFileManager
s. #929 (@thetorpedodog) - Check for serverapp for reraise flag #887 (@vidartf)
- Update pytest_plugin with fixtures to test auth in core and extensions #956 (@akshaychitneni)
- [pre-commit.ci] pre-commit autoupdate #955 (@pre-commit-ci)
- Fix docs build #952 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #945 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #942 (@pre-commit-ci)
- Fix flake8 v5 compat #941 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #938 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #928 (@pre-commit-ci)
- Fix typo in IdentityProvider documentation #915 (@danielyahn)
(GitHub contributors page for this release)
@akshaychitneni | @blink1073 | @codecov-commenter | @danielyahn | @davidbrochart | @dlqqq | @hbcarlos | @kevin-bates | @kiersten-stokes | @meeseeksdev | @minrk | @pre-commit-ci | @thetorpedodog | @vidartf | @welcome | @Zsailer
- Make it easier for extensions to customize the ServerApp #879 (@minrk)
- consolidate auth config on IdentityProvider #825 (@minrk)
- Fix c.GatewayClient.url snippet syntax #917 (@rickwierenga)
- Add back support for kernel launch timeout pad #910 (@CiprianAnton)
- Improve logging of bare exceptions and other cleanups. #922 (@thetorpedodog)
- Use more explicit version template for pyproject #919 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #916 (@pre-commit-ci)
- Fix handling of dev version #913 (@blink1073)
- Fix owasp link #908 (@blink1073)
- default to system node version in precommit #906 (@dlqqq)
(GitHub contributors page for this release)
@blink1073 | @CiprianAnton | @codecov-commenter | @dlqqq | @minrk | @pre-commit-ci | @rickwierenga | @thetorpedodog | @welcome | @Zsailer
- Notify ChannelQueue that the response router thread is finishing #896 (@CiprianAnton)
- Make ChannelQueue.get_msg true async #892 (@CiprianAnton)
- Fix gateway kernel shutdown #874 (@kevin-bates)
- [pre-commit.ci] pre-commit autoupdate #902 (@pre-commit-ci)
- [pre-commit.ci] pre-commit autoupdate #894 (@pre-commit-ci)
- Normalize os_path #886 (@martinRenou)
- [pre-commit.ci] pre-commit autoupdate #885 (@pre-commit-ci)
- suppress tornado deprecation warnings #882 (@minrk)
- Fix lint #867 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #866 (@pre-commit-ci)
- Fix sphinx 5.0 support #865 (@blink1073)
- Add changelog for 2.0.0a1 #870 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @Carreau | @CiprianAnton | @codecov-commenter | @davidbrochart | @echarles | @kevin-bates | @martinRenou | @minrk | @pre-commit-ci
- Address security advisory GHSA-q874-g24w-4q9g.
- Add the root_dir value to the logging message in case of non compliant preferred_dir #804 (@echarles)
- Hydrate a Kernel Manager when calling GatewayKernelManager.start_kernel with a kernel_id #788 (@Zsailer)
- Remove terminals in favor of jupyter_server_terminals extension #651 (@Zsailer)
- Defer preferred_dir validation until root_dir is set #826 (@kevin-bates)
- missing required arguments in utils.fetch #798 (@minrk)
- Add license metadata and file #827 (@blink1073)
- CI cleanup #824 (@blink1073)
- Switch to flit #823 (@blink1073)
- Remove unused pytest-mock dependency #814 (@mgorny)
- Remove duplicate requests requirement from setup.cfg #813 (@mgorny)
- [pre-commit.ci] pre-commit autoupdate #802 (@pre-commit-ci)
- Add helper jobs for branch protection #797 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #793 (@pre-commit-ci)
- Centralize app cleanup #792 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #785 (@pre-commit-ci)
- Clean up pre-commit #782 (@blink1073)
- Add mypy check #779 (@blink1073)
- Use new post-version-spec from jupyter_releaser #777 (@blink1073)
- Give write permissions to enforce label workflow #776 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #775 (@pre-commit-ci)
- Add explicit handling of warnings #771 (@blink1073)
- Use test-sdist from maintainer-tools #769 (@blink1073)
- Add pyupgrade and doc8 hooks #768 (@blink1073)
- update some metadata fields, sort deps #675 (@bollwyvl)
- Add Session workflows documentation #808 (@andreyvelich)
- Add Jupyter Server Architecture diagram #801 (@andreyvelich)
- Fix path for full config doc #800 (@andreyvelich)
- Fix contributing guide for building the docs #794 (@andreyvelich)
- Update team meetings doc #772 (@willingc)
- Update documentation about registering file save hooks #770 (@davidbrochart)
(GitHub contributors page for this release)
@andreyvelich | @blink1073 | @bollwyvl | @codecov-commenter | @davidbrochart | @echarles | @hbcarlos | @kevin-bates | @meeseeksdev | @mgorny | @minrk | @pre-commit-ci | @SylvainCorlay | @welcome | @Wh1isper | @willingc | @Zsailer
- Add the root_dir value to the logging message in case of non compliant preferred_dir #804 (@echarles)
- Add helper jobs for branch protection #797 (@blink1073)
- [pre-commit.ci] pre-commit autoupdate #793 (@pre-commit-ci[bot])
- Update branch references and links #791 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @davidbrochart | @echarles | @kevin-bates | @meeseeksdev | @meeseeksmachine | @Wh1isper | @Zsailer
- Add
max-age
Cache-Control header to kernel logos #760 (@divyansshhh)
- Regression in connection URL calcuation in ServerApp #761 (@jhamet93)
- Include explicit package data #757 (@blink1073)
- Ensure terminal cwd exists #755 (@fcollonval)
- make 'cwd' param for TerminalManager absolute #749 (@rccern)
- wait to cleanup kernels after kernel is finished pending #748 (@Zsailer)
- Skip jsonschema in CI #766 (@blink1073)
- Remove redundant job and problematic check #765 (@blink1073)
- Update pre-commit #764 (@blink1073)
- Install pre-commit automatically #763 (@blink1073)
- Add pytest opts and use isort #762 (@blink1073)
- Ensure minimal nbconvert support jinja2 v2 & v3 #756 (@fcollonval)
- Fix error handler in simple extension examples #750 (@andreyvelich)
- Clean up workflows #747 (@blink1073)
- Remove Redundant Dir_Exists Invocation When Creating New Files with ContentsManager #720 (@jhamet93)
(GitHub contributors page for this release)
@andreyvelich | @blink1073 | @codecov-commenter | @divyansshhh | @dleen | @fcollonval | @jhamet93 | @meeseeksdev | @minrk | @rccern | @welcome | @Zsailer
- More CI Cleanup #742 (@blink1073)
- Clean up downstream tests #741 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @Zsailer
- Relax type checking on ExtensionApp.serverapp #739 (@minrk)
- raise no-authorization warning once and allow disabled authorization #738 (@Zsailer)
- Fix sdist test #736 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @minrk | @Zsailer
- Fix server-extension paths (3rd time's the charm) #734 (@minrk)
- Revert "Server extension paths (#730)" #732 (@blink1073)
- Avoid usage of ipython_genutils #718 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @minrk
- Server extension paths #730 (@minrk)
- allow handlers to work without an authorizer in the Tornado settings #717 (@Zsailer)
- Skip nbclassic downstream tests for now #725 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @minrk | @Zsailer
- Revert "Re-use ServerApp.config_file_paths for consistency (#715)" #728 (@blink1073)
(GitHub contributors page for this release)
- Validate notebooks once per fetch or save #724 (@kevin-bates)
- Register pre/post save hooks, call them sequentially #696 (@davidbrochart)
- Implement Required Methods in Async Manner #721 (@jhamet93)
- Call pre_save_hook only on first chunk of large files #716 (@davidbrochart)
- Re-use ServerApp.config_file_paths for consistency #715 (@minrk)
- serverapp: Use .absolute() instead of .resolve() for symlinks #712 (@EricCousineau-TRI)
- Fall back to legacy protocol if selected_subprotocol raises exception #706 (@davidbrochart)
- Fix FilesHandler not meet RFC 6713 #701 (@Wh1isper)
- Clean up CI #723 (@blink1073)
- Clean up activity recording #722 (@blink1073)
- Clean up Dependency Handling #707 (@blink1073)
- Add Minimum Requirements Test #704 (@blink1073)
- Clean up handling of tests #700 (@blink1073)
- Refresh precommit #698 (@blink1073)
- Use pytest-github-actions-annotate-failures #694 (@blink1073)
- Add WebSocket wire protocol documentation #693 (@davidbrochart)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @davidbrochart | @echarles | @EricCousineau-TRI | @jhamet93 | @kevin-bates | @minrk | @vidartf | @welcome | @Wh1isper | @Zsailer
- Protocol alignment #657 (@davidbrochart)
- Fix to remove potential memory leak on Jupyter Server ZMQChannelHandler code #682 (@Vishwajeet0510)
- Pin pywintpy for now #681 (@blink1073)
- Fix the non-writable path deletion error #670 (@vkaidalov)
- make unit tests backwards compatible without pending kernels #669 (@Zsailer)
- Clean up full install test #689 (@blink1073)
- Update trigger_precommit.yml #687 (@blink1073)
- Add Auto Pre-Commit #685 (@blink1073)
- Fix a typo #683 (@krassowski)
- (temporarily) skip pending kernels unit tests on Windows CI #673 (@Zsailer)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @davidbrochart | @echarles | @github-actions | @jasongrout | @krassowski | @maartenbreddels | @SylvainCorlay | @Vishwajeet0510 | @vkaidalov | @welcome | @Wh1isper | @Zsailer
- Fix nbconvert handler run_sync() #667 (@davidbrochart)
(GitHub contributors page for this release)
@codecov-commenter | @davidbrochart | @Zsailer
(GitHub contributors page for this release)
- Don't block the event loop when exporting with nbconvert #655 (@davidbrochart)
- Add more awaits for pending kernel in unit tests #654 (@Zsailer)
- Print IPv6 url as hostname or enclosed in brackets #652 (@op3)
- Run pre_save_hook before model check #643 (@davidbrochart)
- handle KeyError when get session #641 (@ccw630)
- Clean up deprecations #650 (@blink1073)
- Update branch references #646 (@blink1073)
- pyproject.toml: clarify build system version #634 (@adamjstewart)
(GitHub contributors page for this release)
@adamjstewart | @blink1073 | @ccw630 | @codecov-commenter | @davidbrochart | @echarles | @fcollonval | @kevin-bates | @op3 | @welcome | @Wh1isper | @Zsailer
- Fix macos pypy check #632 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @Zsailer
- Nudge on the control channel instead of the shell #628 (@JohanMabille)
- Clean up downstream tests #629 (@blink1073)
- Clean up version info handling #620 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @echarles | @JohanMabille | @jtpio | @Zsailer
- Update to Python 3.10 in the CI workflows #618 (@jtpio)
- Use
maintainer-tools
base setup action #616 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @jtpio
- Consistent logging method #607 (@mwakaba2)
- Use pending kernels #593 (@blink1073)
- Set
xsrf
cookie on base url #612 (@minrk) - Update
jpserver_extensions
trait to work withtraitlets
5.x #610 (@Zsailer) - Fix
allow_origin_pat
property to properly parse regex #603 (@havok2063)
- Enforce labels on PRs #613 (@blink1073)
- Normalize file name and path in
test_api
#608 (@toonn)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @havok2063 | @minrk | @mwakaba2 | @toonn | @welcome | @Zsailer
- Fix \s deprecation warning #600 (@Zsailer)
- Remove requests-unixsocket dependency #599 (@kevin-bates)
- bugfix: dir_exists is never awaited #597 (@stdll00)
- Fix missing await when call 'async_replace_file' #595 (@Wh1isper)
- add a pytest fixture for capturing logging stream #588 (@Zsailer)
- Avoid dependency on NBConvert versions for REST API test #601 (@Zsailer)
- Bump ansi-regex from 5.0.0 to 5.0.1 #590 (@dependabot)
(GitHub contributors page for this release)
@codecov-commenter | @dependabot | @kevin-bates | @stdll00 | @welcome | @Wh1isper | @Zsailer
- Do not log connection error if the kernel is already shutdown #584 (@martinRenou)
- [BUG]: allow None for min_open_files_limit trait #587 (@Zsailer)
(GitHub contributors page for this release)
@codecov-commenter | @martinRenou | @Zsailer
- Allow non-empty directory deletion through settings #574 (@fcollonval)
- pytest_plugin: allow user specified headers in jp_ws_fetch #580 (@oliver-sanders)
- Shutdown kernels/terminals on api/shutdown #579 (@martinRenou)
- pytest: package conftest #576 (@oliver-sanders)
- Set stacklevel on warning to point to the right place. #572 (@Carreau)
- Respect reraise setting #571 (@vidartf)
- Fix jupyter_client warning #581 (@martinRenou)
- Add Pre-Commit Config #575 (@fcollonval)
- Clean up link checking #569 (@blink1073)
(GitHub contributors page for this release)
@blink1073 | @Carreau | @codecov-commenter | @fcollonval | @martinRenou | @oliver-sanders | @vidartf
- fix: make command line aliases work again #564 (@mariobuikhuizen)
- decode bytes from secure cookie #562 (@oliver-sanders)
- Add the needed space in the welcome message #561 (@echarles)
- Update check-release workflow #558 (@afshin)
(GitHub contributors page for this release)
@afshin | @codecov-commenter | @echarles | @manics | @mariobuikhuizen | @oliver-sanders | @welcome | @Zsailer
- Protect against unset spec #556 (@fcollonval)
(GitHub contributors page for this release)
- PR: Add a new preferred-dir traitlet #549 (@goanpeca)
- stop hook for extensions #526 (@oliver-sanders)
- extensions: allow extensions in namespace packages #523 (@oliver-sanders)
- Fix examples/simple test execution #552 (@davidbrochart)
- Rebuild package-lock, fixing local setup #548 (@martinRenou)
- small test changes #541 (@oliver-sanders)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @davidbrochart | @goanpeca | @kevin-bates | @martinRenou | @oliver-sanders | @welcome | @Zsailer
- enable a way to run a task when an io_loop is created #531 (@eastonsuo)
- adds
GatewayClient.auth_scheme
configurable #529 (@telamonian) - [Notebook port 4835] Add UNIX socket support to notebook server #525 (@jtpio)
- Fix nbconvert handler #545 (@davidbrochart)
- Fixes AsyncContentsManager#exists #542 (@icankeep)
- argon2 as an optional dependency #532 (@vidartf)
- Test Downstream Packages #528 (@blink1073)
- fix jp_ws_fetch not work by its own #441 #527 (@eastonsuo)
- Update link to meeting notes #535 (@krassowski)
(GitHub contributors page for this release)
@blink1073 | @codecov-commenter | @davidbrochart | @eastonsuo | @icankeep | @jtpio | @kevin-bates | @krassowski | @telamonian | @vidartf | @welcome | @Zsailer
- Upgrade anyio to 3.1 for all py versions #521 (@mwakaba2)
- Enable Server Tests on Windows #519 (@jtpio)
- restore preference for SelectorEventLoop on Windows #513 (@minrk)
- set default config dir name #504 (@minrk)
(GitHub contributors page for this release)
@codecov-commenter | @jtpio | @minrk | @mwakaba2 | @vidartf | @welcome | @Zsailer
- Fix for recursive symlink - (port Notebook 4670) #497 (@kevin-bates)
- Make nbconvert root handler asynchronous #512 (@hMED22)
- Refactor gateway kernel management to achieve a degree of consistency #483 (@kevin-bates)
- Remove Packaging Dependency #515 (@jtpio)
- Use kernel_id for new kernel if it doesn't exist in MappingKernelManager.start_kernel #511 (@the-higgs)
- Include backtrace in debug output when extension fails to load #506 (@candlerb)
- ExtensionPoint: return True on successful validate() #503 (@minrk)
- ExtensionManager: load default config manager by default #502 (@minrk)
- Prep for Release Helper Usage #494 (@jtpio)
- Typo in shutdown with answer_yes #491 (@kiendang)
- Remove some of ipython_genutils no-op. #440 (@Carreau)
- Drop dependency on pywin32 #514 (@kevin-bates)
- Upgrade anyio to v3 #492 (@mwakaba2)
- Add Appropriate Token Permission for CodeQL Workflow #489 (@afshin)
(GitHub contributors page for this release)
@codecov-commenter | @hMED22 | @jtpio | @kevin-bates | @the-higgs | @welcome @blink1073 | @candlerb | @kevin-bates | @minrk | @mwakaba2 | @Zsailer | @kiendang | [@Carreau] (https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3ACarreau+updated%3A2021-04-21..2021-05-01&type=Issues)
(GitHub contributors page for this release)
- Gate anyio version. 2b51ee3
- Fix activity tracking and nudge issues when kernel ports change on restarts #482 (@kevin-bates)
(GitHub contributors page for this release)
(GitHub contributors page for this release)
- Fix race condition with async kernel management #472 (@jtpio)
- Fix kernel lookup #475 (@davidbrochart)
- Add Extension App Aliases to Server App #473 (@jtpio)
- Correct 'Content-Type' headers #471 (@faucct)
(GitHub contributors page for this release)
@codecov-io | @davidbrochart | @echarles | @faucct | @jtpio | @welcome
- Add Changelog to Sphinx Docs #465 (@afshin)
- Update description for kernel restarted in the API docs #463 (@jtpio)
- Delete the extra “or” that prevents easy cut-and-paste of URLs. #460 (@jasongrout)
- Add descriptive log for port unavailable and port-retries=0 #459 (@afshin)
- Add ReadTheDocs config #468 (@jtpio)
- Update MappingKM.restart_kernel to accept now kwarg #404 (@vidartf)
(GitHub contributors page for this release)
@afshin | @codecov-io | @echarles | @jasongrout | @jtpio | @kevin-bates | @vidartf
Merged pull requests:
- Ensure jupyter config dir exists #454 (@afshin)
- Allow
pre_save_hook
to cancel save withHTTPError
#456 (@minrk)
Contributors to this release:
(GitHub contributors page for this release)
Merged pull requests:
- Add Styling to the HTML Pages #452 (@afshin)
- Implement password hashing with
argon2-cffi
#450 (@afshin) - Escape user input in handlers flagged during code scans #449 (@kevin-bates)
- Fix for the terminal shutdown issue #446 (@afshin)
- Update the branch filter for the CI badge #445 (@jtpio)
- Fix for
UnboundLocalError
in shutdown #444 (@afshin) - Update CI badge and fix broken link #443 (@blink1073)
- Fix syntax typo #442 (@kiendang)
- Port terminal culling from Notebook #438 (@kevin-bates)
- More complex handling of
open_browser
from extension applications #433 (@afshin) - Correction in Changelog #429 (@Zsailer)
- Rename translation function alias #428 (@sngyo)
Contributors to this release:
(GitHub contributors page for this release)
@afshin | @blink1073 | @codecov-io | @jtpio | @kevin-bates | @kiendang | @minrk | @sngyo | @Zsailer
1.4.1 (2021-02-22)
Merged pull requests:
- Update README.md #425 (@BobinMathew)
- Solve UnboundLocalError in launch_browser() #421 (@jamesmishra)
- Add file_to_run to server extension docs #420 (@Zsailer)
- Remove outdated reference to _jupyter_server_extension_paths in docs #419 (@Zsailer)
Contributors to this release:
(GitHub contributors page for this release)
1.4.0 (2021-02-18)
Merged pull requests:
- Add Tests to Distribution #416 (afshin)
- Enable extensions to control the file_to_run #415 (afshin)
- add missing template for view.html #414 (minrk)
- Remove obsoleted asyncio-patch fixture #412 (kevin-bates)
- Emit deprecation warning on old name #411 (fcollonval)
- Correct logging message position #410 (fcollonval)
- Update 1.3.0 Changelog to include broken 1.2.3 PRs #408 (kevin-bates)
- [Gateway] Track only this server's kernels #407 (kevin-bates)
- Update manager.py: more descriptive warnings when extensions fail to load #396 (alberti42)
1.3.0 (2021-02-04)
Merged pull requests (includes those from broken 1.2.3 release):
- Special case ExtensionApp that starts the ServerApp #401 (afshin)
- only use deprecated notebook_dir config if root_dir is not set #400 (minrk)
- Use async kernel manager by default #399 (kevin-bates)
- Revert Session.username default value change #398 (mwakaba2)
- Re-enable default_url in ExtensionApp #393 (afshin)
- Enable notebook ContentsManager in jupyter_server #392 (afshin)
- Use jupyter_server_config.json as config file in the update password api #390 (echarles)
- Increase culling test idle timeout #388 (kevin-bates)
- update changelog for 1.2.2 #387 (Zsailer)
1.2.3 (2021-01-29)
This was a broken release and was yanked from PyPI.
Merged pull requests:
- Re-enable default_url in ExtensionApp #393 (afshin)
- Enable notebook ContentsManager in jupyter_server #392 (afshin)
- Use jupyter_server_config.json as config file in the update password api #390 (echarles)
- Increase culling test idle timeout #388 (kevin-bates)
- update changelog for 1.2.2 #387 (Zsailer)
1.2.2 (2021-01-14)
Merged pull requests:
- Apply missing ensure_async to root session handler methods #386 (kevin-bates)
- Update changelog to 1.2.1 #385 (Zsailer)
- Fix application exit #384 (afshin)
- Replace secure_write, is_hidden, exists with jupyter_core's #382 (kevin-bates)
- Add --autoreload flag #380 (afshin)
1.2.1 (2021-01-08)
Merged pull requests:
- Enable extensions to set debug and open-browser flags #379 (afshin)
- Add reconnection to Gateway #378 (oyvsyo)
1.2.0 (2021-01-07)
Merged pull requests:
- Flip default value for open_browser in extensions #377 (ajbozarth)
- Improve Handling of the soft limit on open file handles #376 (afshin)
- Handle open_browser trait in ServerApp and ExtensionApp differently #375 (afshin)
- Add setting to disable redirect file browser launch #374 (afshin)
- Make trust handle use ensure_async #373 (vidartf)
1.1.4 (2021-01-04)
Merged pull requests:
- Update the link to paths documentation #371 (krassowski)
- IPythonHandler -> JupyterHandler #370 (krassowski)
- use setuptools find_packages, exclude tests, docs and examples from dist #368 (bollwyvl)
- Update serverapp.py #367 (michaelaye)
1.1.3 (2020-12-23)
Merged pull requests:
1.1.2 (2020-12-21)
Merged pull requests:
- Nudge kernel with info request until we receive IOPub messages #361 (SylvainCorlay)
1.1.1 (2020-12-16)
Merged pull requests:
Merged pull requests:
- Restore pytest plugin from pytest-jupyter #360 (kevin-bates)
- Fix upgrade packaging dependencies build step #354 (mwakaba2)
- Await _connect and inline read_messages callback to _connect #350 (ricklamers)
- Update release instructions and dev version #348 (kevin-bates)
- Fix test_trailing_slash #346 (kevin-bates)
- Apply security advisory fix to master #345 (kevin-bates)
- Allow toggling auth for prometheus metrics #344 (yuvipanda)
- Port Notebook PRs 5565 and 5588 - terminal shell heuristics #343 (kevin-bates)
- Port gateway updates from notebook (PRs 5317 and 5484) #341 (kevin-bates)
- add check_origin handler to gateway WebSocketChannelsHandler #340 (ricklamers)
- Remove pytest11 entrypoint and plugin, require tornado 6.1, remove asyncio patch, CI work #339 (bollwyvl)
- Switch fixtures to use those in pytest-jupyter to avoid collisions #335 (kevin-bates)
- Enable CodeQL runs on all pushed branches #333 (kevin-bates)
- Asynchronous Contents API #324 (mwakaba2)
1.0.6 is a security release, fixing one vulnerability:
- Fix open redirect vulnerability GHSA-grfj-wjv9-4f9v (CVE-2020-26232)
- Added a basic, styled
login.html
template. (220, 295) - Added new extension manager API for handling server extensions. (248, 265, 275, 303)
- The favicon and Jupyter logo are now available under jupyter_server's static namespace. (284)
load_jupyter_server_extension
should be renamed to_load_jupyter_server_extension
in server extensions. Server now throws a warning when the old name is used. (213)- Docs for server extensions now recommend using
authenticated
decorator for handlers. (219) _load_jupyter_server_paths
should be renamed to_load_jupyter_server_points
in server extensions. (277)static_url_prefix
in ExtensionApps is now a configurable trait. (289)extension_name
trait was removed in favor ofname
. (232)- Dropped support for Python 3.5. (296)
- Made the
config_dir_name
trait configurable inConfigManager
. (297)
- Removed ipykernel as a dependency of jupyter_server. (255)
- Prevent a re-definition of prometheus metrics if
notebook
package already imports them. (#210) - Fixed
terminals
REST API unit tests that weren't shutting down properly. (221) - Fixed jupyter_server on Windows for Python < 3.7. Added patch to handle subprocess cleanup. (240)
base_url
was being duplicated when getting a url path from theServerApp
. (280)- Extension URLs are now properly prefixed with
base_url
. Previously, allstatic
paths were not. (285) - Changed ExtensionApp mixin to inherit from
HasTraits
. This broke in traitlets 5.0 (294) - Replaces
urlparse
withurl_path_join
to prevent URL squashing issues. (304)
- (#191) Async kernel managment is now possible using the
AsyncKernelManager
fromjupyter_client
- (#201) Parameters can now be passed to new terminals created by the
terminals
REST API.
- (#196) Documentation was rewritten + refactored to use pydata_sphinx_theme.
- (#174)
ExtensionHandler
was changed to an Mixin class, i.e.ExtensionHandlerMixin
- (#194) The bundlerextension entry point was removed.
- pytest-plugin for Jupyter Server.
- Allows one to write async/await syntax in tests functions.
- Some particularly useful fixtures include:
serverapp
: a default ServerApp instance that handles setup+teardown.configurable_serverapp
: a function that returns a ServerApp instance.fetch
: an awaitable function that tests makes requests to the server APIcreate_notebook
: a function that writes a notebook to a given temporary file path.
extension
submodule (#48)- ExtensionApp - configurable JupyterApp-subclass for server extensions
- Most useful for Jupyter frontends, like Notebook, JupyterLab, nteract, voila etc.
- Launch with entrypoints
- Configure from file or CLI
- Add custom templates, static assets, handlers, etc.
- Static assets are served behind a
/static/<extension_name>
endpoint. - Run server extensions in "standalone mode" (#70 and #76)
- ExtensionHandler - tornado handlers for extensions.
- Finds static assets at
/static/<extension_name>
- Finds static assets at
- ExtensionApp - configurable JupyterApp-subclass for server extensions
jupyter serverextension <command>
entrypoint has been changed tojupyter server extension <command>
.toggle_jupyter_server
andvalidate_jupyter_server
function no longer take a Logger object as an argument.- Changed testing framework from nosetests to pytest (#152)
- Depend on pytest-tornasync extension for handling tornado/asyncio eventloop
- Depend on pytest-console-scripts for testing CLI entrypoints
- Added Github actions as a testing framework along side Travis and Azure (#146)
- Removed the option to update
root_dir
trait in FileContentsManager and MappingKernelManager in ServerApp (#135)
- Synced Jupyter Server with Notebook PRs in batches (ended on 2019-09-27)
- Added a "secure_write to function for cookie/token saves (#77)