##// END OF EJS Templates
DOC: whatsnew/version7: syntax, wording (see #11515)
is-this-valid -
Show More
@@ -7,15 +7,15 b''
7 7 IPython 7.2.0
8 8 =============
9 9
10 IPython 7.2.0 bring minor fixes, improvement and new options.
10 IPython 7.2.0 brings minor bugfixes, improvements, and new configuration options:
11 11
12 - Fix a bug preventing to enable PySide2 gui integration :ghpull:`11464`
12 - Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
13 13 - Run CI on Mac OS ! :ghpull:`11471`
14 14 - Fix IPython "Demo" mode. :ghpull:`11498`
15 15 - Fix ``%run`` magic with path in name :ghpull:`11499`
16 16 - Fix: add CWD to sys.path *after* stdlib :ghpull:`11502`
17 17 - Better rendering of signatures, especially long ones. :ghpull:`11505`
18 - Re enable jedi by default if installed :ghpull:`11506`
18 - Re-enable jedi by default if it's installed :ghpull:`11506`
19 19 - Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
20 20
21 21
@@ -24,12 +24,12 b' Added ability to show subclasses when using pinfo and other utilities'
24 24
25 25 When using ``?``/``??`` on a class, IPython will now list the first 10 subclasses.
26 26
27 Special Thanks to Chris Mentzel of the Moore Foundation for this feature, Chris
27 Special Thanks to Chris Mentzel of the Moore Foundation for this feature. Chris
28 28 is one of the people who played a critical role in IPython/Jupyter getting
29 29 funding.
30 30
31 We are grateful for all the help Chris gave us through the years, We are now
32 proud to have code contributed by Chris in IPython.
31 We are grateful for all the help Chris has given us over the years,
32 and we're now proud to have code contributed by Chris in IPython.
33 33
34 34 OSMagics.cd_force_quiet configuration option
35 35 --------------------------------------------
@@ -59,27 +59,27 b' Set the ``TerminalInteractiveShell.prompt_includes_vi_mode`` to a boolean value'
59 59 IPython 7.1.0
60 60 =============
61 61
62 IPython 7.1.0 is the first minor release after 7.0.0 and mostly bring fixes to
63 new feature, internal refactor and regressions that happen during the 6.x->7.x
64 transition. It also bring **Compatibility with Python 3.7.1**, as were
62 IPython 7.1.0 is the first minor release after 7.0.0 and mostly brings fixes to
63 new features, internal refactoring, and fixes for regressions that happened during the 6.x->7.x
64 transition. It also brings **Compatibility with Python 3.7.1**, as we're
65 65 unwillingly relying on a bug in CPython.
66 66
67 67 New Core Dev:
68 68
69 69 - We welcome Jonathan Slenders to the commiters. Jonathan has done a fantastic
70 work on Prompt toolkit, and we'd like to recognise his impact by giving him
70 work on prompt_toolkit, and we'd like to recognise his impact by giving him
71 71 commit rights. :ghissue:`11397`
72 72
73 Notables Changes
73 Notable Changes
74 74
75 75 - Major update of "latex to unicode" tab completion map (see below)
76 76
77 77 Notable New Features:
78 78
79 79 - Restore functionality and documentation of the **sphinx directive**, which
80 is now stricter (fail on error by default), gained configuration options,
81 have a brand new documentation page :ref:`ipython_directive`, which need
82 some cleanup. It is also now *tested* so we hope to have less regressions.
80 is now stricter (fail on error by daefault), has new configuration options,
81 has a brand new documentation page :ref:`ipython_directive` (which needs
82 some cleanup). It is also now *tested* so we hope to have less regressions.
83 83 :ghpull:`11402`
84 84
85 85 - ``IPython.display.Video`` now supports ``width`` and ``height`` arguments,
@@ -91,23 +91,24 b' Notable New Features:'
91 91 - Allow Dynamic switching of editing mode between vi/emacs and show
92 92 normal/input mode in prompt when using vi. :ghpull:`11390`. Use ``%config
93 93 TerminalInteractiveShell.editing_mode = 'vi'`` or ``%config
94 TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically spwitch
94 TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
95 between modes.
95 96
96 97
97 98 Notable Fixes:
98 99
99 - Fix entering of **multi-line block in terminal** IPython, and various
100 - Fix entering of **multi-line blocks in terminal** IPython, and various
100 101 crashes in the new input transformation machinery :ghpull:`11354`,
101 :ghpull:`11356`, :ghpull:`11358`, these ones also fix a **Compatibility but
102 :ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
102 103 with Python 3.7.1**.
103 104
104 105 - Fix moving through generator stack in ipdb :ghpull:`11266`
105 106
106 - Magics arguments now support quoting. :ghpull:`11330`
107 - %Magic command arguments now support quoting. :ghpull:`11330`
107 108
108 109 - Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
109 110
110 - Remove implicit dependency to ``ipython_genutils`` :ghpull:`11317`
111 - Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
111 112
112 113 - Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
113 114 mode. :ghpull:`11382`
@@ -124,12 +125,12 b' Notable Internals improvements:'
124 125 :ghpull:`11365`
125 126
126 127 - use ``perf_counter`` instead of ``clock`` for more precise
127 timing result with ``%time`` :ghpull:`11376`
128 timing results with ``%time`` :ghpull:`11376`
128 129
129 Many thanks to all the contributors and in particular to ``bartskowron``, and
130 ``tonyfast`` who handled a pretty complicated bugs in the input machinery. We
131 had a number of first time contributors and maybe hacktoberfest participant that
132 made significant contributions, and helped us free some time to focus on more
130 Many thanks to all the contributors and in particular to ``bartskowron`` and
131 ``tonyfast`` who handled some pretty complicated bugs in the input machinery. We
132 had a number of first time contributors and maybe hacktoberfest participants that
133 made significant contributions and helped us free some time to focus on more
133 134 complicated bugs.
134 135
135 136 You
@@ -147,21 +148,21 b' Added and removed character characters:'
147 148 ``\jmath`` (``Θ·``), ``\\underleftrightarrow`` (U+034D, combining) have been
148 149 added, while ``\\textasciicaron`` have been removed
149 150
150 Some sequence have seen their prefix removed:
151 Some sequences have seen their prefix removed:
151 152
152 153 - 6 characters ``\text...<tab>`` should now be inputed with ``\...<tab>`` directly,
153 154 - 45 characters ``\Elz...<tab>`` should now be inputed with ``\...<tab>`` directly,
154 155 - 65 characters ``\B...<tab>`` should now be inputed with ``\...<tab>`` directly,
155 156 - 450 characters ``\m...<tab>`` should now be inputed with ``\...<tab>`` directly,
156 157
157 Some sequence have seen their prefix shortened:
158 Some sequences have seen their prefix shortened:
158 159
159 160 - 5 characters ``\mitBbb...<tab>`` should now be inputed with ``\bbi...<tab>`` directly,
160 161 - 52 characters ``\mit...<tab>`` should now be inputed with ``\i...<tab>`` directly,
161 162 - 216 characters ``\mbfit...<tab>`` should now be inputed with ``\bi...<tab>`` directly,
162 163 - 222 characters ``\mbf...<tab>`` should now be inputed with ``\b...<tab>`` directly,
163 164
164 A couple of character had their sequence simplified:
165 A couple of characters had their sequence simplified:
165 166
166 167 - ``Γ°``, type ``\dh<tab>``, instead of ``\eth<tab>``
167 168 - ``Δ§``, type ``\hbar<tab>``, instead of ``\Elzxh<tab>``
@@ -174,8 +175,8 b' A couple of character had their sequence simplified:'
174 175
175 176 A couple of sequences have been updated:
176 177
177 - ``\varepsilon`` now give ``Ι›`` (GREEK SMALL LETTER EPSILON) instead of ``Ξ΅`` (GREEK LUNATE EPSILON SYMBOL),
178 - ``\underbar`` now give U+0331 (COMBINING MACRON BELOW) instead of U+0332 (COMBINING LOW LINE).
178 - ``\varepsilon`` now gives ``Ι›`` (GREEK SMALL LETTER EPSILON) instead of ``Ξ΅`` (GREEK LUNATE EPSILON SYMBOL),
179 - ``\underbar`` now gives U+0331 (COMBINING MACRON BELOW) instead of U+0332 (COMBINING LOW LINE).
179 180
180 181
181 182 .. _whatsnew700:
@@ -185,20 +186,20 b' IPython 7.0.0'
185 186
186 187 Released Thursday September 27th, 2018
187 188
188 IPython 7 include major features improvement as you can read in the following
189 changelog. This is also the second major version of IPython to support only
190 Python 3 – starting at Python 3.4. Python 2 is still community supported
189 IPython 7 includes major feature improvements.
190 This is also the second major version of IPython to support only
191 Python 3 – starting at Python 3.4. Python 2 is still community-supported
191 192 on the bugfix only 5.x branch, but we remind you that Python 2 "end of life"
192 193 is on Jan 1st 2020.
193 194
194 195 We were able to backport bug fixes to the 5.x branch thanks to our backport bot which
195 196 backported more than `70 Pull-Requests
196 <https://github.com/ipython/ipython/pulls?page=3&q=is%3Apr+sort%3Aupdated-desc+author%3Aapp%2Fmeeseeksdev++5.x&utf8=%E2%9C%93>`_, but there are still many PRs that required manually work, and this is an area of the project were you can easily contribute by looking for `PRs still needed backport <https://github.com/ipython/ipython/issues?q=label%3A%22Still+Needs+Manual+Backport%22+is%3Aclosed+sort%3Aupdated-desc>`_
197 <https://github.com/ipython/ipython/pulls?page=3&q=is%3Apr+sort%3Aupdated-desc+author%3Aapp%2Fmeeseeksdev++5.x&utf8=%E2%9C%93>`_, but there are still many PRs that required manual work. This is an area of the project where you can easily contribute by looking for `PRs that still need manual backport <https://github.com/ipython/ipython/issues?q=label%3A%22Still+Needs+Manual+Backport%22+is%3Aclosed+sort%3Aupdated-desc>`_
197 198
198 IPython 6.x branch will likely not see any further release unless critical
199 The IPython 6.x branch will likely not see any further release unless critical
199 200 bugs are found.
200 201
201 Make sure you have pip > 9.0 before upgrading. You should be able to update by simply running
202 Make sure you have pip > 9.0 before upgrading. You should be able to update by running:
202 203
203 204 .. code::
204 205
@@ -214,7 +215,7 b' Make sure you have pip > 9.0 before upgrading. You should be able to update by s'
214 215 pip install ipython --upgrade --pre
215 216
216 217
217 Or if you have conda installed:
218 Or, if you have conda installed:
218 219
219 220 .. code::
220 221
@@ -225,16 +226,16 b' Or if you have conda installed:'
225 226 Prompt Toolkit 2.0
226 227 ------------------
227 228
228 IPython 7.0+ now uses ``prompt_toolkit 2.0``, if you still need to use earlier
229 ``prompt_toolkit`` version you may need to pin IPython to ``<7.0``.
229 IPython 7.0+ now uses ``prompt_toolkit 2.0``. If you still need to use an earlier
230 ``prompt_toolkit`` version, you may need to pin IPython to ``<7.0``.
230 231
231 232 Autowait: Asynchronous REPL
232 233 ---------------------------
233 234
234 Staring with IPython 7.0 and on Python 3.6+, IPython can automatically await
235 code at top level, you should not need to access an event loop or runner
236 yourself. To know more read the :ref:`autoawait` section of our docs, see
237 :ghpull:`11265` or try the following code::
235 Staring with IPython 7.0 on Python 3.6+, IPython can automatically ``await``
236 top level code. You should not need to access an event loop or runner
237 yourself. To learn more, read the :ref:`autoawait` section of our docs, see
238 :ghpull:`11265`, or try the following code::
238 239
239 240 Python 3.6.0
240 241 Type 'copyright', 'credits' or 'license' for more information
@@ -258,8 +259,8 b' yourself. To know more read the :ref:`autoawait` section of our docs, see'
258 259 Async integration is experimental code, behavior may change or be removed
259 260 between Python and IPython versions without warnings.
260 261
261 Integration is by default with `asyncio`, but other libraries can be configured,
262 like ``curio`` or ``trio``, to improve concurrency in the REPL::
262 Integration is by default with `asyncio`, but other libraries can be configured --
263 like ``curio`` or ``trio`` -- to improve concurrency in the REPL::
263 264
264 265 In [1]: %autoawait trio
265 266
@@ -289,14 +290,14 b' See :ref:`autoawait` for more information.'
289 290
290 291
291 292 Asynchronous code in a Notebook interface or any other frontend using the
292 Jupyter Protocol will need further updates of the IPykernel package.
293 Jupyter Protocol will require further updates to the IPykernel package.
293 294
294 295 Non-Asynchronous code
295 296 ~~~~~~~~~~~~~~~~~~~~~
296 297
297 298 As the internal API of IPython is now asynchronous, IPython needs to run under
298 299 an event loop. In order to allow many workflows, (like using the :magic:`%run`
299 magic, or copy_pasting code that explicitly starts/stop event loop), when
300 magic, or copy-pasting code that explicitly starts/stop event loop), when
300 301 top-level code is detected as not being asynchronous, IPython code is advanced
301 302 via a pseudo-synchronous runner, and may not advance pending tasks.
302 303
@@ -304,28 +305,29 b' Change to Nested Embed'
304 305 ~~~~~~~~~~~~~~~~~~~~~~
305 306
306 307 The introduction of the ability to run async code had some effect on the
307 ``IPython.embed()`` API. By default embed will not allow you to run asynchronous
308 code unless a event loop is specified.
308 ``IPython.embed()`` API. By default, embed will not allow you to run asynchronous
309 code unless an event loop is specified.
309 310
310 311 Effects on Magics
311 312 ~~~~~~~~~~~~~~~~~
312 313
313 Some magics will not work with Async, and will need updates. Contribution
314 welcome.
314 Some magics will not work with async until they're updated.
315 Contributions welcome.
315 316
316 317 Expected Future changes
317 318 ~~~~~~~~~~~~~~~~~~~~~~~
318 319
319 We expect more internal but public IPython function to become ``async``, and
320 will likely end up having a persisting event loop while IPython is running.
320 We expect more internal but public IPython functions to become ``async``, and
321 will likely end up having a persistent event loop while IPython is running.
321 322
322 323 Thanks
323 324 ~~~~~~
324 325
325 This took more than a year in the making, and the code was rebased a number of
326 time leading to commit authorship that may have been lost in the final
326 This release took more than a year in the making.
327 The code was rebased a number of
328 times; leading to commit authorship that may have been lost in the final
327 329 Pull-Request. Huge thanks to many people for contribution, discussion, code,
328 documentation, use-case: dalejung, danielballan, ellisonbg, fperez, gnestor,
330 documentation, use-cases: dalejung, danielballan, ellisonbg, fperez, gnestor,
329 331 minrk, njsmith, pganssle, tacaswell, takluyver , vidartf ... And many others.
330 332
331 333
@@ -337,11 +339,11 b' classes. Earlier, only methods existing as of the initial import were being'
337 339 tracked and updated.
338 340
339 341 This new feature helps dual environment development - Jupyter+IDE - where the
340 code gradually moves from notebook cells to package files, as it gets
342 code gradually moves from notebook cells to package files as it gets
341 343 structured.
342 344
343 345 **Example**: An instance of the class ``MyClass`` will be able to access the
344 method ``cube()`` after it is uncommented and the file ``file1.py`` saved on
346 method ``cube()`` after it is uncommented and the file ``file1.py`` is saved on
345 347 disk.
346 348
347 349
@@ -391,7 +393,7 b' notebook). The behavior can be disable by passing the ``--no-raise-error`` flag.'
391 393 Deprecations
392 394 ------------
393 395
394 A couple of unused function and methods have been deprecated and will be removed
396 A couple of unused functions and methods have been deprecated and will be removed
395 397 in future versions:
396 398
397 399 - ``IPython.utils.io.raw_print_err``
@@ -402,5 +404,5 b' Backwards incompatible changes'
402 404 ------------------------------
403 405
404 406 * The API for transforming input before it is parsed as Python code has been
405 completely redesigned, and any custom input transformations will need to be
407 completely redesigned: any custom input transformations will need to be
406 408 rewritten. See :doc:`/config/inputtransforms` for details of the new API.
General Comments 0
You need to be logged in to leave comments. Login now