8000 docs: update whatsnew 9.11 with all post-merge PRs by Copilot · Pull Request #15147 · ipython/ipython · GitHub
[go: up one dir, main page]

Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions docs/source/whatsnew/version9.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,75 @@
9.x Series
============

.. _version 9.11:

IPython 9.11
============

This release includes a new shell error-handling config option, a reproducible
banner for builds, history thread management improvements, autoreload encoding
fixes, Python 3.11 deprecation notices, and various type annotation improvements.

- :ghpull:`15073` Add ``system_raise_on_error`` config option for ``!`` shell operator
- :ghpull:`15121` Start dropping Python 3.11
- :ghpull:`15122` Fix encoding to utf8 for autoreload
- :ghpull:`15130` Stricter config + add typing to ``IPython/core/magic.py``
- :ghpull:`15133` Inline and remove only usage of ``on_off``
- :ghpull:`15144` Have a static banner when setting ``SOURCE_DATE_EPOCH``

In addition there are many type annotations that have been added by using Generative AI (Clause Sonnet and Opus from
Anthropicl; GitHub Copilot)



New ``system_raise_on_error`` Config Option
--------------------------------------------

A new ``system_raise_on_error`` Bool traitlet configuration option (default:
``False``) has been added. When set to ``True``, shell commands executed via
the ``!`` operator will raise :exc:`subprocess.CalledProcessError` if they
return a non-zero exit status. This makes it easier to write robust IPython
scripts that need to detect shell command failures::

%config InteractiveShell.system_raise_on_error = True
A2C8 ! false # will now raise CalledProcessError


Reproducible Banner
--------------------

When the ``SOURCE_DATE_EPOCH`` environment variable is set, IPython now
produces a static, reproducible banner. This
helps with reproducible builds and packaging workflows that may capture this state
(related to
`jupyterlab/jupyterlab#18552 <https://github.com/jupyterlab/jupyterlab/issues/18552>`_).


Python 3.11 Deprecation
------------------------

IPython has begun the process of dropping support for Python 3.11. Users
still running Python 3.11 should plan to upgrade to a supported Python
version.


Autoreload Encoding Fix
------------------------

The autoreload extension now explicitly sets UTF-8 as the default encoding
when reading source files. Previously, the platform default encoding was
used, which could cause failures on systems where the default encoding is
not UTF-8.

Thanks
------

Thanks as well to the `D. E. Shaw group <https://deshaw.com/>`_ for sponsoring
work on IPython.

As usual, you can find the full list of PRs on GitHub under `the 9.11
<https://github.com/ipython/ipython/milestone/160?closed=1>`__ milestone.


.. _version 9.10:

Expand Down
Loading
0