Show More
@@ -2,6 +2,44 b'' | |||
|
2 | 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 | 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 | 176 | - Fix paste magic on wayland. :ghpull:`13671` |
|
139 | 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 | 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 | 307 | work on IPython and related libraries. |
|
270 | 308 | |
|
271 | 309 | .. _version 8.1.1: |
|
272 | ||
|
310 | ||
|
273 | 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 | 441 | (January 2020). |
|
404 | 442 | |
|
405 | 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 | 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 | 448 | I have likely forgotten a few things reviewing 250+ PRs. |
|
411 | 449 | |
|
412 | 450 | Dependencies changes/downstream packaging |
@@ -421,7 +459,7 b' looking for help to do so.' | |||
|
421 | 459 | - minimal Python is now 3.8 |
|
422 | 460 | - ``nose`` is not a testing requirement anymore |
|
423 | 461 | - ``pytest`` replaces nose. |
|
424 |
- ``iptest``/``iptest3`` cli entrypoints do not exists anymore. |
|
|
462 | - ``iptest``/``iptest3`` cli entrypoints do not exists anymore. | |
|
425 | 463 | - minimum officially support ``numpy`` version has been bumped, but this should |
|
426 | 464 | not have much effect on packaging. |
|
427 | 465 | |
@@ -443,7 +481,7 b' deprecation warning:' | |||
|
443 | 481 | - Please add **since which version** something is deprecated. |
|
444 | 482 | |
|
445 | 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 | 486 | I won't list all the removed features here, but modules like ``IPython.kernel``, |
|
449 | 487 | which was just a shim module around ``ipykernel`` for the past 8 years, have been |
@@ -475,7 +513,7 b' by mypy.' | |||
|
475 | 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 | 517 | Please note as well that many features have been added in the 7.x branch as well |
|
480 | 518 | (and hence why you want to read the 7.x what's new notes), in particular |
|
481 | 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 | 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 | 565 | in particular it will highlight the AST node where an error occurs which can help to quickly narrow down errors. |
|
528 | 566 | |
|
529 | 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 | 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 | 605 | the terminal and notebooks. |
|
568 | 606 | |
|
569 | 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 | 798 | This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` - are |
|
761 | 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 | 802 | You should be able to change mode dynamically with ``%config TerminalInteractiveShell.editing_mode='vi'`` |
|
765 | 803 | |
|
766 | 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 | 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`` |
|
|
791 |
(which counted time even when the process was sleeping) to being based on ``time.process_time`` instead |
|
|
828 | Timing on Windows, for example with ``%%time``, was changed from being based on ``time.perf_counter`` | |
|
829 | (which counted time even when the process was sleeping) to being based on ``time.process_time`` instead | |
|
792 | 830 | (which only counts CPU time). This brings it closer to the behavior on Linux. See :ghpull:`12984`. |
|
793 | 831 | |
|
794 | 832 | Miscellaneous |
@@ -813,7 +851,7 b' Re-added support for XDG config directories' | |||
|
813 | 851 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
814 | 852 | |
|
815 | 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 | 855 | After initial failures a couple of years ago, IPython was modified to automatically migrate XDG |
|
818 | 856 | config files back into ``~/.ipython``. That migration code has now been removed. |
|
819 | 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 | 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 | 884 | .. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg |
|
847 | 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