diff --git a/docs/source/whatsnew/development.rst b/docs/source/whatsnew/development.rst index e6c9330..97ec2f8 100644 --- a/docs/source/whatsnew/development.rst +++ b/docs/source/whatsnew/development.rst @@ -22,6 +22,47 @@ Need to be updated: pr/* +IPython 8.0 is bringing a number of new features and improvements to both the +user of the terminal and of the kernel via Jupyter. The removal of compatibility +with older version of Python is also the opportunity to do a couple of +performance improvement in particular with respect to startup time. + +The main change in IPython 8.0 is the integration of the ``stack_data`` package; +which provide smarter information in traceback; in particular it will highlight +the AST node where an error occurs which can help to quickly narrow down errors. + +For example in the following snippet:: + + def foo(i): + x = [[[0]]] + return x[0][i][0] + + + def bar(): + return foo(0) + foo( + 1 + ) + foo(2) + + +Calling ``bar()`` would raise an ``IndexError`` on the return line of ``foo``, +IPython 8.0 is capable of telling you, where the index error occurs:: + + return x[0][i][0] + ^ + +To prepare for Python 3.10 we have also started working on removing reliance and +any dependency that is not Python 3.10 compatible; that include migrating our +test suite to Pytest, and starting to remove nose. + +We are also removing support for Python 3.6 allowing internal code to use more +efficient ``pathlib``, and make better use of type annotations. + +The completer has also seen significant updates and make use of newer Jedi API +offering faster and more reliable tab completion. + +For the terminal users this also enable the auto-suggestion feature, described +below, which show "ghost text" ahead of your cursor you can accept without +having to press the tab key or ask the completer to suggest completions. Autosuggestion is a very useful feature available in `fish `__, `zsh `__, and `prompt-toolkit `__.