diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 000000000..0c9a7792e --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,434 @@ +# Changes in IPython kernel + +## 5.5 + +### 5.5.0 +* kernelspec: ensure path is writable before writing `kernel.json`. [#593](https://github.com/ipython/ipykernel/pull/593) +* Add `configure_inline_support` and call it in the shell. [#590](https://github.com/ipython/ipykernel/pull/590) + +## 5.4 + +### 5.4.3 + +* Rework `wait_for_ready` logic. [#578](https://github.com/ipython/ipykernel/pull/578) + +### 5.4.2 + +* Revert \"Fix stop_on_error_timeout blocking other messages in + queue\". [#570](https://github.com/ipython/ipykernel/pull/570) + +### 5.4.1 + +* Invalid syntax in `ipykernel/log.py`. [#567](https://github.com/ipython/ipykernel/pull/567) + +### 5.4.0 + +5.4.0 is generally focused on code quality improvements and tornado +asyncio compatibility. + +* Add github actions, bail on asyncio patch for tornado 6.1. + [#564](https://github.com/ipython/ipykernel/pull/564) +* Start testing on Python 3.9. [#551](https://github.com/ipython/ipykernel/pull/551) +* Fix stack levels for ipykernel\'s deprecation warnings and stop + using some deprecated APIs. [#547](https://github.com/ipython/ipykernel/pull/547) +* Add env parameter to kernel installation [#541](https://github.com/ipython/ipykernel/pull/541) +* Fix stop_on_error_timeout blocking other messages in queue. + [#539](https://github.com/ipython/ipykernel/pull/539) +* Remove most of the python 2 compat code. [#537](https://github.com/ipython/ipykernel/pull/537) +* Remove u-prefix from strings. [#538](https://github.com/ipython/ipykernel/pull/538) + +## 5.3 + +### 5.3.4 + +* Only run Qt eventloop in the shell stream. [#531](https://github.com/ipython/ipykernel/pull/531) + +### 5.3.3 + +* Fix QSocketNotifier in the Qt event loop not being disabled for the + control channel. [#525](https://github.com/ipython/ipykernel/pull/525) + +### 5.3.2 + +* Restore timer based event loop as a Windows-compatible fallback. + [#523](https://github.com/ipython/ipykernel/pull/523) + +### 5.3.1 + +* Fix \#520: run post_execute and post_run_cell on async cells + [#521](https://github.com/ipython/ipykernel/pull/521) +* Fix exception causes in zmqshell.py [#516](https://github.com/ipython/ipykernel/pull/516) +* Make pdb on Windows interruptible [#490](https://github.com/ipython/ipykernel/pull/490) + +### 5.3.0 + +5.3.0 Adds support for Trio event loops and has some bug fixes. + +* Fix ipython display imports [#509](https://github.com/ipython/ipykernel/pull/509) +* Skip test_unc_paths if OS is not Windows [#507](https://github.com/ipython/ipykernel/pull/507) +* Allow interrupting input() on Windows, as part of effort to make pdb + interruptible [#498](https://github.com/ipython/ipykernel/pull/498) +* Add Trio Loop [#479](https://github.com/ipython/ipykernel/pull/479) +* Flush from process even without newline [#478](https://github.com/ipython/ipykernel/pull/478) + +## 5.2 + +### 5.2.1 + +* Handle system commands that use UNC paths on Windows + [#500](https://github.com/ipython/ipykernel/pull/500) +* Add offset argument to seek in io test [#496](https://github.com/ipython/ipykernel/pull/496) + +### 5.2.0 + +5.2.0 Includes several bugfixes and internal logic improvements. + +* Produce better traceback when kernel is interrupted + [#491](https://github.com/ipython/ipykernel/pull/491) +* Add `InProcessKernelClient.control_channel` for compatibility with + jupyter-client v6.0.0 [#489](https://github.com/ipython/ipykernel/pull/489) +* Drop support for Python 3.4 [#483](https://github.com/ipython/ipykernel/pull/483) +* Work around issue related to Tornado with python3.8 on Windows + ([#480](https://github.com/ipython/ipykernel/pull/480), [#481](https://github.com/ipython/ipykernel/pull/481)) +* Prevent entering event loop if it is None [#464](https://github.com/ipython/ipykernel/pull/464) +* Use `shell.input_transformer_manager` when available + [#411](https://github.com/ipython/ipykernel/pull/411) + +## 5.1 + +### 5.1.4 + +5.1.4 Includes a few bugfixes, especially for compatibility with Python +3.8 on Windows. + +* Fix pickle issues when using inline matplotlib backend + [#476](https://github.com/ipython/ipykernel/pull/476) +* Fix an error during kernel shutdown [#463](https://github.com/ipython/ipykernel/pull/463) +* Fix compatibility issues with Python 3.8 ([#456](https://github.com/ipython/ipykernel/pull/456), [#461](https://github.com/ipython/ipykernel/pull/461)) +* Remove some dead code ([#474](https://github.com/ipython/ipykernel/pull/474), + [#467](https://github.com/ipython/ipykernel/pull/467)) + +### 5.1.3 + +5.1.3 Includes several bugfixes and internal logic improvements. + +* Fix comm shutdown behavior by adding a `deleting` option to `close` + which can be set to prevent registering new comm channels during + shutdown ([#433](https://github.com/ipython/ipykernel/pull/433), [#435](https://github.com/ipython/ipykernel/pull/435)) +* Fix `Heartbeat._bind_socket` to return on the first bind ([#431](https://github.com/ipython/ipykernel/pull/431)) +* Moved `InProcessKernelClient.flush` to `DummySocket` ([#437](https://github.com/ipython/ipykernel/pull/437)) +* Don\'t redirect stdout if nose machinery is not present ([#427](https://github.com/ipython/ipykernel/pull/427)) +* Rename `_asyncio.py` to + `_asyncio_utils.py` to avoid name conflicts on Python + 3.6+ ([#426](https://github.com/ipython/ipykernel/pull/426)) +* Only generate kernelspec when installing or building wheel ([#425](https://github.com/ipython/ipykernel/pull/425)) +* Fix priority ordering of control-channel messages in some cases + [#443](https://github.com/ipython/ipykernel/pull/443) + +### 5.1.2 + +5.1.2 fixes some socket-binding race conditions that caused testing +failures in nbconvert. + +* Fix socket-binding race conditions ([#412](https://github.com/ipython/ipykernel/pull/412), + [#419](https://github.com/ipython/ipykernel/pull/419)) +* Add a no-op `flush` method to `DummySocket` and comply with stream + API ([#405](https://github.com/ipython/ipykernel/pull/405)) +* Update kernel version to indicate kernel v5.3 support ([#394](https://github.com/ipython/ipykernel/pull/394)) +* Add testing for upcoming Python 3.8 and PEP 570 positional + parameters ([#396](https://github.com/ipython/ipykernel/pull/396), [#408](https://github.com/ipython/ipykernel/pull/408)) + +### 5.1.1 + +5.1.1 fixes a bug that caused cells to get stuck in a busy state. + +* Flush after sending replies [#390](https://github.com/ipython/ipykernel/pull/390) + +### 5.1.0 + +5.1.0 fixes some important regressions in 5.0, especially on Windows. + +[5.1.0 on GitHub](https://github.com/ipython/ipykernel/milestones/5.1) + +* Fix message-ordering bug that could result in out-of-order + executions, especially on Windows [#356](https://github.com/ipython/ipykernel/pull/356) +* Fix classifiers to indicate dropped Python 2 support + [#354](https://github.com/ipython/ipykernel/pull/354) +* Remove some dead code [#355](https://github.com/ipython/ipykernel/pull/355) +* Support rich-media responses in `inspect_requests` (tooltips) + [#361](https://github.com/ipython/ipykernel/pull/361) + +## 5.0 + +### 5.0.0 + +[5.0.0 on GitHub](https://github.com/ipython/ipykernel/milestones/5.0) + +* Drop support for Python 2. `ipykernel` 5.0 requires Python \>= 3.4 +* Add support for IPython\'s asynchronous code execution + [#323](https://github.com/ipython/ipykernel/pull/323) +* Update release process in `CONTRIBUTING.md` [#339](https://github.com/ipython/ipykernel/pull/339) + +## 4.10 + +[4.10 on GitHub](https://github.com/ipython/ipykernel/milestones/4.10) + +* Fix compatibility with IPython 7.0 [#348](https://github.com/ipython/ipykernel/pull/348) +* Fix compatibility in cases where sys.stdout can be None + [#344](https://github.com/ipython/ipykernel/pull/344) + +## 4.9 + +### 4.9.0 + +[4.9.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.9) + +* Python 3.3 is no longer supported [#336](https://github.com/ipython/ipykernel/pull/336) +* Flush stdout/stderr in KernelApp before replacing + [#314](https://github.com/ipython/ipykernel/pull/314) +* Allow preserving stdout and stderr in KernelApp + [#315](https://github.com/ipython/ipykernel/pull/315) +* Override writable method on OutStream [#316](https://github.com/ipython/ipykernel/pull/316) +* Add metadata to help display matplotlib figures legibly + [#336](https://github.com/ipython/ipykernel/pull/336) + +## 4.8 + +### 4.8.2 + +[4.8.2 on GitHub](https://github.com/ipython/ipykernel/milestones/4.8.2) + +* Fix compatibility issue with qt eventloop and pyzmq 17 + [#307](https://github.com/ipython/ipykernel/pull/307). + +### 4.8.1 + +[4.8.1 on GitHub](https://github.com/ipython/ipykernel/milestones/4.8.1) + +* set zmq.ROUTER_HANDOVER socket option when available to workaround + libzmq reconnect bug [#300](https://github.com/ipython/ipykernel/pull/300). +* Fix sdists including absolute paths for kernelspec files, which + prevented installation from sdist on Windows + [#306](https://github.com/ipython/ipykernel/pull/306). + +### 4.8.0 + +[4.8.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.8) + +* Cleanly shutdown integrated event loops when shutting down the + kernel. [#290](https://github.com/ipython/ipykernel/pull/290) +* `%gui qt` now uses Qt 5 by default rather than Qt 4, following a + similar change in terminal IPython. [#293](https://github.com/ipython/ipykernel/pull/293) +* Fix event loop integration for `asyncio` when run with Tornado 5, which uses asyncio where + available. [#296](https://github.com/ipython/ipykernel/pull/296) + +## 4.7 + +### 4.7.0 + +[4.7.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.7) + +* 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 + +[4.6.1 on GitHub](https://github.com/ipython/ipykernel/milestones/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 + +[4.6.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.6) + +* Add to API `DisplayPublisher.publish` two new fully + backward-compatible keyword-args: + + > * `update: bool` + > * `transient: dict` + +* Support new `transient` key in + `display_data` messages spec for `publish`. + For a display data message, `transient` contains data + that shouldn\'t be persisted to files or documents. Add a + `display_id` to this `transient` dict by + `display(obj, display_id=\...)` + +* Add `ipykernel_launcher` module which removes the + current working directory from `sys.path` before + launching the kernel. This helps to reduce the cases where the + kernel won\'t start because there\'s a `random.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 from + `TextIOBase` instead of object to improve API support + and error reporting + +* Fix 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 + +[4.5.2 on GitHub](https://github.com/ipython/ipykernel/milestones/4.5.2) + +* Fix bug when instantiating Comms outside of the IPython kernel + (introduced in 4.5.1). + +### 4.5.1 + +[4.5.1 on GitHub](https://github.com/ipython/ipykernel/milestones/4.5.1) + +* Add missing `stream` parameter to overridden + `getpass` +* 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.5.0 + +[4.5 on GitHub](https://github.com/ipython/ipykernel/milestones/4.5) + +* Use figure.dpi instead of savefig.dpi to set DPI for inline figures +* Support ipympl matplotlib backend (requires IPython update as well + to fully work) +* Various bugfixes, including fixes for output coming from threads, + and `input` when called with + non-string prompts, which stdlib allows. + +## 4.4 + +### 4.4.1 + +[4.4.1 on GitHub](https://github.com/ipython/ipykernel/milestones/4.4.1) + +* Fix circular import of matplotlib on Python 2 caused by the inline + backend changes in 4.4.0. + +### 4.4.0 + +[4.4.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.4) + +* Use + [MPLBACKEND](http://matplotlib.org/devel/coding_guide.html?highlight=mplbackend#developing-a-new-backend) + 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` or + `matplotlib.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 install`. +* Allow Comm (Widget) messages to be sent from background threads. +* Select inline matplotlib backend by default if `%matplotlib` magic + or `matplotlib.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 + +[4.3.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.3) + +* Publish all IO in a thread, via `IOPubThread`. This solves the problem of requiring + `sys.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 forwarded + `sys.stderr`, which has no fileno when forwarded. +* Deprecate some vestiges of the Big Split: + * `ipykernel.find_connection_file` + is deprecated. Use + `jupyter_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 + +[4.2.2 on GitHub](https://github.com/ipython/ipykernel/milestones/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.1 + +[4.2.1 on GitHub](https://github.com/ipython/ipykernel/milestones/4.2.1) + +* Fix default display name back to \"Python X\" instead of \"pythonX\" + +### 4.2.0 + +[4.2 on GitHub](https://github.com/ipython/ipykernel/milestones/4.2) + +* 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`. + +## 4.1 + +### 4.1.1 + +[4.1.1 on GitHub](https://github.com/ipython/ipykernel/milestones/4.1.1) + +* Fix missing `ipykernel.__version__` on Python 2. +* Fix missing `target_name` when opening comms from the frontend. + +### 4.1.0 + +[4.1 on GitHub](https://github.com/ipython/ipykernel/milestones/4.1) + +* add `ipython kernel install` entrypoint for installing the IPython + kernelspec +* provisional implementation of `comm_info` request/reply for msgspec + v5.1 + +## 4.0 + +[4.0 on GitHub](https://github.com/ipython/ipykernel/milestones/4.0) + +4.0 is the first release of ipykernel as a standalone package. diff --git a/docs/changelog.rst b/docs/changelog.rst deleted file mode 100644 index ad06796ca..000000000 --- a/docs/changelog.rst +++ /dev/null @@ -1,436 +0,0 @@ -Changes in IPython kernel -========================= - -5.5 ---- - -5.5.0 ------ -- Kernelspec: ensure path is writable before writing ``kernel.json``. (:ghpull:`593`) -- Add ``configure_inline_support`` and call it in the shell. (:ghpull:`590`) - -5.4 ---- - -5.4.3 -***** -- Rework wait_for_ready logic. (:ghpull:`578`) - -5.4.2 -***** -- Revert "Fix stop_on_error_timeout blocking other messages in queue". (:ghpull:`570`) - -5.4.1 -***** -- Invalid syntax in ipykernel/log.py. (:ghpull:`567`) - -5.4.0 -***** - -5.4.0 is generally focused on code quality improvements and tornado asyncio compatibility. - -- Add github actions, bail on asyncio patch for tornado 6.1. (:ghpull:`564`) -- Start testing on Python 3.9. (:ghpull:`551`) -- Fix stack levels for ipykernel's deprecation warnings and stop using some deprecated APIs. (:ghpull:`547`) -- Add env parameter to kernel installation (:ghpull:`541`) -- Fix stop_on_error_timeout blocking other messages in queue. (:ghpull:`539`) -- Remove most of the python 2 compat code. (:ghpull:`537`) -- Remove u-prefix from strings. (:ghpull:`538`) - -5.3 ---- - -5.3.4 -***** -- Only run Qt eventloop in the shell stream. (:ghpull:`531`) - -5.3.3 -***** -- Fix QSocketNotifier in the Qt event loop not being disabled for the control channel. (:ghpull:`525`) - -5.3.2 -***** -- Restore timer based event loop as a Windows-compatible fallback. (:ghpull:`523`) - -5.3.1 -***** - -- Fix #520: run post_execute and post_run_cell on async cells (:ghpull:`521`) -- Fix exception causes in zmqshell.py (:ghpull:`516`) -- Make pdb on Windows interruptible (:ghpull:`490`) - -5.3.0 -***** - -5.3.0 Adds support for Trio event loops and has some bug fixes. - -- Fix ipython display imports (:ghpull:`509`) -- Skip test_unc_paths if OS is not Windows (:ghpull:`507`) -- Allow interrupting input() on Windows, as part of effort to make pdb interruptible (:ghpull:`498`) -- Add Trio Loop (:ghpull:`479`) -- Flush from process even without newline (:ghpull:`478`) - - -5.2 ---- - -5.2.1 -***** - -- Handle system commands that use UNC paths on Windows (:ghpull:`500`) -- Add offset argument to seek in io test (:ghpull:`496`) - -5.2.0 -***** - -5.2.0 Includes several bugfixes and internal logic improvements. - -- Produce better traceback when kernel is interrupted (:ghpull:`491`) -- Add ``InProcessKernelClient.control_channel`` for compatibility with jupyter-client v6.0.0 (:ghpull:`489`) -- Drop support for Python 3.4 (:ghpull:`483`) -- Work around issue related to Tornado with python3.8 on Windows (:ghpull:`480`, :ghpull:`481`) -- Prevent entering event loop if it is None (:ghpull:`464`) -- Use ``shell.input_transformer_manager`` when available (:ghpull:`411`) - -5.1 ---- - -5.1.4 -***** - -5.1.4 Includes a few bugfixes, -especially for compatibility with Python 3.8 on Windows. - -- Fix pickle issues when using inline matplotlib backend (:ghpull:`476`) -- Fix an error during kernel shutdown (:ghpull:`463`) -- Fix compatibility issues with Python 3.8 (:ghpull:`456`, :ghpull:`461`) -- Remove some dead code (:ghpull:`474`, :ghpull:`467`) - -5.1.3 -***** - -5.1.3 Includes several bugfixes and internal logic improvements. - -- Fix comm shutdown behavior by adding a ``deleting`` option to ``close`` 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`` to ``DummySocket`` (: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 (:ghpull:`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 to ``DummySocket`` 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 (:ghpull:`390`) - - -5.1.0 -***** - -5.1.0 fixes some important regressions in 5.0, especially on Windows. - -`5.1.0 on GitHub `__ - -- Fix message-ordering bug that could result in out-of-order executions, - especially on Windows (:ghpull:`356`) -- Fix classifiers to indicate dropped Python 2 support (:ghpull:`354`) -- Remove some dead code (:ghpull:`355`) -- Support rich-media responses in ``inspect_requests`` (tooltips) (:ghpull:`361`) - - -5.0 ---- - -5.0.0 -***** - -`5.0.0 on GitHub `__ - -- Drop support for Python 2. ``ipykernel`` 5.0 requires Python >= 3.4 -- Add support for IPython's asynchronous code execution (:ghpull:`323`) -- Update release process in ``CONTRIBUTING.md`` (:ghpull:`339`) - - -4.10 ----- - -`4.10 on GitHub `__ - -- Fix compatibility with IPython 7.0 (:ghpull:`348`) -- Fix compatibility in cases where sys.stdout can be None (:ghpull:`344`) - -4.9 ---- - -4.9.0 -***** - -`4.9.0 on GitHub `__ - -- Python 3.3 is no longer supported (:ghpull:`336`) -- Flush stdout/stderr in KernelApp before replacing (:ghpull:`314`) -- Allow preserving stdout and stderr in KernelApp (:ghpull:`315`) -- Override writable method on OutStream (:ghpull:`316`) -- Add metadata to help display matplotlib figures legibly (:ghpull:`336`) - - -4.8 ---- - -4.8.2 -***** - -`4.8.2 on GitHub `__ - -- Fix compatibility issue with qt eventloop and pyzmq 17 (:ghpull:`307`). - -4.8.1 -***** - -`4.8.1 on GitHub `__ - -- set zmq.ROUTER_HANDOVER socket option when available - to workaround libzmq reconnect bug (:ghpull:`300`). -- Fix sdists including absolute paths for kernelspec files, - which prevented installation from sdist on Windows - (:ghpull:`306`). - -4.8.0 -***** - -`4.8.0 on GitHub `__ - -- Cleanly shutdown integrated event loops when shutting down the kernel. - (:ghpull:`290`) -- ``%gui qt`` now uses Qt 5 by default rather than Qt 4, following a similar - change in terminal IPython. (:ghpull:`293`) -- Fix event loop integration for :mod:`asyncio` when run with Tornado 5, - which uses asyncio where available. (:ghpull:`296`) - -4.7 ---- - -4.7.0 -***** - -`4.7.0 on GitHub `__ - -- Add event loop integration for :mod:`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 -***** - -`4.6.1 on GitHub `__ - -- 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 -***** - -`4.6.0 on GitHub `__ - -- Add to API `DisplayPublisher.publish` two new fully backward-compatible - keyword-args: - - - `update: bool` - - `transient: dict` - -- Support new `transient` key in `display_data` messages spec for `publish`. - For a display data message, `transient` contains data that shouldn't be - persisted to files or documents. Add a `display_id` to this `transient` - dict by `display(obj, display_id=...)` -- Add `ipykernel_launcher` module which removes the current working directory - from `sys.path` before launching the kernel. This helps to reduce the cases - where the kernel won't start because there's a `random.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 from `TextIOBase` instead of object to improve - API support and error reporting -- Fix 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 -***** - -`4.5.2 on GitHub `__ - -- Fix bug when instantiating Comms outside of the IPython kernel (introduced in 4.5.1). - - -4.5.1 -***** - -`4.5.1 on GitHub `__ - -- Add missing ``stream`` parameter to overridden :func:`getpass` -- 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.5.0 -***** - -`4.5 on GitHub `__ - -- Use figure.dpi instead of savefig.dpi to set DPI for inline figures -- Support ipympl matplotlib backend (requires IPython update as well to fully work) -- Various bugfixes, including fixes for output coming from threads, - and :func:`input` when called with non-string prompts, which stdlib allows. - - -4.4 ---- - -4.4.1 -***** - -`4.4.1 on GitHub `__ - -- Fix circular import of matplotlib on Python 2 caused by the inline backend changes in 4.4.0. - - -4.4.0 -***** - -`4.4.0 on GitHub `__ - -- 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`` or ``matplotlib.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 :command:`ipython kernel install` -- Allow Comm (Widget) messages to be sent from background threads. -- Select inline matplotlib backend by default if ``%matplotlib`` magic or - ``matplotlib.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. - -.. _MPLBACKEND: http://matplotlib.org/devel/coding_guide.html?highlight=mplbackend#developing-a-new-backend - - -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 -***** - -`4.3.0 on GitHub `__ - -- Publish all IO in a thread, via :class:`IOPubThread`. - This solves the problem of requiring :meth:`sys.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 forwarded ``sys.stderr``, - which has no fileno when forwarded. -- Deprecate some vestiges of the Big Split: - - :func:`ipykernel.find_connection_file` is deprecated. Use :func:`jupyter_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 -***** - -`4.2.2 on GitHub `__ - -- Don't show interactive debugging info when kernel crashes -- Fix handling of numerical types in json_clean -- Testing fixes for output capturing - -4.2.1 -***** - -`4.2.1 on GitHub `__ - -- Fix default display name back to "Python X" instead of "pythonX" - -4.2.0 -***** - -`4.2 on GitHub `_ - -- 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``. - -4.1 ---- - -4.1.1 -***** - -`4.1.1 on GitHub `_ - -- Fix missing ``ipykernel.__version__`` on Python 2. -- Fix missing ``target_name`` when opening comms from the frontend. - -4.1.0 -***** - -`4.1 on GitHub `_ - - -- add ``ipython kernel install`` entrypoint for installing the IPython - kernelspec -- provisional implementation of ``comm_info`` request/reply for msgspec - v5.1 - -4.0 ---- - -`4.0 on GitHub `_ - -4.0 is the first release of ipykernel as a standalone package. diff --git a/docs/conf.py b/docs/conf.py index 74dcf4d48..eefd27475 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -30,6 +30,7 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + 'myst_parser', 'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinxcontrib_github_alt', diff --git a/docs/index.rst b/docs/index.rst index 770904d7e..c83dff2be 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,7 +11,7 @@ Contents: .. toctree:: :maxdepth: 2 - changelog.rst + changelog Indices and tables diff --git a/docs/requirements.txt b/docs/requirements.txt index 623e487ab..3026b0bb2 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1,2 @@ sphinxcontrib_github_alt +myst_parser