Show More
@@ -2,6 +2,44 b'' | |||||
2 | 8.x Series |
|
2 | 8.x Series | |
3 | ============ |
|
3 | ============ | |
4 |
|
4 | |||
|
5 | .. _version 8.8.0: | |||
|
6 | ||||
|
7 | IPython 8.8.0 | |||
|
8 | ------------- | |||
|
9 | ||||
|
10 | First release of IPython in 2023 as there was no release at the end of | |||
|
11 | December. | |||
|
12 | ||||
|
13 | This is an unusually big release (relatively speaking) with more than 15 Pull | |||
|
14 | Requests merge. | |||
|
15 | ||||
|
16 | Of particular interest are: | |||
|
17 | ||||
|
18 | - :ghpull:`13852` that replace the greedy completer and improve | |||
|
19 | completion, in particular for dictionary keys. | |||
|
20 | - :ghpull:`13858` that adds ``py.typed`` to ``setup.cfg`` to make sure it is | |||
|
21 | bundled in wheels. | |||
|
22 | - :ghpull:`13869` that implements tab completions for IPython options in the | |||
|
23 | shell when using `argcomplete <https://github.com/kislyuk/argcomplete>`. I | |||
|
24 | believe this also needs a recent version of Traitlets. | |||
|
25 | - :ghpull:`13865` makes the ``inspector`` class of `InteractiveShell` | |||
|
26 | configurable. | |||
|
27 | - :ghpull:`13880` that remove minor-version entrypoints as the minor version | |||
|
28 | entry points that would be included in the wheel would be the one of the | |||
|
29 | Python version that was used to build the ``whl`` file. | |||
|
30 | ||||
|
31 | In no particular order, the rest of the changes update the test suite to be | |||
|
32 | compatible with Pygments 2.14, various docfixes, testing on more recent python | |||
|
33 | versions and various updates. | |||
|
34 | ||||
|
35 | As usual you can find the full list of PRs on GitHub under `the 8.8 milestone | |||
|
36 | <https://github.com/ipython/ipython/milestone/110>`__. | |||
|
37 | ||||
|
38 | Many thanks to @krassowski for the many PRs and @jasongrout for reviewing and | |||
|
39 | merging contributions. | |||
|
40 | ||||
|
41 | Thanks to the `D. E. Shaw group <https://deshaw.com/>`__ for sponsoring | |||
|
42 | work on IPython and related libraries. | |||
5 |
|
43 | |||
6 | .. _version 8.7.0: |
|
44 | .. _version 8.7.0: | |
7 |
|
45 | |||
@@ -138,7 +176,7 b' Here is a non exhaustive list of changes that have been implemented for IPython' | |||||
138 | - Fix paste magic on wayland. :ghpull:`13671` |
|
176 | - Fix paste magic on wayland. :ghpull:`13671` | |
139 | - show maxlen in deque's repr. :ghpull:`13648` |
|
177 | - show maxlen in deque's repr. :ghpull:`13648` | |
140 |
|
178 | |||
141 |
Restore line numbers for Input |
|
179 | Restore line numbers for Input | |
142 | ------------------------------ |
|
180 | ------------------------------ | |
143 |
|
181 | |||
144 | Line number information in tracebacks from input are restored. |
|
182 | Line number information in tracebacks from input are restored. | |
@@ -269,7 +307,7 b' Thanks to the `D. E. Shaw group <https://deshaw.com/>`__ for sponsoring' | |||||
269 | work on IPython and related libraries. |
|
307 | work on IPython and related libraries. | |
270 |
|
308 | |||
271 | .. _version 8.1.1: |
|
309 | .. _version 8.1.1: | |
272 |
|
310 | |||
273 | IPython 8.1.1 |
|
311 | IPython 8.1.1 | |
274 | ------------- |
|
312 | ------------- | |
275 |
|
313 | |||
@@ -403,10 +441,10 b' The 8.x branch started diverging from its predecessor around IPython 7.12' | |||||
403 | (January 2020). |
|
441 | (January 2020). | |
404 |
|
442 | |||
405 | This release contains 250+ pull requests, in addition to many of the features |
|
443 | This release contains 250+ pull requests, in addition to many of the features | |
406 |
and backports that have made it to the 7.x branch. Please see the |
|
444 | and backports that have made it to the 7.x branch. Please see the | |
407 | `8.0 milestone <https://github.com/ipython/ipython/milestone/73?closed=1>`__ for the full list of pull requests. |
|
445 | `8.0 milestone <https://github.com/ipython/ipython/milestone/73?closed=1>`__ for the full list of pull requests. | |
408 |
|
446 | |||
409 |
Please feel free to send pull requests to updates those notes after release, |
|
447 | Please feel free to send pull requests to updates those notes after release, | |
410 | I have likely forgotten a few things reviewing 250+ PRs. |
|
448 | I have likely forgotten a few things reviewing 250+ PRs. | |
411 |
|
449 | |||
412 | Dependencies changes/downstream packaging |
|
450 | Dependencies changes/downstream packaging | |
@@ -421,7 +459,7 b' looking for help to do so.' | |||||
421 | - minimal Python is now 3.8 |
|
459 | - minimal Python is now 3.8 | |
422 | - ``nose`` is not a testing requirement anymore |
|
460 | - ``nose`` is not a testing requirement anymore | |
423 | - ``pytest`` replaces nose. |
|
461 | - ``pytest`` replaces nose. | |
424 |
- ``iptest``/``iptest3`` cli entrypoints do not exists anymore. |
|
462 | - ``iptest``/``iptest3`` cli entrypoints do not exists anymore. | |
425 | - minimum officially support ``numpy`` version has been bumped, but this should |
|
463 | - minimum officially support ``numpy`` version has been bumped, but this should | |
426 | not have much effect on packaging. |
|
464 | not have much effect on packaging. | |
427 |
|
465 | |||
@@ -443,7 +481,7 b' deprecation warning:' | |||||
443 | - Please add **since which version** something is deprecated. |
|
481 | - Please add **since which version** something is deprecated. | |
444 |
|
482 | |||
445 | As a side note, it is much easier to conditionally compare version |
|
483 | As a side note, it is much easier to conditionally compare version | |
446 |
numbers rather than using ``try/except`` when functionality changes with a version. |
|
484 | numbers rather than using ``try/except`` when functionality changes with a version. | |
447 |
|
485 | |||
448 | I won't list all the removed features here, but modules like ``IPython.kernel``, |
|
486 | I won't list all the removed features here, but modules like ``IPython.kernel``, | |
449 | which was just a shim module around ``ipykernel`` for the past 8 years, have been |
|
487 | which was just a shim module around ``ipykernel`` for the past 8 years, have been | |
@@ -475,7 +513,7 b' by mypy.' | |||||
475 | Featured changes |
|
513 | Featured changes | |
476 | ---------------- |
|
514 | ---------------- | |
477 |
|
515 | |||
478 |
Here is a features list of changes in IPython 8.0. This is of course non-exhaustive. |
|
516 | Here is a features list of changes in IPython 8.0. This is of course non-exhaustive. | |
479 | Please note as well that many features have been added in the 7.x branch as well |
|
517 | Please note as well that many features have been added in the 7.x branch as well | |
480 | (and hence why you want to read the 7.x what's new notes), in particular |
|
518 | (and hence why you want to read the 7.x what's new notes), in particular | |
481 | features contributed by QuantStack (with respect to debugger protocol and Xeus |
|
519 | features contributed by QuantStack (with respect to debugger protocol and Xeus | |
@@ -523,7 +561,7 b' The error traceback is now correctly formatted, showing the cell number in which' | |||||
523 |
|
561 | |||
524 | ZeroDivisionError: division by zero |
|
562 | ZeroDivisionError: division by zero | |
525 |
|
563 | |||
526 |
The ``stack_data`` package has been integrated, which provides smarter information in the traceback; |
|
564 | The ``stack_data`` package has been integrated, which provides smarter information in the traceback; | |
527 | in particular it will highlight the AST node where an error occurs which can help to quickly narrow down errors. |
|
565 | in particular it will highlight the AST node where an error occurs which can help to quickly narrow down errors. | |
528 |
|
566 | |||
529 | For example in the following snippet:: |
|
567 | For example in the following snippet:: | |
@@ -563,7 +601,7 b' and IPython 8.0 is capable of telling you where the index error occurs::' | |||||
563 | ----> 3 return x[0][i][0] |
|
601 | ----> 3 return x[0][i][0] | |
564 | ^^^^^^^ |
|
602 | ^^^^^^^ | |
565 |
|
603 | |||
566 |
The corresponding locations marked here with ``^`` will show up highlighted in |
|
604 | The corresponding locations marked here with ``^`` will show up highlighted in | |
567 | the terminal and notebooks. |
|
605 | the terminal and notebooks. | |
568 |
|
606 | |||
569 | Finally, a colon ``::`` and line number is appended after a filename in |
|
607 | Finally, a colon ``::`` and line number is appended after a filename in | |
@@ -760,7 +798,7 b' Previously, this was not the case for the Vi-mode prompts::' | |||||
760 | This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` - are |
|
798 | This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` - are | |
761 | skipped just as the normal ``In`` would be. |
|
799 | skipped just as the normal ``In`` would be. | |
762 |
|
800 | |||
763 |
IPython shell can be started in the Vi mode using ``ipython --TerminalInteractiveShell.editing_mode=vi``, |
|
801 | IPython shell can be started in the Vi mode using ``ipython --TerminalInteractiveShell.editing_mode=vi``, | |
764 | You should be able to change mode dynamically with ``%config TerminalInteractiveShell.editing_mode='vi'`` |
|
802 | You should be able to change mode dynamically with ``%config TerminalInteractiveShell.editing_mode='vi'`` | |
765 |
|
803 | |||
766 | Empty History Ranges |
|
804 | Empty History Ranges | |
@@ -787,8 +825,8 b' when followed with :kbd:`F2`), send it to `dpaste.org <http://dpast.org>`_ using' | |||||
787 |
|
825 | |||
788 | Windows timing implementation: Switch to process_time |
|
826 | Windows timing implementation: Switch to process_time | |
789 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
827 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
790 |
Timing on Windows, for example with ``%%time``, was changed from being based on ``time.perf_counter`` |
|
828 | Timing on Windows, for example with ``%%time``, was changed from being based on ``time.perf_counter`` | |
791 |
(which counted time even when the process was sleeping) to being based on ``time.process_time`` instead |
|
829 | (which counted time even when the process was sleeping) to being based on ``time.process_time`` instead | |
792 | (which only counts CPU time). This brings it closer to the behavior on Linux. See :ghpull:`12984`. |
|
830 | (which only counts CPU time). This brings it closer to the behavior on Linux. See :ghpull:`12984`. | |
793 |
|
831 | |||
794 | Miscellaneous |
|
832 | Miscellaneous | |
@@ -813,7 +851,7 b' Re-added support for XDG config directories' | |||||
813 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
851 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
814 |
|
852 | |||
815 | XDG support through the years comes and goes. There is a tension between having |
|
853 | XDG support through the years comes and goes. There is a tension between having | |
816 |
an identical location for configuration in all platforms versus having simple instructions. |
|
854 | an identical location for configuration in all platforms versus having simple instructions. | |
817 | After initial failures a couple of years ago, IPython was modified to automatically migrate XDG |
|
855 | After initial failures a couple of years ago, IPython was modified to automatically migrate XDG | |
818 | config files back into ``~/.ipython``. That migration code has now been removed. |
|
856 | config files back into ``~/.ipython``. That migration code has now been removed. | |
819 | IPython now checks the XDG locations, so if you _manually_ move your config |
|
857 | IPython now checks the XDG locations, so if you _manually_ move your config | |
@@ -841,7 +879,7 b' Removing support for older Python versions' | |||||
841 |
|
879 | |||
842 |
|
880 | |||
843 | We are removing support for Python up through 3.7, allowing internal code to use the more |
|
881 | We are removing support for Python up through 3.7, allowing internal code to use the more | |
844 |
efficient ``pathlib`` and to make better use of type annotations. |
|
882 | efficient ``pathlib`` and to make better use of type annotations. | |
845 |
|
883 | |||
846 | .. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg |
|
884 | .. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg | |
847 | :alt: "Meme image of Toy Story with Woody and Buzz, with the text 'pathlib, pathlib everywhere'" |
|
885 | :alt: "Meme image of Toy Story with Woody and Buzz, with the text 'pathlib, pathlib everywhere'" |
General Comments 0
You need to be logged in to leave comments.
Login now