- Update to 8.16.1
* Small double release of IPython (with the 8.12.3 release notes
just below). Mostly bug fixes and cleanups, and type
annotations. Of interest for users:
* #14153 Fix a bug of the new iPdb chained traceback where some
Exception would not have any traceback. (see upstream fix in
CPython for more details).
* #14168 Fix case with spurious message about event loops when
using matplotlib.
- Remove skip_python312 (see changelog for 8.15)
OBS-URL: https://build.opensuse.org/request/show/1116206
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=43
* Small double release of IPython (with the 8.12.3 release notes
just below). Mostly bug fixes and cleanups, and type
annotations. Of interest for users:
* #14153 Fix a bug of the new iPdb chained traceback where some
Exception would not have any traceback. (see upstream fix in
CPython for more details).
* #14168 Fix case with spurious message about event loops when
using matplotlib.
- Remove skip_python312 (see changelog for 8.15)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=118
- Update to 8.15.0
* Improve compatibility with future version of Python 3.12/3.13
:ghpull:`14107`, gh#`14139`,
* Improve support for ExceptionGroups, gh#`14108`
* Fix hangs in %gui osx, gh#`14125`
* Fix memory lead with %reset, gh#`14133`
* Unstable config option to modify traceback highlighting that is
sometime hard to read gh#`14138`
* Support . in ipdb as an argument to the list command gh#`14121`
* Workroud parso showing warning message when the default logger
level is changed gh#`14119`
* Fix multiple issues with matplotlib interactive mode, qt5/qt6
gh#`14128`
## Whatsnew
* Support for PEP-678 Exception Notes
* Native fallback for displaying ExceptionGroup
* AST-based macros
* Allow IPdb/Pdb to move between chained exceptions
OBS-URL: https://build.opensuse.org/request/show/1113222
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=42
* Improve compatibility with future version of Python 3.12/3.13
:ghpull:`14107`, gh#`14139`,
* Improve support for ExceptionGroups, gh#`14108`
* Fix hangs in %gui osx, gh#`14125`
* Fix memory lead with %reset, gh#`14133`
* Unstable config option to modify traceback highlighting that is
sometime hard to read gh#`14138`
* Support . in ipdb as an argument to the list command gh#`14121`
* Workroud parso showing warning message when the default logger
level is changed gh#`14119`
* Fix multiple issues with matplotlib interactive mode, qt5/qt6
gh#`14128`
## Whatsnew
* Support for PEP-678 Exception Notes
* Native fallback for displaying ExceptionGroup
* AST-based macros
* Allow IPdb/Pdb to move between chained exceptions
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=116
- Update to 8.14.0
* PR #14080 fixes some shortcuts issues.
* PR #14056 Add option to %autoreload to hide errors when
reloading code.
* PR #14039 (and PR #14040) to show exception notes in
tracebacks.
* PR #14076 Add option to EventManager to prevent printing
## SPEC 0 and SPEC 4
* You’ve heard about the NEPs, (NumPy enhancement Proposal),
having a NEP for something non-numpy specific was sometime
confusing. Long live the SPECs.
* We are now trying to follow SPEC 0 (aka old NEP 29) for of
support of upstream libraries.
* We also now try to follow SPEC 4 (test and publish nightly on a
centralized nightly repository). We encourage you to do so as
well in order to report breakage, and contribute to the SPEC
process !
## Python 3.12 compatibility ?
* Python 3.12 changed its tokenizer to have better support for
f-strings and allow arbitrary expression. This is a great new
feature and performance improvement in python 3.12.
* Unfortunately this means the new tokenizer does not support
incomplete or invalid Python which will break many features of
IPython. Thus compatibility of IPython with Python 3.12 is not
guarantied. It is unclear to which extent IPython is affected,
and whether we can/should try to still support magics, shell
escape (! ....), …, as well as how to do it if we can.
* In addition even if we there is technical feasibility to do so,
it is no clear we have the resources to do it. We are thus
looking for your help if you can _test_ on Python 3.12 to see
to which extent this affects users and which features are
critical.
* We are not going to pin IPython to Python <3.12 as otherwise on
install pip would downgrade/resolve to IPython 8.13, so if you
plan to update to Python 3.12 after its release, we encourage
for extra care.
- Skip potential future python312 because of the above
- Add %{?sle15_python_module_pythons}
OBS-URL: https://build.opensuse.org/request/show/1092420
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=41
- Update to 8.14.0
* PR #14080 fixes some shortcuts issues.
* PR #14056 Add option to %autoreload to hide errors when
reloading code.
* PR #14039 (and PR #14040) to show exception notes in
tracebacks.
* PR #14076 Add option to EventManager to prevent printing
## SPEC 0 and SPEC 4
* You’ve heard about the NEPs, (NumPy enhancement Proposal),
having a NEP for something non-numpy specific was sometime
confusing. Long live the SPECs.
* We are now trying to follow SPEC 0 (aka old NEP 29) for of
support of upstream libraries.
* We also now try to follow SPEC 4 (test and publish nightly on a
centralized nightly repository). We encourage you to do so as
well in order to report breakage, and contribute to the SPEC
process !
## Python 3.12 compatibility ?
* Python 3.12 changed its tokenizer to have better support for
f-strings and allow arbitrary expression. This is a great new
feature and performance improvement in python 3.12.
* Unfortunately this means the new tokenizer does not support
incomplete or invalid Python which will break many features of
IPython. Thus compatibility of IPython with Python 3.12 is not
guarantied. It is unclear to which extent IPython is affected,
and whether we can/should try to still support magics, shell
escape (! ....), …, as well as how to do it if we can.
* In addition even if we there is technical feasibility to do so,
it is no clear we have the resources to do it. We are thus
looking for your help if you can _test_ on Python 3.12 to see
to which extent this affects users and which features are
critical.
* We are not going to pin IPython to Python <3.12 as otherwise on
install pip would downgrade/resolve to IPython 8.13, so if you
plan to update to Python 3.12 after its release, we encourage
for extra care.
- Skip potential future python312 because of the above
OBS-URL: https://build.opensuse.org/request/show/1092419
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=114
- Update to 8.13.1
* This release is significant in that it not only has a number of
bugfixes, but also drop support for Python 3.8 as per NEP 29
(PR #14023).
* Pretty reprensentation for Counter has been fixed to match the
Python one and be in decreasing order. PR #14032
* Module completion is better when jedi is disabled PR #14029.
* Improvment of %%bash magic that would get stuck PR #14019
* PR #14004 Fix a bug introduced in IPython 8.12 that crash when
inspecting some docstrings.
* PR #14010 Fix fast traceback code that was not working in some
case.
* PR #14014 Fix %page magic broken in some case.
* PR #14026, PR #14027 Tweak default shortcut with respect to
autosuggestions.
* PR #14033 add back the ability to use .get() on OInfo object
for backward compatibility with h5py (this will be
re-deprecated later, and h5py will also get a fix).
OBS-URL: https://build.opensuse.org/request/show/1083899
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=39
- Update to 8.13.1
* This release is significant in that it not only has a number of
bugfixes, but also drop support for Python 3.8 as per NEP 29
(PR #14023).
* Pretty reprensentation for Counter has been fixed to match the
Python one and be in decreasing order. PR #14032
* Module completion is better when jedi is disabled PR #14029.
* Improvment of %%bash magic that would get stuck PR #14019
* PR #14004 Fix a bug introduced in IPython 8.12 that crash when
inspecting some docstrings.
* PR #14010 Fix fast traceback code that was not working in some
case.
* PR #14014 Fix %page magic broken in some case.
* PR #14026, PR #14027 Tweak default shortcut with respect to
autosuggestions.
* PR #14033 add back the ability to use .get() on OInfo object
for backward compatibility with h5py (this will be
re-deprecated later, and h5py will also get a fix).
OBS-URL: https://build.opensuse.org/request/show/1083882
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=109
- Update to 8.12.0
* PR #13957 brings updates to the Qt integration, particularly
for Qt6.
* PR #13960 fixes the %debug magic command to give access to the
local scope.
* PR #13964 fixes some crashes with the new fast traceback code.
Note that there are still some issues with the fast traceback
code, and I a, likely to fix and tweak behavior.
* PR #13973 We are slowly migrating IPython internals to use
proper type objects/dataclasses instead of dictionaries to
allow static typing checks. These are technically public API
and could lead to breakage, so please let us know if that’s
the case and I’ll mitigate.
* PR #13990, PR #13991, PR #13994 all improve keybinding and
shortcut configurability.
- Release 8.11
* Faster Traceback Highlighting
* Autoreload verbosity
* Terminal shortcuts customization
* %gui should now support PySide6. PR #13864
* Cli shortcuts can now be configured PR #13928, see above. (note
that there might be an issue with prompt_toolkit 3.0.37 and
shortcut configuration).
* Capture output should now respect ; semicolon to suppress
output. PR #13940
* Base64 encoded images (in jupyter frontend), will not have
trailing newlines. PR #13941
- Release 8.10
* bump minimum numpy to >=1.21 version following NEP29. PR #13930
* fix for compatibility with MyPy 1.0. PR #13933
OBS-URL: https://build.opensuse.org/request/show/1077235
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=38
* PR #13957 brings updates to the Qt integration, particularly
for Qt6.
* PR #13960 fixes the %debug magic command to give access to the
local scope.
* PR #13964 fixes some crashes with the new fast traceback code.
Note that there are still some issues with the fast traceback
code, and I a, likely to fix and tweak behavior.
* PR #13973 We are slowly migrating IPython internals to use
proper type objects/dataclasses instead of dictionaries to
allow static typing checks. These are technically public API
and could lead to breakage, so please let us know if that’s
the case and I’ll mitigate.
* PR #13990, PR #13991, PR #13994 all improve keybinding and
shortcut configurability.
- Release 8.11
* Faster Traceback Highlighting
* Autoreload verbosity
* Terminal shortcuts customization
* %gui should now support PySide6. PR #13864
* Cli shortcuts can now be configured PR #13928, see above. (note
that there might be an issue with prompt_toolkit 3.0.37 and
shortcut configuration).
* Capture output should now respect ; semicolon to suppress
output. PR #13940
* Base64 encoded images (in jupyter frontend), will not have
trailing newlines. PR #13941
- Release 8.10
* bump minimum numpy to >=1.21 version following NEP29. PR #13930
* fix for compatibility with MyPy 1.0. PR #13933
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=107
- Update to 8.9.0
* Second release of IPython in 2023, last Friday of the month, we
are back on track. This is a small release with a few
bug-fixes, and improvements, mostly with respect to terminal
shortcuts.
* The biggest improvement for 8.9 is a drastic amelioration if
the auto-suggestions sponsored by D.E. Shaw and implemented by
the more and more active contributor @krassowski.
- right accepts a single character from suggestion
- ctrl+right accepts a semantic token (macos default shortcuts
take precedence and need to be disabled to make this work)
- backspace deletes a character and resumes hinting
autosuggestions
- ctrl-left accepts suggestion and moves cursor left one
character.
- backspace deletes a character and resumes hinting
autosuggestions
- down moves to suggestion to later in history when no lines
are present below the cursors.
- up moves to suggestion from earlier in history when no lines
are present above the cursor.
* This is best described by the Gif posted by @krassowski, and in
the PR itself PR gh#ipython/ipython#13888.
* Please report any feedback in order for us to improve the user
experience. In particular we are also working on making the
shortcuts configurable.
* If you are interested into better terminal shortcut, I also
invite you to participate in issue gh#ipython/iüythpn#13879.
OBS-URL: https://build.opensuse.org/request/show/1063285
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=37
* Second release of IPython in 2023, last Friday of the month, we
are back on track. This is a small release with a few
bug-fixes, and improvements, mostly with respect to terminal
shortcuts.
* The biggest improvement for 8.9 is a drastic amelioration if
the auto-suggestions sponsored by D.E. Shaw and implemented by
the more and more active contributor @krassowski.
- right accepts a single character from suggestion
- ctrl+right accepts a semantic token (macos default shortcuts
take precedence and need to be disabled to make this work)
- backspace deletes a character and resumes hinting
autosuggestions
- ctrl-left accepts suggestion and moves cursor left one
character.
- backspace deletes a character and resumes hinting
autosuggestions
- down moves to suggestion to later in history when no lines
are present below the cursors.
- up moves to suggestion from earlier in history when no lines
are present above the cursor.
* This is best described by the Gif posted by @krassowski, and in
the PR itself PR gh#ipython/ipython#13888.
* Please report any feedback in order for us to improve the user
experience. In particular we are also working on making the
shortcuts configurable.
* If you are interested into better terminal shortcut, I also
invite you to participate in issue gh#ipython/iüythpn#13879.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=105
- update to version 8.6.0:
* The install_ext and related functions have been removed after
being deprecated for years. You can use pip to install
extensions. pip did not exists when install_ext was
introduced. You can still load local extensions without installing
them. Just set your sys.path for example. :ghpull:`13744`
* The completer matcher API have been improved. See
:ghpull:`13745`. This should improve the type inference and
improve dict keys completions in many use case. Tanks @krassowski
for all the works, and the D.E. Shaw group for sponsoring it.
* The color of error nodes in tracebacks can now be customized. See
:ghpull:`13756`. This is a private attribute until someone find
the time to properly add a configuration option. Note that with
Python 3.11 that also show the relevant nodes in traceback, it
would be good to leverage this informations (plus the "did you
mean" info added on attribute errors). But that's likely work I
won't have time to do before long, so contributions welcome.
* As we follow NEP 29, we removed support for numpy 1.19
:ghpull:`13760`.
* The open() function present in the user namespace by default will
now refuse to open the file descriptors 0,1,2 (stdin, out, err),
to avoid crashing IPython. This mostly occurs in teaching context
when incorrect values get passed around.
* The ?, ??, and corresponding pinfo, pinfo2 magics can now find
objects insides arrays. That is to say, the following now works:
>>> def my_func(*arg, **kwargs):pass
>>> container = [my_func]
>>> container[0]?
* If container define a custom getitem, this __will__ trigger the
custom method. So don't put side effects in your getitems. Thanks
the D.E. Shaw group for the request and sponsoring the work.
OBS-URL: https://build.opensuse.org/request/show/1033843
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=34
- Update to 8.0.1
* Security fix CVE-2022-21699: change some default values in
order to prevent potential Execution with Unnecessary
Privileges.
* Almost all version of IPython looks for configuration and
profiles in current working directory. Since IPython was
developed before pip and environments existed it was used a
convenient way to load code/packages in a project dependant
way.
* In 2022, it is not necessary anymore, and can lead to confusing
behavior where for example cloning a repository and starting
IPython or loading a notebook from any Jupyter-Compatible
interface that has ipython set as a kernel can lead to code
execution.
* The current working directory is not searched anymore for
profiles or configurations files.
* Added a __patched_cves__ attribute (set of strings) to IPython
module that contain the list of fixed CVE. This is
informational only.
- Fixes boo#1194936, CVE-2022-21699
- Update requirements.
- Requires the full stdlib including sqlite3
- Revert some spec-cleaner edits
- Update to 8.0.0:
- Minimum supported traitlets version if now 5+
- we now require stack_data
- Minimal Python is now 3.8
- pytest replaces nose.
- iptest/iptest3 cli entrypoints do not exists anymore.
- minimum officially support numpy version has been bumped, but
this should not have much effect on packaging.
- Backport some fixes for Python 3.10 (PR #13412)
- use full-alpha transparency on dvipng rendered LaTeX (PR #13372)
- Traceback improvements
- Autosuggestons
- Show pinfo information in ipdb using “?” and “??”
- Autoreload 3 feature
- Auto formatting with black in the CLI
- History Range Glob feature
- Don’t start a multi line cell with sunken parenthesis
- IPython shell for ipdb interact
- Automatic Vi prompt stripping
- Empty History Ranges
- Windows time-implementation: Switch to process_time
- Re-added support for XDG config directories
- Add skip-network-test.patch to skip (gh#ipython/ipython#13468).
OBS-URL: https://build.opensuse.org/request/show/947675
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=26
- Update to 8.0.1
* Security fix CVE-2022-21699: change some default values in
order to prevent potential Execution with Unnecessary
Privileges.
* Almost all version of IPython looks for configuration and
profiles in current working directory. Since IPython was
developed before pip and environments existed it was used a
convenient way to load code/packages in a project dependant
way.
* In 2022, it is not necessary anymore, and can lead to confusing
behavior where for example cloning a repository and starting
IPython or loading a notebook from any Jupyter-Compatible
interface that has ipython set as a kernel can lead to code
execution.
* The current working directory is not searched anymore for
profiles or configurations files.
* Added a __patched_cves__ attribute (set of strings) to IPython
module that contain the list of fixed CVE. This is
informational only.
OBS-URL: https://build.opensuse.org/request/show/947647
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=80
- Update to 8.0.0:
- Minimum supported traitlets version if now 5+
- we now require stack_data
- Minimal Python is now 3.8
- pytest replaces nose.
- iptest/iptest3 cli entrypoints do not exists anymore.
- minimum officially support numpy version has been bumped, but
this should not have much effect on packaging.
- Backport some fixes for Python 3.10 (PR #13412)
- use full-alpha transparency on dvipng rendered LaTeX (PR #13372)
- Traceback improvements
- Autosuggestons
- Show pinfo information in ipdb using “?” and “??”
- Autoreload 3 feature
- Auto formatting with black in the CLI
- History Range Glob feature
- Don’t start a multi line cell with sunken parenthesis
- IPython shell for ipdb interact
- Automatic Vi prompt stripping
- Empty History Ranges
- Windows time-implementation: Switch to process_time
- Re-added support for XDG config directories
- Add skip-network-test.patch to skip (gh#ipython/ipython#13468).
OBS-URL: https://build.opensuse.org/request/show/946628
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=76