Show More
@@ -1,6 +1,23 b'' | |||||
1 | Issues closed in the 7.x development cycle |
|
1 | Issues closed in the 7.x development cycle | |
2 | ========================================== |
|
2 | ========================================== | |
3 |
|
3 | |||
|
4 | Issues closed in 7.17 | |||
|
5 | --------------------- | |||
|
6 | ||||
|
7 | GitHub stats for 2020/06/26 - 2020/07/31 (tag: 7.16.1) | |||
|
8 | ||||
|
9 | These lists are automatically generated, and may be incomplete or contain duplicates. | |||
|
10 | ||||
|
11 | We closed 2 issues and merged 19 pull requests. | |||
|
12 | The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.17>`__ | |||
|
13 | ||||
|
14 | The following 3 authors contributed 31 commits. | |||
|
15 | ||||
|
16 | * Maor Kleinberger | |||
|
17 | * Matthias Bussonnier | |||
|
18 | * Quentin Peter | |||
|
19 | ||||
|
20 | ||||
4 |
|
21 | |||
5 | Issues closed in 7.16 |
|
22 | Issues closed in 7.16 | |
6 | --------------------- |
|
23 | --------------------- |
@@ -2,6 +2,86 b'' | |||||
2 | 7.x Series |
|
2 | 7.x Series | |
3 | ============ |
|
3 | ============ | |
4 |
|
4 | |||
|
5 | .. _version 717: | |||
|
6 | ||||
|
7 | IPython 7.17 | |||
|
8 | ============ | |||
|
9 | ||||
|
10 | IPython 7.17 brings a couple of new improvements to API and a couple of user | |||
|
11 | facing changes to make the terminal experience more user friendly. | |||
|
12 | ||||
|
13 | :ghpull:`12407` introduces the ability to pass extra argument to the IPython | |||
|
14 | debugger class; this is to help a new project from ``kmaork`` | |||
|
15 | (https://github.com/kmaork/madbg) to feature a fully remote debugger. | |||
|
16 | ||||
|
17 | :ghpull:`12410` finally remove support for 3.6, while the codebase is still | |||
|
18 | technically compatible; IPython will not install on Python 3.6. | |||
|
19 | ||||
|
20 | lots of work on the debugger and hidden frames from ``@impact27`` in | |||
|
21 | :ghpull:`12437`, :ghpull:`12445`, :ghpull:`12460` and in particular | |||
|
22 | :ghpull:`12453` which make the debug magic more robust at handling spaces. | |||
|
23 | ||||
|
24 | Biggest API addition is code transformation which is done before code execution; | |||
|
25 | IPython allows a number of hooks to catch non-valid Python syntax (magic, prompt | |||
|
26 | stripping...etc). Transformers are usually called many time; typically: | |||
|
27 | ||||
|
28 | - When trying to figure out whether the code is complete and valid (should we | |||
|
29 | insert a new line or execute ?) | |||
|
30 | - During actual code execution pass before giving the code to Python's | |||
|
31 | ``exec``. | |||
|
32 | ||||
|
33 | This lead to issues when transformer might have had side effects; or do external | |||
|
34 | queries. Starting with IPython 7.17 you can expect your transformer to be called | |||
|
35 | less time. | |||
|
36 | ||||
|
37 | Input transformers are now called only once in the execution path of | |||
|
38 | `InteractiveShell`, allowing to register transformer that potentially have side | |||
|
39 | effects (note that this is not recommended). Internal methods `should_run_async`, and | |||
|
40 | `run_cell_async` now take a recommended optional `transformed_cell`, and | |||
|
41 | `preprocessing_exc_tuple` parameters that will become mandatory at some point in | |||
|
42 | the future; that is to say cells need to be explicitly transformed to be valid | |||
|
43 | Python syntax ahead of trying to run them. :ghpull:`12440`; | |||
|
44 | ||||
|
45 | ``input_transformers`` can now also have an attribute ``has_side_effects`` set | |||
|
46 | to `True`, when this attribute is present; this will prevent the transformers | |||
|
47 | from being ran when IPython is trying to guess whether the user input is | |||
|
48 | complete. Note that this may means you will need to explicitly execute in some | |||
|
49 | case where your transformations are now not ran; but will not affect users with | |||
|
50 | no custom extensions. | |||
|
51 | ||||
|
52 | ||||
|
53 | API Changes | |||
|
54 | ----------- | |||
|
55 | ||||
|
56 | Change of API and exposed objects automatically detected using `frappuccino | |||
|
57 | <https://pypi.org/project/frappuccino/>`_ | |||
|
58 | ||||
|
59 | ||||
|
60 | The following items are new since 7.16.0:: | |||
|
61 | ||||
|
62 | + IPython.core.interactiveshell.InteractiveShell.get_local_scope(self, stack_depth) | |||
|
63 | ||||
|
64 | The following signatures differ since 7.16.0:: | |||
|
65 | ||||
|
66 | - IPython.core.interactiveshell.InteractiveShell.run_cell_async(self, raw_cell, store_history=False, silent=False, shell_futures=True) | |||
|
67 | + IPython.core.interactiveshell.InteractiveShell.run_cell_async(self, raw_cell, store_history=False, silent=False, shell_futures=True, *, transformed_cell=None, preprocessing_exc_tuple=None) | |||
|
68 | ||||
|
69 | - IPython.core.interactiveshell.InteractiveShell.should_run_async(self, raw_cell) | |||
|
70 | + IPython.core.interactiveshell.InteractiveShell.should_run_async(self, raw_cell, *, transformed_cell=None, preprocessing_exc_tuple=None) | |||
|
71 | ||||
|
72 | - IPython.terminal.debugger.TerminalPdb.pt_init(self) | |||
|
73 | + IPython.terminal.debugger.TerminalPdb.pt_init(self, pt_session_options=None) | |||
|
74 | ||||
|
75 | This method was added:: | |||
|
76 | ||||
|
77 | + IPython.core.interactiveshell.InteractiveShell.get_local_scope | |||
|
78 | ||||
|
79 | Which is now also present on subclasses:: | |||
|
80 | ||||
|
81 | + IPython.terminal.embed.InteractiveShellEmbed.get_local_scope | |||
|
82 | + IPython.terminal.interactiveshell.TerminalInteractiveShell.get_local_scope | |||
|
83 | ||||
|
84 | ||||
5 | .. _version 716: |
|
85 | .. _version 716: | |
6 |
|
86 | |||
7 | IPython 7.16 |
|
87 | IPython 7.16 |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now