Changes in IPython kernel¶
5.2¶
5.2.1¶
5.2.0¶
5.2.0 Includes several bugfixes and internal logic improvements.
Produce better traceback when kernel is interrupted (PR #491)
Add
InProcessKernelClient.control_channel
for compatibility with jupyter-client v6.0.0 (PR #489)Drop support for Python 3.4 (PR #483)
Work around issue related to Tornado with python3.8 on Windows (PR #480, PR #481)
Prevent entering event loop if it is None (PR #464)
Use
shell.input_transformer_manager
when available (PR #411)
5.1¶
5.1.4¶
5.1.4 Includes a few bugfixes, especially for compatibility with Python 3.8 on Windows.
5.1.3¶
5.1.3 Includes several bugfixes and internal logic improvements.
Fix comm shutdown behavior by adding a
deleting
option toclose
which can be set to prevent registering new comm channels during shutdown (:ghpull:433
, :ghpull:435
)Fix
Heartbeat._bind_socket
to return on the first bind (:ghpull:431
)Moved
InProcessKernelClient.flush
toDummySocket
(:gphull:437
)Don’t redirect stdout if nose machinery is not present (:ghpull:
427
)Rename
_asyncio.py
to_asyncio_utils.py
to avoid name conflicts on Python 3.6+ (:ghpull:426
)Only generate kernelspec when installing or building wheel (:ghpull:
425
)Fix priority ordering of control-channel messages in some cases (PR #443)
5.1.2¶
5.1.2 fixes some socket-binding race conditions that caused testing failures in nbconvert.
Fix socket-binding race conditions (:ghpull:
412
, :ghpull:419
)Add a no-op
flush
method toDummySocket
and comply with stream API (:ghpull:405
)Update kernel version to indicate kernel v5.3 support (:ghpull:
394
)Add testing for upcoming Python 3.8 and PEP 570 positional parameters
(:ghpull:
396
, :ghpull:408
)
5.1.1¶
5.1.1 fixes a bug that caused cells to get stuck in a busy state.
Flush after sending replies (PR #390)
5.1.0¶
5.1.0 fixes some important regressions in 5.0, especially on Windows.
4.10¶
4.9¶
4.7¶
4.7.0¶
Add event loop integration for
asyncio
.Use the new IPython completer API.
Add support for displaying GIF images (mimetype
image/gif
).Allow the kernel to be interrupted without killing the Qt console.
Fix
is_complete
response with cell magics.Clean up encoding of bytes objects.
Clean up help links to use
https
and improve display titles.Clean up ioloop handling in preparation for tornado 5.
4.6¶
4.6.1¶
Fix eventloop-integration bug preventing Qt windows/widgets from displaying with ipykernel 4.6.0 and IPython ≥ 5.2.
Avoid deprecation warnings about naive datetimes when working with jupyter_client ≥ 5.0.
4.6.0¶
Add to API
DisplayPublisher.publish
two new fully backward-compatible keyword-args:update: bool
transient: dict
Support new
transient
key indisplay_data
messages spec forpublish
. For a display data message,transient
contains data that shouldn’t be persisted to files or documents. Add adisplay_id
to thistransient
dict bydisplay(obj, display_id=...)
Add
ipykernel_launcher
module which removes the current working directory fromsys.path
before launching the kernel. This helps to reduce the cases where the kernel won’t start because there’s arandom.py
(or similar) module in the current working directory.Add busy/idle messages on IOPub during processing of aborted requests
Add active event loop setting to GUI, which enables the correct response to IPython’s
is_event_loop_running_xxx
Include IPython kernelspec in wheels to reduce reliance on “native kernel spec” in jupyter_client
Modify
OutStream
to inherit fromTextIOBase
instead of object to improve API support and error reportingFix IPython kernel death messages at start, such as “Kernel Restarting…” and “Kernel appears to have died”, when parent-poller handles PID 1
Various bugfixes
4.5¶
4.5.2¶
Fix bug when instantiating Comms outside of the IPython kernel (introduced in 4.5.1).
4.5.1¶
Add missing
stream
parameter to overriddengetpass()
Remove locks from iopub thread, which could cause deadlocks during debugging
Fix regression where KeyboardInterrupt was treated as an aborted request, rather than an error
Allow instantiating Comms outside of the IPython kernel
4.4¶
4.4.1¶
Fix circular import of matplotlib on Python 2 caused by the inline backend changes in 4.4.0.
4.4.0¶
Use MPLBACKEND environment variable to tell matplotlib >= 1.5 use use the inline backend by default. This is only done if MPLBACKEND is not already set and no backend has been explicitly loaded, so setting
MPLBACKEND=Qt4Agg
or calling%matplotlib notebook
ormatplotlib.use('Agg')
will take precedence.Fixes for logging problems caused by 4.3, where logging could go to the terminal instead of the notebook.
Add
--sys-prefix
and--profile
arguments to ipython kernel installAllow Comm (Widget) messages to be sent from background threads.
Select inline matplotlib backend by default if
%matplotlib
magic ormatplotlib.use()
are not called explicitly (for matplotlib >= 1.5).Fix some longstanding minor deviations from the message protocol (missing status: ok in a few replies, connect_reply format).
Remove calls to NoOpContext from IPython, deprecated in 5.0.
4.3¶
4.3.2¶
Use a nonempty dummy session key for inprocess kernels to avoid security warnings.
4.3.1¶
Fix Windows Python 3.5 incompatibility caused by faulthandler patch in 4.3
4.3.0¶
Publish all IO in a thread, via
IOPubThread
. This solves the problem of requiringsys.stdout.flush()
to be called in the notebook to produce output promptly during long-running cells.Remove references to outdated IPython guiref in kernel banner.
Patch faulthandler to use
sys.__stderr__
instead of forwardedsys.stderr
, which has no fileno when forwarded.Deprecate some vestiges of the Big Split: -
ipykernel.find_connection_file()
is deprecated. Usejupyter_client.find_connection_file()
instead. - Various pieces of code specific to IPython parallel are deprecated in ipykernel and moved to ipyparallel.
4.2¶
4.2.2¶
Don’t show interactive debugging info when kernel crashes
Fix handling of numerical types in json_clean
Testing fixes for output capturing
4.2.0¶
Support sending a full message in initial opening of comms (metadata, buffers were not previously allowed)
When using
ipython kernel install --name
to install the IPython kernelspec, default display-name to the same value as--name
.