unstale

pypi / ipykernel

ipykernel

What changed in ipykernel 6 to 7, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-07.

11 breaking2 security2 deprecations11 new APIs and options5 behavior and defaults13 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.11 on npm

ipykernel 729 changes

Breaking changes 4

  • The minimum supported Python version is now 3.11.

    7.4.0release notes

  • The PUB socket was replaced with an XPUB socket.

    7.2.0release notes

  • By default, thread output routes to the latest cell unless get_ipython().set_parent() is called explicitly; this behavior is now opt-in.

    7.1.0release notes

  • Support for Python 3.9 is dropped.

    7.0.0release notes

Security 2

  • The debugger temporary directory is created with 0o700 permissions.

    7.4.0release notes

  • Supports ZMQ Curve for transport encryption.

    7.3.0release notes

New APIs and options 7

  • Thread-local parent headers can now be set and reset.

    7.4.0release notes

  • Adds register_hook to ZMQShellDisplayHook so developers can register display hooks.

    7.3.0release notes

  • ZMQInteractiveShell supports the new iPython system_raise_on_error flag.

    7.3.0release notes

  • Adds unregister_hook to ZMQShellDisplayHook so developers can unregister display hooks.

    7.3.0release notes

  • The kernelspec now includes kernel_protocol_version, allowing the kernel protocol version to be specified there.

    7.2.0release notes

  • Adds a traitlet to store display outputs in history for %notebook saves; it defaults to False.

    6.31.0, 7.1.0release notesrelease notes

  • Adds experimental support for kernel subshells, implemented using Tornado event loops.

    7.0.0release notes

Behavior and default changes 5

  • Async cells can now process Comm messages.

    7.4.0release notes

  • psutil is optional at runtime and its import is deferred until needed.

    7.4.0release notes

  • Passes cell_meta from do_execute to run_cell.

    7.3.0release notes

  • The kernel filters internal frames from callstacks.

    7.2.0release notes

  • The kernel now advertises protocol 5.5.

    7.2.0release notes

Fixes and other changes 11

  • The debug handler now validates variable names.

    7.4.0release notes

  • ProactorEventLoop is enabled for ipykernel on Windows.

    7.4.0release notes

  • When a subshell is unknown, replies now follow the busy, error, idle sequence.

    7.4.0release notes

  • supported_encryption now uses a list, matching the latest JEP state.

    7.4.0release notes

  • Cell execution is marked as failing when a formatter errors out.

    7.3.0release notes

  • The IOPubThread constructor is backward compatible, helping existing code continue to work.

    7.2.0release notes

  • A close event was added for the wx timer app.

    7.2.0release notes

  • Fixes ContextVars persisting between cells.

    7.1.0release notes

  • Uses the kernel launching thread instead of assuming the main thread, fixing failures of asserts when kernels launch in new threads.

    7.1.0release notes

  • Fixes keyboard interrupts on Windows by manually resetting the interrupt event.

    7.1.0release notes

  • Fixes display of Matplotlib plots in separate windows.

    7.1.0release notes

ipykernel 615 changes

Breaking changes 7

  • Runs the control channel in a separate thread, which may change the order in which messages are processed.

    6.0.0release notes

  • Removes find_connection_file and the profile argument of connect_qtconsole and get_connection_info.

    6.0.0release notes

  • Removes the deprecated module; the notes direct users to import similar functionalities from ipyparallel.

    6.0.0release notes

  • The isatty method returns true, which can improve some output such as colored output but may break other output.

    6.0.0release notes

  • Updates the Python requirement to 3.7.

    6.0.0release notes

  • Captures stdout and stderr output, including subprocesses and compiled libraries; some frontends may show duplicated output.

    6.0.0release notes

  • Changes the default timeout to 0.0 seconds.

    6.0.0release notes

Deprecations 2

  • Deprecates Kernel._parent_header; use .get_parent() instead.

    6.0.0release notes

  • Multiple shell streams are ignored and Kernel.shell_streams is deprecated; use Kernel.shell_stream instead.

    6.0.0release notes

New APIs and options 4

  • Adds the ability to set a cell name.

    6.0.0release notes

  • Adds debugger protocol support, enabling debugger functionality in JupyterLab, RetroLab, and other compatible frontends.

    6.0.0release notes

  • Implements the inspectVariables request; returned variables also include a type field.

    6.0.0release notes

  • Adds Kernel.get_parent_header.

    6.0.0release notes

Fixes and other changes 2

  • Adds Kernel.get_parent to match set_parent.

    6.0.0release notes

  • Returns the length of the item written to OutStream.

    6.0.0release notes