All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
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)