• Fix ipykernel’s stop_on_error value to take into account raises-exception tag and force_raise_errors #137


  • Set minimum python version supported to 3.6.1 to avoid 3.6.0 issues

  • CellExecutionError is now unpickleable

  • Added testing for python 3.9

  • Changed travis tests to github actions

  • Documentation referencing an old model instead of NotebookClient was fixed

  • allow_error_names option was added for a more specific scope of allow_errors to be applied


  • Update kernel client class JIT if it’s the synchronous version

  • Several documentation fixes / improvements


  • Move language_info retrieval before cell execution #102

  • HistoryManager setting for ipython kernels no longer applies twice (fix for 5.0 trailets release)

  • Improved error handling around language_info missing

  • (async_)start_new_kernel_client is now split into (async_)start_new_kernel and (async_)start_new_kernel_client

0.4.2 - 0.4.3

These patch releases were removed due to backwards incompatible changes that should have been a minor release. If you were using these versions for the couple days they were up, move to 0.5.0 and you shouldn’t have any issues.


  • Python type hinting added to most interfaces! #83

  • Several documentation fixes and improvements were made #86

  • An asynchronous heart beat check was added to correctly raise a DeadKernelError when kernels die unexpectantly #90


Major Changes

  • Use KernelManager’s graceful shutdown rather than KILLing kernels #64

  • Mimic an Output widget at the frontend so that the Output widget behaves correctly #68

  • Nested asyncio is automatic, and works with Tornado #71

  • async_execute now has a reset_kc argument to control if the client is reset upon execution request #53


  • Fix OSError: [WinError 6] The handle is invalid for windows/python<3.7 #77

  • Async wapper Exceptions no longer loose thier caused exception information #65

  • extra_arguments are now configurable by config settings #66


  • Cross-OS testing now run on PRs via Github Actions #63



  • Check that a kernel manager exists before cleaning up the kernel #61

  • Force client class to be async when kernel manager is MultiKernelManager #55

  • Replace pip install with conda install in Binder #54


Major Changes

  • The (async_)start_new_kernel_client method now supports starting a new client when its kernel manager ( is a MultiKernelManager. The method now returns the kernel id in addition to the kernel client. If the kernel manager was a KernelManager, the returned kernel id is None. #51

  • Added sphinx-book-theme for documentation. Added a CircleCI job to let us preview the built documentation in a PR. #50

  • Added reset_kc option to reset_execution_trackers, so that the kernel client can be reset and a new one created in calls to (async_)execute #44


  • Fixed documentation #46 #47

  • Added documentation status badge to the README

  • Removed conda from documentation build


Major Changes

  • Async support is now available on the client. Methods that support async have an async_ prefix and can be awaited #10 #35 #37 #38

  • Dropped support for Python 3.5 due to async compatability issues #34

  • Notebook documents now include the new kernel timing fields #32


  • Memory and process leaks from nbclient should now be fixed #34

  • Notebook execution exceptions now include error information in addition to the message #41



  • Initial release – moved out of nbconvert 6.0.0-a0