Changelog

This documents notable changes in IJulia.jl. The format is based on Keep a Changelog.

v1.29.0 - 2025-06-13

Added

Fixed

  • Fixed handling of the Jupyter process in notebook() and jupyterlab() when Ctrl + C'ing to shutdown the server, now any running kernels will be cleanly shutdown as well (#1165).

v1.28.1 - 2025-06-02

Fixed

  • Fixed a deadlock in the shutdown_request handler that would cause the kernel to hang when exiting (#1163).

v1.28.0 - 2025-06-01

Added

  • notebook() and jupyterlab() now support a verbose keyword argument to echo output from Jupyter to the terminal, which can be useful when debugging kernels (#1157).

Changed

  • IJulia no longer uses a standalone kernel.jl file to launch the kernel, it instead calls a function inside the IJulia module. This means that kernel specs don't use absolute paths anymore and it's not necessary to rebuild IJulia after updating the package (#1158).
  • Colors in stacktraces are now displayed properly in Jupyter (#1161).

Fixed

  • The Julia major and minor version are no longer appended to a custom specname in installkernel(). The default specname that derives from name and appends the Julia version remains unchanged (#1154).
  • Fixed adding multiple packages in Pkg mode (#1160).
  • Fixed an edge-case in inspection requests that would cause autocompletion to not work properly (#1159).

v1.27.0 - 2025-04-01

Added

Fixed

  • The internal heartbeat thread will now shut down cleanly (#1135, #1144, #1150). This should prevent segfaults upon exit.
  • Various fixes to the messaging code to be compliant with Jupyter (#1138, #1150).
  • Improved threadsafety of the IO-handling code so that it should be safe to call flush() concurrently (#1149).