##// END OF EJS Templates
Backport PR #12404: Update what's new for 7.16
Matthias Bussonnier -
Show More
@@ -1,34 +1,35
1 =====================
1 =====================
2 Development version
2 Development version
3 =====================
3 =====================
4
4
5 This document describes in-flight development work.
5 This document describes in-flight development work.
6
6
7 .. warning::
7 .. warning::
8
8
9 Please do not edit this file by hand (doing so will likely cause merge
9 Please do not edit this file by hand (doing so will likely cause merge
10 conflicts for other Pull Requests). Instead, create a new file in the
10 conflicts for other Pull Requests). Instead, create a new file in the
11 `docs/source/whatsnew/pr` folder
11 `docs/source/whatsnew/pr` folder
12
12
13
13
14 Released .... ...., 2019
14 Released .... ...., 2019
15
15
16
16
17 Need to be updated:
17 Need to be updated:
18
18
19 .. toctree::
19 .. toctree::
20 :maxdepth: 2
20 :maxdepth: 2
21 :glob:
21 :glob:
22
22
23 pr/*
23 pr/*
24
24
25
25
26
26 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
27 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
27
28
28 As a reminder, IPython master has diverged from the 7.x branch, thus master may
29 As a reminder, IPython master has diverged from the 7.x branch, thus master may
29 have more feature and API changes.
30 have more feature and API changes.
30
31
31 Backwards incompatible changes
32 Backwards incompatible changes
32 ------------------------------
33 ------------------------------
33
34
34 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
35 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
@@ -1,526 +1,548
1 Issues closed in the 7.x development cycle
1 Issues closed in the 7.x development cycle
2 ==========================================
2 ==========================================
3
3
4
5 Issues closed in 7.16
6 ---------------------
7
8 GitHub stats for 2020/05/29 - 2020/06/26 (tag: 7.15.0)
9
10 These lists are automatically generated, and may be incomplete or contain duplicates.
11
12 We closed 0 issues and merged 18 pull requests.
13 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.16>`__
14
15 The following 7 authors contributed 22 commits.
16
17 * Benjamin Ragan-Kelley
18 * dalthviz
19 * Frank Tobia
20 * Matthias Bussonnier
21 * palewire
22 * Paul McCarthy
23 * Talley Lambert
24
25
4 Issues closed in 7.15
26 Issues closed in 7.15
5 ---------------------
27 ---------------------
6
28
7 GitHub stats for 2020/05/01 - 2020/05/29 (tag: 7.14.0)
29 GitHub stats for 2020/05/01 - 2020/05/29 (tag: 7.14.0)
8
30
9 These lists are automatically generated, and may be incomplete or contain duplicates.
31 These lists are automatically generated, and may be incomplete or contain duplicates.
10
32
11 We closed 1 issues and merged 29 pull requests.
33 We closed 1 issues and merged 29 pull requests.
12 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.15>`__
34 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.15>`__
13
35
14 The following 6 authors contributed 31 commits.
36 The following 6 authors contributed 31 commits.
15
37
16 * Blake Griffin
38 * Blake Griffin
17 * Inception95
39 * Inception95
18 * Marcio Mazza
40 * Marcio Mazza
19 * Matthias Bussonnier
41 * Matthias Bussonnier
20 * Talley Lambert
42 * Talley Lambert
21 * Thomas
43 * Thomas
22
44
23 Issues closed in 7.14
45 Issues closed in 7.14
24 ---------------------
46 ---------------------
25
47
26 GitHub stats for 2020/02/29 - 2020/05/01 (tag: 7.13.0)
48 GitHub stats for 2020/02/29 - 2020/05/01 (tag: 7.13.0)
27
49
28 These lists are automatically generated, and may be incomplete or contain duplicates.
50 These lists are automatically generated, and may be incomplete or contain duplicates.
29
51
30 We closed 0 issues and merged 30 pull requests.
52 We closed 0 issues and merged 30 pull requests.
31 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.14>`__
53 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.14>`__
32
54
33 The following 10 authors contributed 47 commits.
55 The following 10 authors contributed 47 commits.
34
56
35 * Eric Wieser
57 * Eric Wieser
36 * foobarbyte
58 * foobarbyte
37 * Ian Castleden
59 * Ian Castleden
38 * Itamar Turner-Trauring
60 * Itamar Turner-Trauring
39 * Lumir Balhar
61 * Lumir Balhar
40 * Markus Wageringel
62 * Markus Wageringel
41 * Matthias Bussonnier
63 * Matthias Bussonnier
42 * Matthieu Ancellin
64 * Matthieu Ancellin
43 * Quentin Peter
65 * Quentin Peter
44 * Theo Ouzhinski
66 * Theo Ouzhinski
45
67
46 Issues closed in 7.13
68 Issues closed in 7.13
47 ---------------------
69 ---------------------
48
70
49 GitHub stats for 2020/02/29 - 2020/05/01 (tag: 7.13.0)
71 GitHub stats for 2020/02/29 - 2020/05/01 (tag: 7.13.0)
50
72
51 These lists are automatically generated, and may be incomplete or contain duplicates.
73 These lists are automatically generated, and may be incomplete or contain duplicates.
52
74
53 We closed 0 issues and merged 30 pull requests.
75 We closed 0 issues and merged 30 pull requests.
54 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.14>`__
76 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.14>`__
55
77
56 The following 10 authors contributed 47 commits.
78 The following 10 authors contributed 47 commits.
57
79
58 * Eric Wieser
80 * Eric Wieser
59 * foobarbyte
81 * foobarbyte
60 * Ian Castleden
82 * Ian Castleden
61 * Itamar Turner-Trauring
83 * Itamar Turner-Trauring
62 * Lumir Balhar
84 * Lumir Balhar
63 * Markus Wageringel
85 * Markus Wageringel
64 * Matthias Bussonnier
86 * Matthias Bussonnier
65 * Matthieu Ancellin
87 * Matthieu Ancellin
66 * Quentin Peter
88 * Quentin Peter
67 * Theo Ouzhinski
89 * Theo Ouzhinski
68
90
69 Issues closed in 7.13
91 Issues closed in 7.13
70 ---------------------
92 ---------------------
71
93
72 GitHub stats for 2020/02/01 - 2020/02/28 (tag: 7.12.0)
94 GitHub stats for 2020/02/01 - 2020/02/28 (tag: 7.12.0)
73
95
74 These lists are automatically generated, and may be incomplete or contain duplicates.
96 These lists are automatically generated, and may be incomplete or contain duplicates.
75
97
76 We closed 1 issues and merged 24 pull requests.
98 We closed 1 issues and merged 24 pull requests.
77 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.13>`__
99 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.13>`__
78
100
79 The following 12 authors contributed 108 commits.
101 The following 12 authors contributed 108 commits.
80
102
81 * Alex Hall
103 * Alex Hall
82 * Augusto
104 * Augusto
83 * Coon, Ethan T
105 * Coon, Ethan T
84 * Daniel Hahler
106 * Daniel Hahler
85 * Inception95
107 * Inception95
86 * Itamar Turner-Trauring
108 * Itamar Turner-Trauring
87 * Jonas Haag
109 * Jonas Haag
88 * Jonathan Slenders
110 * Jonathan Slenders
89 * linar-jether
111 * linar-jether
90 * Matthias Bussonnier
112 * Matthias Bussonnier
91 * Nathan Goldbaum
113 * Nathan Goldbaum
92 * Terry Davis
114 * Terry Davis
93
115
94
116
95 Issues closed in 7.12
117 Issues closed in 7.12
96 ---------------------
118 ---------------------
97
119
98 GitHub stats for 2020/01/01 - 2020/01/31 (tag: 7.11.1)
120 GitHub stats for 2020/01/01 - 2020/01/31 (tag: 7.11.1)
99
121
100 These lists are automatically generated, and may be incomplete or contain duplicates.
122 These lists are automatically generated, and may be incomplete or contain duplicates.
101
123
102 We closed 2 issues and merged 14 pull requests.
124 We closed 2 issues and merged 14 pull requests.
103 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.12>`__
125 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.12>`__
104
126
105 The following 11 authors contributed 48 commits.
127 The following 11 authors contributed 48 commits.
106
128
107 * Augusto
129 * Augusto
108 * Eric Wieser
130 * Eric Wieser
109 * Jeff Potter
131 * Jeff Potter
110 * Mark E. Haase
132 * Mark E. Haase
111 * Matthias Bussonnier
133 * Matthias Bussonnier
112 * ossdev07
134 * ossdev07
113 * ras44
135 * ras44
114 * takuya fujiwara
136 * takuya fujiwara
115 * Terry Davis
137 * Terry Davis
116 * Thomas A Caswell
138 * Thomas A Caswell
117 * yangyang
139 * yangyang
118
140
119 Issues closed in 7.11
141 Issues closed in 7.11
120 ---------------------
142 ---------------------
121
143
122 GitHub stats for 2019/12/01 - 2019/12/27 (tag: 7.10.1)
144 GitHub stats for 2019/12/01 - 2019/12/27 (tag: 7.10.1)
123
145
124 These lists are automatically generated, and may be incomplete or contain duplicates.
146 These lists are automatically generated, and may be incomplete or contain duplicates.
125
147
126 We closed 4 issues and merged 36 pull requests.
148 We closed 4 issues and merged 36 pull requests.
127 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.11>`__
149 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.11>`__
128
150
129 The following 16 authors contributed 114 commits.
151 The following 16 authors contributed 114 commits.
130
152
131 * Augusto
153 * Augusto
132 * Benjamin Ragan-Kelley
154 * Benjamin Ragan-Kelley
133 * Chemss Eddine Ben Hassine
155 * Chemss Eddine Ben Hassine
134 * Danny Hermes
156 * Danny Hermes
135 * Dominik Miedziński
157 * Dominik Miedziński
136 * Jonathan Feinberg
158 * Jonathan Feinberg
137 * Jonathan Slenders
159 * Jonathan Slenders
138 * Joseph Kahn
160 * Joseph Kahn
139 * kousik
161 * kousik
140 * Kousik Mitra
162 * Kousik Mitra
141 * Marc Hernandez Cabot
163 * Marc Hernandez Cabot
142 * Matthias Bussonnier
164 * Matthias Bussonnier
143 * Naveen Honest Raj K
165 * Naveen Honest Raj K
144 * Pratyay Pandey
166 * Pratyay Pandey
145 * Quentin Peter
167 * Quentin Peter
146 * takuya fujiwara
168 * takuya fujiwara
147
169
148
170
149 Issues closed in 7.10.2
171 Issues closed in 7.10.2
150 -----------------------
172 -----------------------
151
173
152
174
153 GitHub stats for 2019/12/01 - 2019/12/14 (tag: 7.10.1)
175 GitHub stats for 2019/12/01 - 2019/12/14 (tag: 7.10.1)
154
176
155 These lists are automatically generated, and may be incomplete or contain duplicates.
177 These lists are automatically generated, and may be incomplete or contain duplicates.
156
178
157 We closed 3 issues and merged 10 pull requests.
179 We closed 3 issues and merged 10 pull requests.
158 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.10.2>`__
180 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.10.2>`__
159
181
160 The following 3 authors contributed 11 commits.
182 The following 3 authors contributed 11 commits.
161
183
162 * Jonathan Slenders
184 * Jonathan Slenders
163 * Joseph Kahn
185 * Joseph Kahn
164 * Matthias Bussonnier
186 * Matthias Bussonnier
165
187
166 Issues closed in 7.10.1
188 Issues closed in 7.10.1
167 -----------------------
189 -----------------------
168
190
169 GitHub stats for 2019/11/27 - 2019/12/01 (tag: 7.10.0)
191 GitHub stats for 2019/11/27 - 2019/12/01 (tag: 7.10.0)
170
192
171 These lists are automatically generated, and may be incomplete or contain duplicates.
193 These lists are automatically generated, and may be incomplete or contain duplicates.
172
194
173 We closed 5 issues and merged 7 pull requests.
195 We closed 5 issues and merged 7 pull requests.
174 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.10.1>`__
196 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.10.1>`__
175
197
176 The following 2 authors contributed 14 commits.
198 The following 2 authors contributed 14 commits.
177
199
178 * Jonathan Slenders
200 * Jonathan Slenders
179 * Matthias Bussonnier
201 * Matthias Bussonnier
180
202
181 Issues closed in 7.10
203 Issues closed in 7.10
182 ---------------------
204 ---------------------
183
205
184 GitHub stats for 2019/10/25 - 2019/11/27 (tag: 7.9.0)
206 GitHub stats for 2019/10/25 - 2019/11/27 (tag: 7.9.0)
185
207
186 These lists are automatically generated, and may be incomplete or contain duplicates.
208 These lists are automatically generated, and may be incomplete or contain duplicates.
187
209
188 We closed 4 issues and merged 22 pull requests.
210 We closed 4 issues and merged 22 pull requests.
189 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.10>`__
211 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.10>`__
190
212
191 The following 15 authors contributed 101 commits.
213 The following 15 authors contributed 101 commits.
192
214
193 * anatoly techtonik
215 * anatoly techtonik
194 * Ben Lewis
216 * Ben Lewis
195 * Benjamin Ragan-Kelley
217 * Benjamin Ragan-Kelley
196 * Gerrit Buss
218 * Gerrit Buss
197 * grey275
219 * grey275
198 * Gökcen Eraslan
220 * Gökcen Eraslan
199 * Jonathan Slenders
221 * Jonathan Slenders
200 * Joris Van den Bossche
222 * Joris Van den Bossche
201 * kousik
223 * kousik
202 * Matthias Bussonnier
224 * Matthias Bussonnier
203 * Nicholas Bollweg
225 * Nicholas Bollweg
204 * Paul McCarthy
226 * Paul McCarthy
205 * Srinivas Reddy Thatiparthy
227 * Srinivas Reddy Thatiparthy
206 * Timo Kaufmann
228 * Timo Kaufmann
207 * Tony Fast
229 * Tony Fast
208
230
209 Issues closed in 7.9
231 Issues closed in 7.9
210 --------------------
232 --------------------
211
233
212 GitHub stats for 2019/08/30 - 2019/10/25 (tag: 7.8.0)
234 GitHub stats for 2019/08/30 - 2019/10/25 (tag: 7.8.0)
213
235
214 These lists are automatically generated, and may be incomplete or contain duplicates.
236 These lists are automatically generated, and may be incomplete or contain duplicates.
215
237
216 We closed 1 issues and merged 9 pull requests.
238 We closed 1 issues and merged 9 pull requests.
217 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.9>`__
239 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.9>`__
218
240
219 The following 8 authors contributed 20 commits.
241 The following 8 authors contributed 20 commits.
220
242
221 * Benjamin Ragan-Kelley
243 * Benjamin Ragan-Kelley
222 * Hugo
244 * Hugo
223 * Matthias Bussonnier
245 * Matthias Bussonnier
224 * mfh92
246 * mfh92
225 * Mohammad Hossein Sekhavat
247 * Mohammad Hossein Sekhavat
226 * Niclas
248 * Niclas
227 * Vidar Tonaas Fauske
249 * Vidar Tonaas Fauske
228 * Георгий Фролов
250 * Георгий Фролов
229
251
230 Issues closed in 7.8
252 Issues closed in 7.8
231 --------------------
253 --------------------
232
254
233 GitHub stats for 2019/07/26 - 2019/08/30 (tag: 7.7.0)
255 GitHub stats for 2019/07/26 - 2019/08/30 (tag: 7.7.0)
234
256
235 These lists are automatically generated, and may be incomplete or contain duplicates.
257 These lists are automatically generated, and may be incomplete or contain duplicates.
236
258
237 We closed 1 issues and merged 4 pull requests.
259 We closed 1 issues and merged 4 pull requests.
238 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.8>`__
260 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.8>`__
239
261
240 The following 5 authors contributed 27 commits.
262 The following 5 authors contributed 27 commits.
241
263
242 * Dan Allan
264 * Dan Allan
243 * Matthias Bussonnier
265 * Matthias Bussonnier
244 * Min ho Kim
266 * Min ho Kim
245 * Oscar Gustafsson
267 * Oscar Gustafsson
246 * Terry Davis
268 * Terry Davis
247
269
248 Issues closed in 7.7
270 Issues closed in 7.7
249 --------------------
271 --------------------
250
272
251 GitHub stats for 2019/07/03 - 2019/07/26 (tag: 7.6.1)
273 GitHub stats for 2019/07/03 - 2019/07/26 (tag: 7.6.1)
252
274
253 These lists are automatically generated, and may be incomplete or contain duplicates.
275 These lists are automatically generated, and may be incomplete or contain duplicates.
254
276
255 We closed 5 issues and merged 9 pull requests.
277 We closed 5 issues and merged 9 pull requests.
256 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.7>`__
278 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.7>`__
257
279
258 The following 8 authors contributed 26 commits.
280 The following 8 authors contributed 26 commits.
259
281
260 * Brandon T. Willard
282 * Brandon T. Willard
261 * juanis2112
283 * juanis2112
262 * lllf
284 * lllf
263 * Matthias Bussonnier
285 * Matthias Bussonnier
264 * Min ho Kim
286 * Min ho Kim
265 * Oriol (Prodesk)
287 * Oriol (Prodesk)
266 * Po-Chuan Hsieh
288 * Po-Chuan Hsieh
267 * techassetskris
289 * techassetskris
268
290
269 Issues closed in 7.6
291 Issues closed in 7.6
270 --------------------
292 --------------------
271
293
272 GitHub stats for 2019/04/24 - 2019/06/28 (tag: 7.5.0)
294 GitHub stats for 2019/04/24 - 2019/06/28 (tag: 7.5.0)
273
295
274 These lists are automatically generated, and may be incomplete or contain duplicates.
296 These lists are automatically generated, and may be incomplete or contain duplicates.
275
297
276 We closed 9 issues and merged 43 pull requests.
298 We closed 9 issues and merged 43 pull requests.
277 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.6>`__
299 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.6>`__
278
300
279 The following 19 authors contributed 144 commits.
301 The following 19 authors contributed 144 commits.
280
302
281 * Alok Singh
303 * Alok Singh
282 * Andreas
304 * Andreas
283 * Antony Lee
305 * Antony Lee
284 * Daniel Hahler
306 * Daniel Hahler
285 * Ed OBrien
307 * Ed OBrien
286 * Kevin Sheppard
308 * Kevin Sheppard
287 * Luciana da Costa Marques
309 * Luciana da Costa Marques
288 * Maor Kleinberger
310 * Maor Kleinberger
289 * Matthias Bussonnier
311 * Matthias Bussonnier
290 * Miro Hrončok
312 * Miro Hrončok
291 * Niclas
313 * Niclas
292 * Nikita Bezdolniy
314 * Nikita Bezdolniy
293 * Oriol Abril
315 * Oriol Abril
294 * Piers Titus van der Torren
316 * Piers Titus van der Torren
295 * Pragnya Srinivasan
317 * Pragnya Srinivasan
296 * Robin Gustafsson
318 * Robin Gustafsson
297 * stonebig
319 * stonebig
298 * Thomas A Caswell
320 * Thomas A Caswell
299 * zzzz-qq
321 * zzzz-qq
300
322
301
323
302 Issues closed in 7.5
324 Issues closed in 7.5
303 --------------------
325 --------------------
304
326
305 GitHub stats for 2019/03/21 - 2019/04/24 (tag: 7.4.0)
327 GitHub stats for 2019/03/21 - 2019/04/24 (tag: 7.4.0)
306
328
307 These lists are automatically generated, and may be incomplete or contain duplicates.
329 These lists are automatically generated, and may be incomplete or contain duplicates.
308
330
309 We closed 2 issues and merged 9 pull requests.
331 We closed 2 issues and merged 9 pull requests.
310 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.5>`__
332 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.5>`__
311
333
312 The following 7 authors contributed 28 commits.
334 The following 7 authors contributed 28 commits.
313
335
314 * Akshay Paropkari
336 * Akshay Paropkari
315 * Benjamin Ragan-Kelley
337 * Benjamin Ragan-Kelley
316 * Ivan Tham
338 * Ivan Tham
317 * Matthias Bussonnier
339 * Matthias Bussonnier
318 * Nick Tallant
340 * Nick Tallant
319 * Sebastian Witowski
341 * Sebastian Witowski
320 * stef-ubuntu
342 * stef-ubuntu
321
343
322
344
323 Issues closed in 7.4
345 Issues closed in 7.4
324 --------------------
346 --------------------
325
347
326 GitHub stats for 2019/02/18 - 2019/03/21 (tag: 7.3.0)
348 GitHub stats for 2019/02/18 - 2019/03/21 (tag: 7.3.0)
327
349
328 These lists are automatically generated, and may be incomplete or contain duplicates.
350 These lists are automatically generated, and may be incomplete or contain duplicates.
329
351
330 We closed 9 issues and merged 20 pull requests.
352 We closed 9 issues and merged 20 pull requests.
331 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.3>`__
353 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.3>`__
332
354
333 The following 23 authors contributed 69 commits.
355 The following 23 authors contributed 69 commits.
334
356
335 * anatoly techtonik
357 * anatoly techtonik
336 * Benjamin Ragan-Kelley
358 * Benjamin Ragan-Kelley
337 * bnables
359 * bnables
338 * Frédéric Chapoton
360 * Frédéric Chapoton
339 * Gabriel Potter
361 * Gabriel Potter
340 * Ian Bell
362 * Ian Bell
341 * Jake VanderPlas
363 * Jake VanderPlas
342 * Jan S. (Milania1)
364 * Jan S. (Milania1)
343 * Jesse Widner
365 * Jesse Widner
344 * jsnydes
366 * jsnydes
345 * Kyungdahm Yun
367 * Kyungdahm Yun
346 * Laurent Gautier
368 * Laurent Gautier
347 * Luciana da Costa Marques
369 * Luciana da Costa Marques
348 * Matan Gover
370 * Matan Gover
349 * Matthias Bussonnier
371 * Matthias Bussonnier
350 * memeplex
372 * memeplex
351 * Mickaël Schoentgen
373 * Mickaël Schoentgen
352 * Partha P. Mukherjee
374 * Partha P. Mukherjee
353 * Philipp A
375 * Philipp A
354 * Sanyam Agarwal
376 * Sanyam Agarwal
355 * Steve Nicholson
377 * Steve Nicholson
356 * Tony Fast
378 * Tony Fast
357 * Wouter Overmeire
379 * Wouter Overmeire
358
380
359
381
360 Issues closed in 7.3
382 Issues closed in 7.3
361 --------------------
383 --------------------
362
384
363 GitHub stats for 2018/11/30 - 2019/02/18 (tag: 7.2.0)
385 GitHub stats for 2018/11/30 - 2019/02/18 (tag: 7.2.0)
364
386
365 These lists are automatically generated, and may be incomplete or contain duplicates.
387 These lists are automatically generated, and may be incomplete or contain duplicates.
366
388
367 We closed 4 issues and merged 20 pull requests.
389 We closed 4 issues and merged 20 pull requests.
368 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.3>`__
390 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.3>`__
369
391
370 The following 17 authors contributed 99 commits.
392 The following 17 authors contributed 99 commits.
371
393
372 * anatoly techtonik
394 * anatoly techtonik
373 * Benjamin Ragan-Kelley
395 * Benjamin Ragan-Kelley
374 * Gabriel Potter
396 * Gabriel Potter
375 * Ian Bell
397 * Ian Bell
376 * Jake VanderPlas
398 * Jake VanderPlas
377 * Jan S. (Milania1)
399 * Jan S. (Milania1)
378 * Jesse Widner
400 * Jesse Widner
379 * Kyungdahm Yun
401 * Kyungdahm Yun
380 * Laurent Gautier
402 * Laurent Gautier
381 * Matthias Bussonnier
403 * Matthias Bussonnier
382 * memeplex
404 * memeplex
383 * Mickaël Schoentgen
405 * Mickaël Schoentgen
384 * Partha P. Mukherjee
406 * Partha P. Mukherjee
385 * Philipp A
407 * Philipp A
386 * Sanyam Agarwal
408 * Sanyam Agarwal
387 * Steve Nicholson
409 * Steve Nicholson
388 * Tony Fast
410 * Tony Fast
389
411
390 Issues closed in 7.2
412 Issues closed in 7.2
391 --------------------
413 --------------------
392
414
393 GitHub stats for 2018/10/28 - 2018/11/29 (tag: 7.1.1)
415 GitHub stats for 2018/10/28 - 2018/11/29 (tag: 7.1.1)
394
416
395 These lists are automatically generated, and may be incomplete or contain duplicates.
417 These lists are automatically generated, and may be incomplete or contain duplicates.
396
418
397 We closed 2 issues and merged 18 pull requests.
419 We closed 2 issues and merged 18 pull requests.
398 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.2>`__
420 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.2>`__
399
421
400 The following 16 authors contributed 95 commits.
422 The following 16 authors contributed 95 commits.
401
423
402 * Antony Lee
424 * Antony Lee
403 * Benjamin Ragan-Kelley
425 * Benjamin Ragan-Kelley
404 * CarsonGSmith
426 * CarsonGSmith
405 * Chris Mentzel
427 * Chris Mentzel
406 * Christopher Brown
428 * Christopher Brown
407 * Dan Allan
429 * Dan Allan
408 * Elliott Morgan Jobson
430 * Elliott Morgan Jobson
409 * is-this-valid
431 * is-this-valid
410 * kd2718
432 * kd2718
411 * Kevin Hess
433 * Kevin Hess
412 * Martin Bergtholdt
434 * Martin Bergtholdt
413 * Matthias Bussonnier
435 * Matthias Bussonnier
414 * Nicholas Bollweg
436 * Nicholas Bollweg
415 * Pavel Karateev
437 * Pavel Karateev
416 * Philipp A
438 * Philipp A
417 * Reuben Morais
439 * Reuben Morais
418
440
419 Issues closed in 7.1
441 Issues closed in 7.1
420 --------------------
442 --------------------
421
443
422 GitHub stats for 2018/09/27 - 2018/10/27 (since tag: 7.0.1)
444 GitHub stats for 2018/09/27 - 2018/10/27 (since tag: 7.0.1)
423
445
424 These lists are automatically generated, and may be incomplete or contain duplicates.
446 These lists are automatically generated, and may be incomplete or contain duplicates.
425
447
426 We closed 31 issues and merged 54 pull requests.
448 We closed 31 issues and merged 54 pull requests.
427 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.1>`__
449 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.1>`__
428
450
429 The following 33 authors contributed 254 commits.
451 The following 33 authors contributed 254 commits.
430
452
431 * ammarmallik
453 * ammarmallik
432 * Audrey Dutcher
454 * Audrey Dutcher
433 * Bart Skowron
455 * Bart Skowron
434 * Benjamin Ragan-Kelley
456 * Benjamin Ragan-Kelley
435 * BinaryCrochet
457 * BinaryCrochet
436 * Chris Barker
458 * Chris Barker
437 * Christopher Moura
459 * Christopher Moura
438 * Dedipyaman Das
460 * Dedipyaman Das
439 * Dominic Kuang
461 * Dominic Kuang
440 * Elyashiv
462 * Elyashiv
441 * Emil Hessman
463 * Emil Hessman
442 * felixzhuologist
464 * felixzhuologist
443 * hongshaoyang
465 * hongshaoyang
444 * Hugo
466 * Hugo
445 * kd2718
467 * kd2718
446 * kory donati
468 * kory donati
447 * Kory Donati
469 * Kory Donati
448 * koryd
470 * koryd
449 * luciana
471 * luciana
450 * luz.paz
472 * luz.paz
451 * Massimo Santini
473 * Massimo Santini
452 * Matthias Bussonnier
474 * Matthias Bussonnier
453 * Matthias Geier
475 * Matthias Geier
454 * meeseeksdev[bot]
476 * meeseeksdev[bot]
455 * Michael Penkov
477 * Michael Penkov
456 * Mukesh Bhandarkar
478 * Mukesh Bhandarkar
457 * Nguyen Duy Hai
479 * Nguyen Duy Hai
458 * Roy Wellington Ⅳ
480 * Roy Wellington Ⅳ
459 * Sha Liu
481 * Sha Liu
460 * Shao Yang
482 * Shao Yang
461 * Shashank Kumar
483 * Shashank Kumar
462 * Tony Fast
484 * Tony Fast
463 * wim glenn
485 * wim glenn
464
486
465
487
466 Issues closed in 7.0
488 Issues closed in 7.0
467 --------------------
489 --------------------
468
490
469 GitHub stats for 2018/07/29 - 2018/09/27 (since tag: 6.5.0)
491 GitHub stats for 2018/07/29 - 2018/09/27 (since tag: 6.5.0)
470
492
471 These lists are automatically generated, and may be incomplete or contain duplicates.
493 These lists are automatically generated, and may be incomplete or contain duplicates.
472
494
473 We closed 20 issues and merged 76 pull requests.
495 We closed 20 issues and merged 76 pull requests.
474 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.0>`__
496 The full list can be seen `on GitHub <https://github.com/ipython/ipython/issues?q=milestone%3A7.0>`__
475
497
476 The following 49 authors contributed 471 commits.
498 The following 49 authors contributed 471 commits.
477
499
478 * alphaCTzo7G
500 * alphaCTzo7G
479 * Alyssa Whitwell
501 * Alyssa Whitwell
480 * Anatol Ulrich
502 * Anatol Ulrich
481 * apunisal
503 * apunisal
482 * Benjamin Ragan-Kelley
504 * Benjamin Ragan-Kelley
483 * Chaz Reid
505 * Chaz Reid
484 * Christoph
506 * Christoph
485 * Dale Jung
507 * Dale Jung
486 * Dave Hirschfeld
508 * Dave Hirschfeld
487 * dhirschf
509 * dhirschf
488 * Doug Latornell
510 * Doug Latornell
489 * Fernando Perez
511 * Fernando Perez
490 * Fred Mitchell
512 * Fred Mitchell
491 * Gabriel Potter
513 * Gabriel Potter
492 * gpotter2
514 * gpotter2
493 * Grant Nestor
515 * Grant Nestor
494 * hongshaoyang
516 * hongshaoyang
495 * Hugo
517 * Hugo
496 * J Forde
518 * J Forde
497 * Jonathan Slenders
519 * Jonathan Slenders
498 * Jörg Dietrich
520 * Jörg Dietrich
499 * Kyle Kelley
521 * Kyle Kelley
500 * luz.paz
522 * luz.paz
501 * M Pacer
523 * M Pacer
502 * Matthew R. Scott
524 * Matthew R. Scott
503 * Matthew Seal
525 * Matthew Seal
504 * Matthias Bussonnier
526 * Matthias Bussonnier
505 * meeseeksdev[bot]
527 * meeseeksdev[bot]
506 * Michael Käufl
528 * Michael Käufl
507 * Olesya Baranova
529 * Olesya Baranova
508 * oscar6echo
530 * oscar6echo
509 * Paul Ganssle
531 * Paul Ganssle
510 * Paul Ivanov
532 * Paul Ivanov
511 * Peter Parente
533 * Peter Parente
512 * prasanth
534 * prasanth
513 * Shailyn javier Ortiz jimenez
535 * Shailyn javier Ortiz jimenez
514 * Sourav Singh
536 * Sourav Singh
515 * Srinivas Reddy Thatiparthy
537 * Srinivas Reddy Thatiparthy
516 * Steven Silvester
538 * Steven Silvester
517 * stonebig
539 * stonebig
518 * Subhendu Ranjan Mishra
540 * Subhendu Ranjan Mishra
519 * Takafumi Arakaki
541 * Takafumi Arakaki
520 * Thomas A Caswell
542 * Thomas A Caswell
521 * Thomas Kluyver
543 * Thomas Kluyver
522 * Todd
544 * Todd
523 * Wei Yen
545 * Wei Yen
524 * Yarko Tymciurak
546 * Yarko Tymciurak
525 * Yutao Yuan
547 * Yutao Yuan
526 * Zi Chong Kao
548 * Zi Chong Kao
@@ -1,1005 +1,1066
1 ============
1 ============
2 7.x Series
2 7.x Series
3 ============
3 ============
4
4
5 .. _version 716:
6
7 IPython 7.16
8 ============
9
10
11 The default traceback mode will now skip frames that are marked with
12 ``__tracebackhide__ = True`` and show how many traceback frames have been
13 skipped. This can be toggled by using :magic:`xmode` with the ``--show`` or
14 ``--hide`` attribute. It will have no effect on non verbose traceback modes.
15
16 The ipython debugger also now understands ``__tracebackhide__`` as well and will
17 skip hidden frames when displaying. Movement up and down the stack will skip the
18 hidden frames and will show how many frames were hidden. Internal IPython frames
19 are also now hidden by default. The behavior can be changed with the
20 ``skip_hidden`` while in the debugger, command and accepts "yes", "no", "true"
21 and "false" case insensitive parameters.
22
23
24 Misc Noticeable changes:
25 ------------------------
26
27 - Exceptions are now (re)raised when running notebooks via the :magic:`%run`, helping to catch issues in workflows and
28 pipelines. :ghpull:`12301`
29 - Fix inputhook for qt 5.15.0 :ghpull:`12355`
30 - Fix wx inputhook :ghpull:`12375`
31 - Add handling for malformed pathext env var (Windows) :ghpull:`12367`
32 - use $SHELL in system_piped :ghpull:`12360` for uniform behavior with
33 ipykernel.
34
35 Reproducible Build
36 ------------------
37
38 IPython 7.15 reproducible build did not work, so we try again this month
39 :ghpull:`12358`.
40
41
42 API Changes
43 -----------
44
45 Change of API and exposed objects automatically detected using `frappuccino
46 <https://pypi.org/project/frappuccino/>`_ (still in beta):
47
48
49 The following items are new and mostly related to understanding ``__tracebackbhide__``::
50
51 + IPython.core.debugger.Pdb.do_down(self, arg)
52 + IPython.core.debugger.Pdb.do_skip_hidden(self, arg)
53 + IPython.core.debugger.Pdb.do_up(self, arg)
54 + IPython.core.debugger.Pdb.hidden_frames(self, stack)
55 + IPython.core.debugger.Pdb.stop_here(self, frame)
56
57
58 The following items have been removed::
59
60 - IPython.core.debugger.Pdb.new_do_down
61 - IPython.core.debugger.Pdb.new_do_up
62
63 Those were implementation details.
64
65
5 .. _version 715:
66 .. _version 715:
6
67
7 IPython 7.15
68 IPython 7.15
8 ============
69 ============
9
70
10 IPython 7.15 brings a number of bug fixes and user facing improvements.
71 IPython 7.15 brings a number of bug fixes and user facing improvements.
11
72
12 Misc Noticeable changes:
73 Misc Noticeable changes:
13 ------------------------
74 ------------------------
14
75
15 - Long completion name have better elision in terminal :ghpull:`12284`
76 - Long completion name have better elision in terminal :ghpull:`12284`
16 - I've started to test on Python 3.9 :ghpull:`12307` and fix some errors.
77 - I've started to test on Python 3.9 :ghpull:`12307` and fix some errors.
17 - Hi DPI scaling of figures when using qt eventloop :ghpull:`12314`
78 - Hi DPI scaling of figures when using qt eventloop :ghpull:`12314`
18 - Document the ability to have systemwide configuration for IPython.
79 - Document the ability to have systemwide configuration for IPython.
19 :ghpull:`12328`
80 :ghpull:`12328`
20 - Fix issues with input autoformatting :ghpull:`12336`
81 - Fix issues with input autoformatting :ghpull:`12336`
21 - ``IPython.core.debugger.Pdb`` is now interruptible (:ghpull:`12168`, in 7.14
82 - ``IPython.core.debugger.Pdb`` is now interruptible (:ghpull:`12168`, in 7.14
22 but forgotten in release notes)
83 but forgotten in release notes)
23 - Video HTML attributes (:ghpull:`12212`, in 7.14 but forgotten in release
84 - Video HTML attributes (:ghpull:`12212`, in 7.14 but forgotten in release
24 notes)
85 notes)
25
86
26 Reproducible Build
87 Reproducible Build
27 ------------------
88 ------------------
28
89
29 Starting with IPython 7.15, I am attempting to provide reproducible builds,
90 Starting with IPython 7.15, I am attempting to provide reproducible builds,
30 that is to say you should be able from the source tree to generate an sdist
91 that is to say you should be able from the source tree to generate an sdist
31 and wheel that are identical byte for byte with the publish version on PyPI.
92 and wheel that are identical byte for byte with the publish version on PyPI.
32
93
33 I've only tested on a couple of machines so far and the process is relatively
94 I've only tested on a couple of machines so far and the process is relatively
34 straightforward, so this mean that IPython not only have a deterministic build
95 straightforward, so this mean that IPython not only have a deterministic build
35 process, but also I have either removed, or put under control all effects of
96 process, but also I have either removed, or put under control all effects of
36 the build environments on the final artifact. I encourage you to attempt the
97 the build environments on the final artifact. I encourage you to attempt the
37 build process on your machine as documented in :ref:`core_developer_guide`
98 build process on your machine as documented in :ref:`core_developer_guide`
38 and let me know if you do not obtain an identical artifact.
99 and let me know if you do not obtain an identical artifact.
39
100
40 While reproducible builds is critical to check that the supply chain of (open
101 While reproducible builds is critical to check that the supply chain of (open
41 source) software has not been compromised, it can also help to speedup many
102 source) software has not been compromised, it can also help to speedup many
42 of the build processes in large environment (conda, apt...) by allowing
103 of the build processes in large environment (conda, apt...) by allowing
43 better caching of intermediate build steps.
104 better caching of intermediate build steps.
44
105
45 Learn more on `<https://reproducible-builds.org/>`_. `Reflections on trusting
106 Learn more on `<https://reproducible-builds.org/>`_. `Reflections on trusting
46 trust <https://dl.acm.org/doi/10.1145/358198.358210>`_ is also one of the
107 trust <https://dl.acm.org/doi/10.1145/358198.358210>`_ is also one of the
47 cornerstone and recommended reads on this subject.
108 cornerstone and recommended reads on this subject.
48
109
49 .. note::
110 .. note::
50
111
51 The build commit from which the sdist is generated is also `signed
112 The build commit from which the sdist is generated is also `signed
52 <https://en.wikipedia.org/wiki/Digital_signature>`_, so you should be able to
113 <https://en.wikipedia.org/wiki/Digital_signature>`_, so you should be able to
53 check it has not been compromised, and the git repository is a `merkle-tree
114 check it has not been compromised, and the git repository is a `merkle-tree
54 <https://en.wikipedia.org/wiki/Merkle_tree>`_, you can check the consistency
115 <https://en.wikipedia.org/wiki/Merkle_tree>`_, you can check the consistency
55 with `git-fsck <https://git-scm.com/docs/git-fsck>`_ which you likely `want
116 with `git-fsck <https://git-scm.com/docs/git-fsck>`_ which you likely `want
56 to enable by default
117 to enable by default
57 <https://gist.github.com/mbbx6spp/14b86437e794bffb4120>`_.
118 <https://gist.github.com/mbbx6spp/14b86437e794bffb4120>`_.
58
119
59 NEP29: Last version to support Python 3.6
120 NEP29: Last version to support Python 3.6
60 -----------------------------------------
121 -----------------------------------------
61
122
62 IPython 7.15 will be the Last IPython version to officially support Python
123 IPython 7.15 will be the Last IPython version to officially support Python
63 3.6, as stated by `NumPy Enhancement Proposal 29
124 3.6, as stated by `NumPy Enhancement Proposal 29
64 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_. Starting with
125 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_. Starting with
65 next minor version of IPython I may stop testing on Python 3.6 and may stop
126 next minor version of IPython I may stop testing on Python 3.6 and may stop
66 publishing release artifacts that install on Python 3.6
127 publishing release artifacts that install on Python 3.6
67
128
68 Highlighted features
129 Highlighted features
69 --------------------
130 --------------------
70
131
71 Highlighted features are not new, but seem to not be widely known, this
132 Highlighted features are not new, but seem to not be widely known, this
72 section will help you discover in more narrative form what you can do with
133 section will help you discover in more narrative form what you can do with
73 IPython.
134 IPython.
74
135
75 Increase Tab Completion Menu Height
136 Increase Tab Completion Menu Height
76 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
138
78 In terminal IPython it is possible to increase the hight of the tab-completion
139 In terminal IPython it is possible to increase the hight of the tab-completion
79 menu. To do so set the value of
140 menu. To do so set the value of
80 :configtrait:`TerminalInteractiveShell.space_for_menu`, this will reserve more
141 :configtrait:`TerminalInteractiveShell.space_for_menu`, this will reserve more
81 space at the bottom of the screen for various kind of menus in IPython including
142 space at the bottom of the screen for various kind of menus in IPython including
82 tab completion and searching in history.
143 tab completion and searching in history.
83
144
84 Autoformat Code in the terminal
145 Autoformat Code in the terminal
85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
146 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86
147
87 If you have a preferred code formatter, you can configure IPython to
148 If you have a preferred code formatter, you can configure IPython to
88 reformat your code. Set the value of
149 reformat your code. Set the value of
89 :configtrait:`TerminalInteractiveShell.autoformatter` to for example ``'black'``
150 :configtrait:`TerminalInteractiveShell.autoformatter` to for example ``'black'``
90 and IPython will auto format your code when possible.
151 and IPython will auto format your code when possible.
91
152
92
153
93 .. _version 714:
154 .. _version 714:
94
155
95 IPython 7.14
156 IPython 7.14
96 ============
157 ============
97
158
98 IPython 7.14 is a minor release that fix a couple of bugs and prepare
159 IPython 7.14 is a minor release that fix a couple of bugs and prepare
99 compatibility with new or future versions of some libraries.
160 compatibility with new or future versions of some libraries.
100
161
101 Important changes:
162 Important changes:
102 ------------------
163 ------------------
103
164
104 - Fix compatibility with Sphinx 3+ :ghpull:`12235`
165 - Fix compatibility with Sphinx 3+ :ghpull:`12235`
105 - Remove deprecated matplotlib parameter usage, compatibility with matplotlib
166 - Remove deprecated matplotlib parameter usage, compatibility with matplotlib
106 3.3+ :`122250`
167 3.3+ :`122250`
107
168
108 Misc Changes
169 Misc Changes
109 ------------
170 ------------
110
171
111 - set ``.py`` extension when editing current buffer in vi/emacs. :ghpull:`12167`
172 - set ``.py`` extension when editing current buffer in vi/emacs. :ghpull:`12167`
112 - support for unicode identifiers in ``?``/``??`` :ghpull:`12208`
173 - support for unicode identifiers in ``?``/``??`` :ghpull:`12208`
113 - add extra options to the ``Video`` Rich objects :ghpull:`12212`
174 - add extra options to the ``Video`` Rich objects :ghpull:`12212`
114 - add pretty-printing to ``SimpleNamespace`` :ghpull:`12230`
175 - add pretty-printing to ``SimpleNamespace`` :ghpull:`12230`
115
176
116 IPython.core.debugger.Pdb is now interruptible
177 IPython.core.debugger.Pdb is now interruptible
117 ----------------------------------------------
178 ----------------------------------------------
118
179
119 A ``KeyboardInterrupt`` will now interrupt IPython's extended debugger, in order to make Jupyter able to interrupt it. (:ghpull:`12168`)
180 A ``KeyboardInterrupt`` will now interrupt IPython's extended debugger, in order to make Jupyter able to interrupt it. (:ghpull:`12168`)
120
181
121 Video HTML attributes
182 Video HTML attributes
122 ---------------------
183 ---------------------
123
184
124 Add an option to `IPython.display.Video` to change the attributes of the HTML display of the video (:ghpull:`12212`)
185 Add an option to `IPython.display.Video` to change the attributes of the HTML display of the video (:ghpull:`12212`)
125
186
126
187
127 Pending deprecated imports
188 Pending deprecated imports
128 --------------------------
189 --------------------------
129
190
130 Many object present in ``IPython.core.display`` are there for internal use only,
191 Many object present in ``IPython.core.display`` are there for internal use only,
131 and should already been imported from ``IPython.display`` by users and external
192 and should already been imported from ``IPython.display`` by users and external
132 libraries. Trying to import those from ``IPython.core.display`` is still possible
193 libraries. Trying to import those from ``IPython.core.display`` is still possible
133 but will trigger a
194 but will trigger a
134 deprecation warning in later versions of IPython and will become errors in the
195 deprecation warning in later versions of IPython and will become errors in the
135 future.
196 future.
136
197
137 This will simplify compatibility with other Python kernels (like Xeus-Python),
198 This will simplify compatibility with other Python kernels (like Xeus-Python),
138 and simplify code base.
199 and simplify code base.
139
200
140
201
141
202
142
203
143 .. _version 713:
204 .. _version 713:
144
205
145 IPython 7.13
206 IPython 7.13
146 ============
207 ============
147
208
148 IPython 7.13 is the final release of the 7.x branch since master is diverging
209 IPython 7.13 is the final release of the 7.x branch since master is diverging
149 toward an 8.0. Exiting new features have already been merged in 8.0 and will
210 toward an 8.0. Exiting new features have already been merged in 8.0 and will
150 not be available on the 7.x branch. All the changes below have been backported
211 not be available on the 7.x branch. All the changes below have been backported
151 from the master branch.
212 from the master branch.
152
213
153
214
154 - Fix inability to run PDB when inside an event loop :ghpull:`12141`
215 - Fix inability to run PDB when inside an event loop :ghpull:`12141`
155 - Fix ability to interrupt some processes on windows :ghpull:`12137`
216 - Fix ability to interrupt some processes on windows :ghpull:`12137`
156 - Fix debugger shortcuts :ghpull:`12132`
217 - Fix debugger shortcuts :ghpull:`12132`
157 - improve tab completion when inside a string by removing irrelevant elements :ghpull:`12128`
218 - improve tab completion when inside a string by removing irrelevant elements :ghpull:`12128`
158 - Fix display of filename tab completion when the path is long :ghpull:`12122`
219 - Fix display of filename tab completion when the path is long :ghpull:`12122`
159 - Many removal of Python 2 specific code path :ghpull:`12110`
220 - Many removal of Python 2 specific code path :ghpull:`12110`
160 - displaying wav files do not require NumPy anymore, and is 5x to 30x faster :ghpull:`12113`
221 - displaying wav files do not require NumPy anymore, and is 5x to 30x faster :ghpull:`12113`
161
222
162 See the list of all closed issues and pull request on `github
223 See the list of all closed issues and pull request on `github
163 <https://github.com/ipython/ipython/pulls?q=is%3Aclosed+milestone%3A7.13>`_.
224 <https://github.com/ipython/ipython/pulls?q=is%3Aclosed+milestone%3A7.13>`_.
164
225
165 .. _version 712:
226 .. _version 712:
166
227
167 IPython 7.12
228 IPython 7.12
168 ============
229 ============
169
230
170 IPython 7.12 is a minor update that mostly brings code cleanup, removal of
231 IPython 7.12 is a minor update that mostly brings code cleanup, removal of
171 longtime deprecated function and a couple update to documentation cleanup as well.
232 longtime deprecated function and a couple update to documentation cleanup as well.
172
233
173 Notable changes are the following:
234 Notable changes are the following:
174
235
175 - Exit non-zero when ipython is given a file path to run that doesn't exist :ghpull:`12074`
236 - Exit non-zero when ipython is given a file path to run that doesn't exist :ghpull:`12074`
176 - Test PR on ARM64 with Travis-CI :ghpull:`12073`
237 - Test PR on ARM64 with Travis-CI :ghpull:`12073`
177 - Update CI to work with latest Pytest :ghpull:`12086`
238 - Update CI to work with latest Pytest :ghpull:`12086`
178 - Add infrastructure to run ipykernel eventloop via trio :ghpull:`12097`
239 - Add infrastructure to run ipykernel eventloop via trio :ghpull:`12097`
179 - Support git blame ignore revs :ghpull:`12091`
240 - Support git blame ignore revs :ghpull:`12091`
180 - Start multi-line ``__repr__`` s on their own line :ghpull:`12099`
241 - Start multi-line ``__repr__`` s on their own line :ghpull:`12099`
181
242
182 .. _version 7111:
243 .. _version 7111:
183
244
184 IPython 7.11.1
245 IPython 7.11.1
185 ==============
246 ==============
186
247
187 A couple of deprecated functions (no-op) have been reintroduces in py3compat as
248 A couple of deprecated functions (no-op) have been reintroduces in py3compat as
188 Cython was still relying on them, and will be removed in a couple of versions.
249 Cython was still relying on them, and will be removed in a couple of versions.
189
250
190 .. _version 711:
251 .. _version 711:
191
252
192 IPython 7.11
253 IPython 7.11
193 ============
254 ============
194
255
195 IPython 7.11 received a couple of compatibility fixes and code cleanup.
256 IPython 7.11 received a couple of compatibility fixes and code cleanup.
196
257
197 A number of function in the ``py3compat`` have been removed; a number of types
258 A number of function in the ``py3compat`` have been removed; a number of types
198 in the IPython code base are now non-ambiguous and now always ``unicode``
259 in the IPython code base are now non-ambiguous and now always ``unicode``
199 instead of ``Union[Unicode,bytes]``; many of the relevant code path have thus
260 instead of ``Union[Unicode,bytes]``; many of the relevant code path have thus
200 been simplified/cleaned and types annotation added.
261 been simplified/cleaned and types annotation added.
201
262
202 IPython support several verbosity level from exceptions. ``xmode plain`` now
263 IPython support several verbosity level from exceptions. ``xmode plain`` now
203 support chained exceptions. :ghpull:`11999`
264 support chained exceptions. :ghpull:`11999`
204
265
205 We are starting to remove ``shell=True`` in some usages of subprocess. While not directly
266 We are starting to remove ``shell=True`` in some usages of subprocess. While not directly
206 a security issue (as IPython is made to run arbitrary code anyway) it is not good
267 a security issue (as IPython is made to run arbitrary code anyway) it is not good
207 practice and we'd like to show the example. :ghissue:`12023`. This discussion
268 practice and we'd like to show the example. :ghissue:`12023`. This discussion
208 was started by ``@mschwager`` thanks to a new auditing tool they are working on
269 was started by ``@mschwager`` thanks to a new auditing tool they are working on
209 with duo-labs (`dlint <https://github.com/duo-labs/dlint>`_).
270 with duo-labs (`dlint <https://github.com/duo-labs/dlint>`_).
210
271
211 Work around some bugs in Python 3.9 tokenizer :ghpull:`12057`
272 Work around some bugs in Python 3.9 tokenizer :ghpull:`12057`
212
273
213 IPython will now print its version after a crash. :ghpull:`11986`
274 IPython will now print its version after a crash. :ghpull:`11986`
214
275
215 This is likely the last release from the 7.x series that will see new feature.
276 This is likely the last release from the 7.x series that will see new feature.
216 The master branch will soon accept large code changes and thrilling new
277 The master branch will soon accept large code changes and thrilling new
217 features; the 7.x branch will only start to accept critical bug fixes, and
278 features; the 7.x branch will only start to accept critical bug fixes, and
218 update dependencies.
279 update dependencies.
219
280
220 .. _version 7102:
281 .. _version 7102:
221
282
222 IPython 7.10.2
283 IPython 7.10.2
223 ==============
284 ==============
224
285
225 IPython 7.10.2 fix a couple of extra incompatibility between IPython, ipdb,
286 IPython 7.10.2 fix a couple of extra incompatibility between IPython, ipdb,
226 asyncio and Prompt Toolkit 3.
287 asyncio and Prompt Toolkit 3.
227
288
228 .. _version 7101:
289 .. _version 7101:
229
290
230 IPython 7.10.1
291 IPython 7.10.1
231 ==============
292 ==============
232
293
233 IPython 7.10.1 fix a couple of incompatibilities with Prompt toolkit 3 (please
294 IPython 7.10.1 fix a couple of incompatibilities with Prompt toolkit 3 (please
234 update Prompt toolkit to 3.0.2 at least), and fixes some interaction with
295 update Prompt toolkit to 3.0.2 at least), and fixes some interaction with
235 headless IPython.
296 headless IPython.
236
297
237 .. _version 7100:
298 .. _version 7100:
238
299
239 IPython 7.10.0
300 IPython 7.10.0
240 ==============
301 ==============
241
302
242 IPython 7.10 is the first double digit minor release in the last decade, and
303 IPython 7.10 is the first double digit minor release in the last decade, and
243 first since the release of IPython 1.0, previous double digit minor release was
304 first since the release of IPython 1.0, previous double digit minor release was
244 in August 2009.
305 in August 2009.
245
306
246 We've been trying to give you regular release on the last Friday of every month
307 We've been trying to give you regular release on the last Friday of every month
247 for a guaranty of rapid access to bug fixes and new features.
308 for a guaranty of rapid access to bug fixes and new features.
248
309
249 Unlike the previous first few releases that have seen only a couple of code
310 Unlike the previous first few releases that have seen only a couple of code
250 changes, 7.10 bring a number of changes, new features and bugfixes.
311 changes, 7.10 bring a number of changes, new features and bugfixes.
251
312
252 Stop Support for Python 3.5 – Adopt NEP 29
313 Stop Support for Python 3.5 – Adopt NEP 29
253 ------------------------------------------
314 ------------------------------------------
254
315
255 IPython has decided to follow the informational `NEP 29
316 IPython has decided to follow the informational `NEP 29
256 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_ which layout a clear
317 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_ which layout a clear
257 policy as to which version of (C)Python and NumPy are supported.
318 policy as to which version of (C)Python and NumPy are supported.
258
319
259 We thus dropped support for Python 3.5, and cleaned up a number of code path
320 We thus dropped support for Python 3.5, and cleaned up a number of code path
260 that were Python-version dependant. If you are on 3.5 or earlier pip should
321 that were Python-version dependant. If you are on 3.5 or earlier pip should
261 automatically give you the latest compatible version of IPython so you do not
322 automatically give you the latest compatible version of IPython so you do not
262 need to pin to a given version.
323 need to pin to a given version.
263
324
264 Support for Prompt Toolkit 3.0
325 Support for Prompt Toolkit 3.0
265 ------------------------------
326 ------------------------------
266
327
267 Prompt Toolkit 3.0 was release a week before IPython 7.10 and introduces a few
328 Prompt Toolkit 3.0 was release a week before IPython 7.10 and introduces a few
268 breaking changes. We believe IPython 7.10 should be compatible with both Prompt
329 breaking changes. We believe IPython 7.10 should be compatible with both Prompt
269 Toolkit 2.x and 3.x, though it has not been extensively tested with 3.x so
330 Toolkit 2.x and 3.x, though it has not been extensively tested with 3.x so
270 please report any issues.
331 please report any issues.
271
332
272
333
273 Prompt Rendering Performance improvements
334 Prompt Rendering Performance improvements
274 -----------------------------------------
335 -----------------------------------------
275
336
276 Pull Request :ghpull:`11933` introduced an optimisation in the prompt rendering
337 Pull Request :ghpull:`11933` introduced an optimisation in the prompt rendering
277 logic that should decrease the resource usage of IPython when using the
338 logic that should decrease the resource usage of IPython when using the
278 _default_ configuration but could potentially introduce a regression of
339 _default_ configuration but could potentially introduce a regression of
279 functionalities if you are using a custom prompt.
340 functionalities if you are using a custom prompt.
280
341
281 We know assume if you haven't changed the default keybindings that the prompt
342 We know assume if you haven't changed the default keybindings that the prompt
282 **will not change** during the duration of your input – which is for example
343 **will not change** during the duration of your input – which is for example
283 not true when using vi insert mode that switches between `[ins]` and `[nor]`
344 not true when using vi insert mode that switches between `[ins]` and `[nor]`
284 for the current mode.
345 for the current mode.
285
346
286 If you are experiencing any issue let us know.
347 If you are experiencing any issue let us know.
287
348
288 Code autoformatting
349 Code autoformatting
289 -------------------
350 -------------------
290
351
291 The IPython terminal can now auto format your code just before entering a new
352 The IPython terminal can now auto format your code just before entering a new
292 line or executing a command. To do so use the
353 line or executing a command. To do so use the
293 ``--TerminalInteractiveShell.autoformatter`` option and set it to ``'black'``;
354 ``--TerminalInteractiveShell.autoformatter`` option and set it to ``'black'``;
294 if black is installed IPython will use black to format your code when possible.
355 if black is installed IPython will use black to format your code when possible.
295
356
296 IPython cannot always properly format your code; in particular it will
357 IPython cannot always properly format your code; in particular it will
297 auto formatting with *black* will only work if:
358 auto formatting with *black* will only work if:
298
359
299 - Your code does not contains magics or special python syntax.
360 - Your code does not contains magics or special python syntax.
300
361
301 - There is no code after your cursor.
362 - There is no code after your cursor.
302
363
303 The Black API is also still in motion; so this may not work with all versions of
364 The Black API is also still in motion; so this may not work with all versions of
304 black.
365 black.
305
366
306 It should be possible to register custom formatter, though the API is till in
367 It should be possible to register custom formatter, though the API is till in
307 flux.
368 flux.
308
369
309 Arbitrary Mimetypes Handing in Terminal (Aka inline images in terminal)
370 Arbitrary Mimetypes Handing in Terminal (Aka inline images in terminal)
310 -----------------------------------------------------------------------
371 -----------------------------------------------------------------------
311
372
312 When using IPython terminal it is now possible to register function to handle
373 When using IPython terminal it is now possible to register function to handle
313 arbitrary mimetypes. While rendering non-text based representation was possible in
374 arbitrary mimetypes. While rendering non-text based representation was possible in
314 many jupyter frontend; it was not possible in terminal IPython, as usually
375 many jupyter frontend; it was not possible in terminal IPython, as usually
315 terminal are limited to displaying text. As many terminal these days provide
376 terminal are limited to displaying text. As many terminal these days provide
316 escape sequences to display non-text; bringing this loved feature to IPython CLI
377 escape sequences to display non-text; bringing this loved feature to IPython CLI
317 made a lot of sens. This functionality will not only allow inline images; but
378 made a lot of sens. This functionality will not only allow inline images; but
318 allow opening of external program; for example ``mplayer`` to "display" sound
379 allow opening of external program; for example ``mplayer`` to "display" sound
319 files.
380 files.
320
381
321 So far only the hooks necessary for this are in place, but no default mime
382 So far only the hooks necessary for this are in place, but no default mime
322 renderers added; so inline images will only be available via extensions. We will
383 renderers added; so inline images will only be available via extensions. We will
323 progressively enable these features by default in the next few releases, and
384 progressively enable these features by default in the next few releases, and
324 contribution is welcomed.
385 contribution is welcomed.
325
386
326 We welcome any feedback on the API. See :ref:`shell_mimerenderer` for more
387 We welcome any feedback on the API. See :ref:`shell_mimerenderer` for more
327 informations.
388 informations.
328
389
329 This is originally based on work form in :ghpull:`10610` from @stephanh42
390 This is originally based on work form in :ghpull:`10610` from @stephanh42
330 started over two years ago, and still a lot need to be done.
391 started over two years ago, and still a lot need to be done.
331
392
332 MISC
393 MISC
333 ----
394 ----
334
395
335 - Completions can define their own ordering :ghpull:`11855`
396 - Completions can define their own ordering :ghpull:`11855`
336 - Enable Plotting in the same cell than the one that import matplotlib
397 - Enable Plotting in the same cell than the one that import matplotlib
337 :ghpull:`11916`
398 :ghpull:`11916`
338 - Allow to store and restore multiple variables at once :ghpull:`11930`
399 - Allow to store and restore multiple variables at once :ghpull:`11930`
339
400
340 You can see `all pull-requests <https://github.com/ipython/ipython/pulls?q=is%3Apr+milestone%3A7.10+is%3Aclosed>`_ for this release.
401 You can see `all pull-requests <https://github.com/ipython/ipython/pulls?q=is%3Apr+milestone%3A7.10+is%3Aclosed>`_ for this release.
341
402
342 API Changes
403 API Changes
343 -----------
404 -----------
344
405
345 Change of API and exposed objects automatically detected using `frappuccino <https://pypi.org/project/frappuccino/>`_ (still in beta):
406 Change of API and exposed objects automatically detected using `frappuccino <https://pypi.org/project/frappuccino/>`_ (still in beta):
346
407
347 The following items are new in IPython 7.10::
408 The following items are new in IPython 7.10::
348
409
349 + IPython.terminal.shortcuts.reformat_text_before_cursor(buffer, document, shell)
410 + IPython.terminal.shortcuts.reformat_text_before_cursor(buffer, document, shell)
350 + IPython.terminal.interactiveshell.PTK3
411 + IPython.terminal.interactiveshell.PTK3
351 + IPython.terminal.interactiveshell.black_reformat_handler(text_before_cursor)
412 + IPython.terminal.interactiveshell.black_reformat_handler(text_before_cursor)
352 + IPython.terminal.prompts.RichPromptDisplayHook.write_format_data(self, format_dict, md_dict='None')
413 + IPython.terminal.prompts.RichPromptDisplayHook.write_format_data(self, format_dict, md_dict='None')
353
414
354 The following items have been removed in 7.10::
415 The following items have been removed in 7.10::
355
416
356 - IPython.lib.pretty.DICT_IS_ORDERED
417 - IPython.lib.pretty.DICT_IS_ORDERED
357
418
358 The following signatures differ between versions::
419 The following signatures differ between versions::
359
420
360 - IPython.extensions.storemagic.restore_aliases(ip)
421 - IPython.extensions.storemagic.restore_aliases(ip)
361 + IPython.extensions.storemagic.restore_aliases(ip, alias='None')
422 + IPython.extensions.storemagic.restore_aliases(ip, alias='None')
362
423
363 Special Thanks
424 Special Thanks
364 --------------
425 --------------
365
426
366 - @stephanh42 who started the work on inline images in terminal 2 years ago
427 - @stephanh42 who started the work on inline images in terminal 2 years ago
367 - @augustogoulart who spent a lot of time triaging issues and responding to
428 - @augustogoulart who spent a lot of time triaging issues and responding to
368 users.
429 users.
369 - @con-f-use who is my (@Carreau) first sponsor on GitHub, as a reminder if you
430 - @con-f-use who is my (@Carreau) first sponsor on GitHub, as a reminder if you
370 like IPython, Jupyter and many other library of the SciPy stack you can
431 like IPython, Jupyter and many other library of the SciPy stack you can
371 donate to numfocus.org non profit
432 donate to numfocus.org non profit
372
433
373 .. _version 790:
434 .. _version 790:
374
435
375 IPython 7.9.0
436 IPython 7.9.0
376 =============
437 =============
377
438
378 IPython 7.9 is a small release with a couple of improvement and bug fixes.
439 IPython 7.9 is a small release with a couple of improvement and bug fixes.
379
440
380 - Xterm terminal title should be restored on exit :ghpull:`11910`
441 - Xterm terminal title should be restored on exit :ghpull:`11910`
381 - special variables ``_``,``__``, ``___`` are not set anymore when cache size
442 - special variables ``_``,``__``, ``___`` are not set anymore when cache size
382 is 0 or less. :ghpull:`11877`
443 is 0 or less. :ghpull:`11877`
383 - Autoreload should have regained some speed by using a new heuristic logic to
444 - Autoreload should have regained some speed by using a new heuristic logic to
384 find all objects needing reload. This should avoid large objects traversal
445 find all objects needing reload. This should avoid large objects traversal
385 like pandas dataframes. :ghpull:`11876`
446 like pandas dataframes. :ghpull:`11876`
386 - Get ready for Python 4. :ghpull:`11874`
447 - Get ready for Python 4. :ghpull:`11874`
387 - `%env` Magic now has heuristic to hide potentially sensitive values :ghpull:`11896`
448 - `%env` Magic now has heuristic to hide potentially sensitive values :ghpull:`11896`
388
449
389 This is a small release despite a number of Pull Request Pending that need to
450 This is a small release despite a number of Pull Request Pending that need to
390 be reviewed/worked on. Many of the core developers have been busy outside of
451 be reviewed/worked on. Many of the core developers have been busy outside of
391 IPython/Jupyter and we thanks all contributor for their patience; we'll work on
452 IPython/Jupyter and we thanks all contributor for their patience; we'll work on
392 these as soon as we have time.
453 these as soon as we have time.
393
454
394
455
395 .. _version780:
456 .. _version780:
396
457
397 IPython 7.8.0
458 IPython 7.8.0
398 =============
459 =============
399
460
400 IPython 7.8.0 contain a few bugfix and 2 new APIs:
461 IPython 7.8.0 contain a few bugfix and 2 new APIs:
401
462
402 - Enable changing the font color for LaTeX rendering :ghpull:`11840`
463 - Enable changing the font color for LaTeX rendering :ghpull:`11840`
403 - and Re-Expose some PDB API (see below)
464 - and Re-Expose some PDB API (see below)
404
465
405 Expose Pdb API
466 Expose Pdb API
406 --------------
467 --------------
407
468
408 Expose the built-in ``pdb.Pdb`` API. ``Pdb`` constructor arguments are generically
469 Expose the built-in ``pdb.Pdb`` API. ``Pdb`` constructor arguments are generically
409 exposed, regardless of python version.
470 exposed, regardless of python version.
410 Newly exposed arguments:
471 Newly exposed arguments:
411
472
412 - ``skip`` - Python 3.1+
473 - ``skip`` - Python 3.1+
413 - ``nosiginnt`` - Python 3.2+
474 - ``nosiginnt`` - Python 3.2+
414 - ``readrc`` - Python 3.6+
475 - ``readrc`` - Python 3.6+
415
476
416 Try it out::
477 Try it out::
417
478
418 from IPython.terminal.debugger import TerminalPdb
479 from IPython.terminal.debugger import TerminalPdb
419 pdb = TerminalPdb(skip=["skipthismodule"])
480 pdb = TerminalPdb(skip=["skipthismodule"])
420
481
421
482
422 See :ghpull:`11840`
483 See :ghpull:`11840`
423
484
424 .. _version770:
485 .. _version770:
425
486
426 IPython 7.7.0
487 IPython 7.7.0
427 =============
488 =============
428
489
429 IPython 7.7.0 contain multiple bug fixes and documentation updates; Here are a
490 IPython 7.7.0 contain multiple bug fixes and documentation updates; Here are a
430 few of the outstanding issue fixed:
491 few of the outstanding issue fixed:
431
492
432 - Fix a bug introduced in 7.6 where the ``%matplotlib`` magic would fail on
493 - Fix a bug introduced in 7.6 where the ``%matplotlib`` magic would fail on
433 previously acceptable arguments :ghpull:`11814`.
494 previously acceptable arguments :ghpull:`11814`.
434 - Fix the manage location on freebsd :ghpull:`11808`.
495 - Fix the manage location on freebsd :ghpull:`11808`.
435 - Fix error message about aliases after ``%reset`` call in ipykernel
496 - Fix error message about aliases after ``%reset`` call in ipykernel
436 :ghpull:`11806`
497 :ghpull:`11806`
437 - Fix Duplication completions in emacs :ghpull:`11803`
498 - Fix Duplication completions in emacs :ghpull:`11803`
438
499
439 We are planning to adopt `NEP29 <https://github.com/numpy/numpy/pull/14086>`_
500 We are planning to adopt `NEP29 <https://github.com/numpy/numpy/pull/14086>`_
440 (still currently in draft) which may make this minor version of IPython the
501 (still currently in draft) which may make this minor version of IPython the
441 last one to support Python 3.5 and will make the code base more aggressive
502 last one to support Python 3.5 and will make the code base more aggressive
442 toward removing compatibility with older versions of Python.
503 toward removing compatibility with older versions of Python.
443
504
444 GitHub now support to give only "Triage" permissions to users; if you'd like to
505 GitHub now support to give only "Triage" permissions to users; if you'd like to
445 help close stale issues and labels issues please reach to us with your GitHub
506 help close stale issues and labels issues please reach to us with your GitHub
446 Username and we'll add you to the triage team. It is a great way to start
507 Username and we'll add you to the triage team. It is a great way to start
447 contributing and a path toward getting commit rights.
508 contributing and a path toward getting commit rights.
448
509
449 .. _version761:
510 .. _version761:
450
511
451 IPython 7.6.1
512 IPython 7.6.1
452 =============
513 =============
453
514
454 IPython 7.6.1 contain a critical bugfix in the ``%timeit`` magic, which would
515 IPython 7.6.1 contain a critical bugfix in the ``%timeit`` magic, which would
455 crash on some inputs as a side effect of :ghpull:`11716`. See :ghpull:`11812`
516 crash on some inputs as a side effect of :ghpull:`11716`. See :ghpull:`11812`
456
517
457
518
458 .. _whatsnew760:
519 .. _whatsnew760:
459
520
460 IPython 7.6.0
521 IPython 7.6.0
461 =============
522 =============
462
523
463 IPython 7.6.0 contains a couple of bug fixes and number of small features
524 IPython 7.6.0 contains a couple of bug fixes and number of small features
464 additions as well as some compatibility with the current development version of
525 additions as well as some compatibility with the current development version of
465 Python 3.8.
526 Python 3.8.
466
527
467 - Add a ``-l`` option to :magic:`psearch` to list the available search
528 - Add a ``-l`` option to :magic:`psearch` to list the available search
468 types. :ghpull:`11672`
529 types. :ghpull:`11672`
469 - Support ``PathLike`` for ``DisplayObject`` and ``Image``. :ghpull:`11764`
530 - Support ``PathLike`` for ``DisplayObject`` and ``Image``. :ghpull:`11764`
470 - Configurability of timeout in the test suite for slow platforms.
531 - Configurability of timeout in the test suite for slow platforms.
471 :ghpull:`11756`
532 :ghpull:`11756`
472 - Accept any casing for matplotlib backend. :ghpull:`121748`
533 - Accept any casing for matplotlib backend. :ghpull:`121748`
473 - Properly skip test that requires numpy to be installed :ghpull:`11723`
534 - Properly skip test that requires numpy to be installed :ghpull:`11723`
474 - More support for Python 3.8 and positional only arguments (pep570)
535 - More support for Python 3.8 and positional only arguments (pep570)
475 :ghpull:`11720`
536 :ghpull:`11720`
476 - Unicode names for the completion are loaded lazily on first use which
537 - Unicode names for the completion are loaded lazily on first use which
477 should decrease startup time. :ghpull:`11693`
538 should decrease startup time. :ghpull:`11693`
478 - Autoreload now update the types of reloaded objects; this for example allow
539 - Autoreload now update the types of reloaded objects; this for example allow
479 pickling of reloaded objects. :ghpull:`11644`
540 pickling of reloaded objects. :ghpull:`11644`
480 - Fix a bug where ``%%time`` magic would suppress cell output. :ghpull:`11716`
541 - Fix a bug where ``%%time`` magic would suppress cell output. :ghpull:`11716`
481
542
482
543
483 Prepare migration to pytest (instead of nose) for testing
544 Prepare migration to pytest (instead of nose) for testing
484 ---------------------------------------------------------
545 ---------------------------------------------------------
485
546
486 Most of the work between 7.5 and 7.6 was to prepare the migration from our
547 Most of the work between 7.5 and 7.6 was to prepare the migration from our
487 testing framework to pytest. Most of the test suite should now work by simply
548 testing framework to pytest. Most of the test suite should now work by simply
488 issuing ``pytest`` from the root of the repository.
549 issuing ``pytest`` from the root of the repository.
489
550
490 The migration to pytest is just at its beginning. Many of our test still rely
551 The migration to pytest is just at its beginning. Many of our test still rely
491 on IPython-specific plugins for nose using pytest (doctest using IPython syntax
552 on IPython-specific plugins for nose using pytest (doctest using IPython syntax
492 is one example of this where test appear as "passing", while no code has been
553 is one example of this where test appear as "passing", while no code has been
493 ran). Many test also need to be updated like ``yield-test`` to be properly
554 ran). Many test also need to be updated like ``yield-test`` to be properly
494 parametrized tests.
555 parametrized tests.
495
556
496 Migration to pytest allowed me to discover a number of issues in our test
557 Migration to pytest allowed me to discover a number of issues in our test
497 suite; which was hiding a number of subtle issues – or not actually running
558 suite; which was hiding a number of subtle issues – or not actually running
498 some of the tests in our test suite – I have thus corrected many of those; like
559 some of the tests in our test suite – I have thus corrected many of those; like
499 improperly closed resources; or used of deprecated features. I also made use of
560 improperly closed resources; or used of deprecated features. I also made use of
500 the ``pytest --durations=...`` to find some of our slowest test and speed them
561 the ``pytest --durations=...`` to find some of our slowest test and speed them
501 up (our test suite can now be up to 10% faster). Pytest as also a variety of
562 up (our test suite can now be up to 10% faster). Pytest as also a variety of
502 plugins and flags which will make the code quality of IPython and the testing
563 plugins and flags which will make the code quality of IPython and the testing
503 experience better.
564 experience better.
504
565
505 Misc
566 Misc
506 ----
567 ----
507
568
508 We skipped the release of 7.6 at the end of May, but will attempt to get back
569 We skipped the release of 7.6 at the end of May, but will attempt to get back
509 on schedule. We are starting to think about making introducing backward
570 on schedule. We are starting to think about making introducing backward
510 incompatible change and start the 8.0 series.
571 incompatible change and start the 8.0 series.
511
572
512 Special Thanks to Gabriel (@gpotter2 on GitHub), who among other took care many
573 Special Thanks to Gabriel (@gpotter2 on GitHub), who among other took care many
513 of the remaining task for 7.4 and 7.5, like updating the website.
574 of the remaining task for 7.4 and 7.5, like updating the website.
514
575
515 .. _whatsnew750:
576 .. _whatsnew750:
516
577
517 IPython 7.5.0
578 IPython 7.5.0
518 =============
579 =============
519
580
520 IPython 7.5.0 consist mostly of bug-fixes, and documentation updates, with one
581 IPython 7.5.0 consist mostly of bug-fixes, and documentation updates, with one
521 minor new feature. The `Audio` display element can now be assigned an element
582 minor new feature. The `Audio` display element can now be assigned an element
522 id when displayed in browser. See :ghpull:`11670`
583 id when displayed in browser. See :ghpull:`11670`
523
584
524 The major outstanding bug fix correct a change of behavior that was introduce
585 The major outstanding bug fix correct a change of behavior that was introduce
525 in 7.4.0 where some cell magics would not be able to access or modify global
586 in 7.4.0 where some cell magics would not be able to access or modify global
526 scope when using the ``@needs_local_scope`` decorator. This was typically
587 scope when using the ``@needs_local_scope`` decorator. This was typically
527 encountered with the ``%%time`` and ``%%timeit`` magics. See :ghissue:`11659`
588 encountered with the ``%%time`` and ``%%timeit`` magics. See :ghissue:`11659`
528 and :ghpull:`11698`.
589 and :ghpull:`11698`.
529
590
530 .. _whatsnew740:
591 .. _whatsnew740:
531
592
532 IPython 7.4.0
593 IPython 7.4.0
533 =============
594 =============
534
595
535 Unicode name completions
596 Unicode name completions
536 ------------------------
597 ------------------------
537
598
538 Previously, we provided completion for a unicode name with its relative symbol.
599 Previously, we provided completion for a unicode name with its relative symbol.
539 With this, now IPython provides complete suggestions to unicode name symbols.
600 With this, now IPython provides complete suggestions to unicode name symbols.
540
601
541 As on the PR, if user types ``\LAT<tab>``, IPython provides a list of
602 As on the PR, if user types ``\LAT<tab>``, IPython provides a list of
542 possible completions. In this case, it would be something like::
603 possible completions. In this case, it would be something like::
543
604
544 'LATIN CAPITAL LETTER A',
605 'LATIN CAPITAL LETTER A',
545 'LATIN CAPITAL LETTER B',
606 'LATIN CAPITAL LETTER B',
546 'LATIN CAPITAL LETTER C',
607 'LATIN CAPITAL LETTER C',
547 'LATIN CAPITAL LETTER D',
608 'LATIN CAPITAL LETTER D',
548 ....
609 ....
549
610
550 This help to type unicode character that do not have short latex aliases, and
611 This help to type unicode character that do not have short latex aliases, and
551 have long unicode names. for example ``Ͱ``, ``\GREEK CAPITAL LETTER HETA``.
612 have long unicode names. for example ``Ͱ``, ``\GREEK CAPITAL LETTER HETA``.
552
613
553 This feature was contributed by Luciana Marques :ghpull:`11583`.
614 This feature was contributed by Luciana Marques :ghpull:`11583`.
554
615
555 Make audio normalization optional
616 Make audio normalization optional
556 ---------------------------------
617 ---------------------------------
557
618
558 Added 'normalize' argument to `IPython.display.Audio`. This argument applies
619 Added 'normalize' argument to `IPython.display.Audio`. This argument applies
559 when audio data is given as an array of samples. The default of `normalize=True`
620 when audio data is given as an array of samples. The default of `normalize=True`
560 preserves prior behavior of normalizing the audio to the maximum possible range.
621 preserves prior behavior of normalizing the audio to the maximum possible range.
561 Setting to `False` disables normalization.
622 Setting to `False` disables normalization.
562
623
563
624
564 Miscellaneous
625 Miscellaneous
565 -------------
626 -------------
566
627
567 - Fix improper acceptation of ``return`` outside of functions. :ghpull:`11641`.
628 - Fix improper acceptation of ``return`` outside of functions. :ghpull:`11641`.
568 - Fixed PyQt 5.11 backwards incompatibility causing sip import failure.
629 - Fixed PyQt 5.11 backwards incompatibility causing sip import failure.
569 :ghpull:`11613`.
630 :ghpull:`11613`.
570 - Fix Bug where ``type?`` would crash IPython. :ghpull:`1608`.
631 - Fix Bug where ``type?`` would crash IPython. :ghpull:`1608`.
571 - Allow to apply ``@needs_local_scope`` to cell magics for convenience.
632 - Allow to apply ``@needs_local_scope`` to cell magics for convenience.
572 :ghpull:`11542`.
633 :ghpull:`11542`.
573
634
574 .. _whatsnew730:
635 .. _whatsnew730:
575
636
576 IPython 7.3.0
637 IPython 7.3.0
577 =============
638 =============
578
639
579 .. _whatsnew720:
640 .. _whatsnew720:
580
641
581 IPython 7.3.0 bring several bug fixes and small improvements that you will
642 IPython 7.3.0 bring several bug fixes and small improvements that you will
582 described bellow.
643 described bellow.
583
644
584 The biggest change to this release is the implementation of the ``%conda`` and
645 The biggest change to this release is the implementation of the ``%conda`` and
585 ``%pip`` magics, that will attempt to install packages in the **current
646 ``%pip`` magics, that will attempt to install packages in the **current
586 environment**. You may still need to restart your interpreter or kernel for the
647 environment**. You may still need to restart your interpreter or kernel for the
587 change to be taken into account, but it should simplify installation of packages
648 change to be taken into account, but it should simplify installation of packages
588 into remote environment. Installing using pip/conda from the command line is
649 into remote environment. Installing using pip/conda from the command line is
589 still the prefer method.
650 still the prefer method.
590
651
591 The ``%pip`` magic was already present, but was only printing a warning; now it
652 The ``%pip`` magic was already present, but was only printing a warning; now it
592 will actually forward commands to pip.
653 will actually forward commands to pip.
593
654
594 Misc bug fixes and improvements:
655 Misc bug fixes and improvements:
595
656
596 - Compatibility with Python 3.8.
657 - Compatibility with Python 3.8.
597 - Do not expand shell variable in execution magics, and added the
658 - Do not expand shell variable in execution magics, and added the
598 ``no_var_expand`` decorator for magic requiring a similar functionality
659 ``no_var_expand`` decorator for magic requiring a similar functionality
599 :ghpull:`11516`
660 :ghpull:`11516`
600 - Add ``%pip`` and ``%conda`` magic :ghpull:`11524`
661 - Add ``%pip`` and ``%conda`` magic :ghpull:`11524`
601 - Re-initialize posix aliases after a ``%reset`` :ghpull:`11528`
662 - Re-initialize posix aliases after a ``%reset`` :ghpull:`11528`
602 - Allow the IPython command line to run ``*.ipynb`` files :ghpull:`11529`
663 - Allow the IPython command line to run ``*.ipynb`` files :ghpull:`11529`
603
664
604 IPython 7.2.0
665 IPython 7.2.0
605 =============
666 =============
606
667
607 IPython 7.2.0 brings minor bugfixes, improvements, and new configuration options:
668 IPython 7.2.0 brings minor bugfixes, improvements, and new configuration options:
608
669
609 - Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
670 - Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
610 - Run CI on Mac OS ! :ghpull:`11471`
671 - Run CI on Mac OS ! :ghpull:`11471`
611 - Fix IPython "Demo" mode. :ghpull:`11498`
672 - Fix IPython "Demo" mode. :ghpull:`11498`
612 - Fix ``%run`` magic with path in name :ghpull:`11499`
673 - Fix ``%run`` magic with path in name :ghpull:`11499`
613 - Fix: add CWD to sys.path *after* stdlib :ghpull:`11502`
674 - Fix: add CWD to sys.path *after* stdlib :ghpull:`11502`
614 - Better rendering of signatures, especially long ones. :ghpull:`11505`
675 - Better rendering of signatures, especially long ones. :ghpull:`11505`
615 - Re-enable jedi by default if it's installed :ghpull:`11506`
676 - Re-enable jedi by default if it's installed :ghpull:`11506`
616 - Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
677 - Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
617
678
618
679
619 Added ability to show subclasses when using pinfo and other utilities
680 Added ability to show subclasses when using pinfo and other utilities
620 ---------------------------------------------------------------------
681 ---------------------------------------------------------------------
621
682
622 When using ``?``/``??`` on a class, IPython will now list the first 10 subclasses.
683 When using ``?``/``??`` on a class, IPython will now list the first 10 subclasses.
623
684
624 Special Thanks to Chris Mentzel of the Moore Foundation for this feature. Chris
685 Special Thanks to Chris Mentzel of the Moore Foundation for this feature. Chris
625 is one of the people who played a critical role in IPython/Jupyter getting
686 is one of the people who played a critical role in IPython/Jupyter getting
626 funding.
687 funding.
627
688
628 We are grateful for all the help Chris has given us over the years,
689 We are grateful for all the help Chris has given us over the years,
629 and we're now proud to have code contributed by Chris in IPython.
690 and we're now proud to have code contributed by Chris in IPython.
630
691
631 OSMagics.cd_force_quiet configuration option
692 OSMagics.cd_force_quiet configuration option
632 --------------------------------------------
693 --------------------------------------------
633
694
634 You can set this option to force the %cd magic to behave as if ``-q`` was passed:
695 You can set this option to force the %cd magic to behave as if ``-q`` was passed:
635 ::
696 ::
636
697
637 In [1]: cd /
698 In [1]: cd /
638 /
699 /
639
700
640 In [2]: %config OSMagics.cd_force_quiet = True
701 In [2]: %config OSMagics.cd_force_quiet = True
641
702
642 In [3]: cd /tmp
703 In [3]: cd /tmp
643
704
644 In [4]:
705 In [4]:
645
706
646 See :ghpull:`11491`
707 See :ghpull:`11491`
647
708
648 In vi editing mode, whether the prompt includes the current vi mode can now be configured
709 In vi editing mode, whether the prompt includes the current vi mode can now be configured
649 -----------------------------------------------------------------------------------------
710 -----------------------------------------------------------------------------------------
650
711
651 Set the ``TerminalInteractiveShell.prompt_includes_vi_mode`` to a boolean value
712 Set the ``TerminalInteractiveShell.prompt_includes_vi_mode`` to a boolean value
652 (default: True) to control this feature. See :ghpull:`11492`
713 (default: True) to control this feature. See :ghpull:`11492`
653
714
654 .. _whatsnew710:
715 .. _whatsnew710:
655
716
656 IPython 7.1.0
717 IPython 7.1.0
657 =============
718 =============
658
719
659 IPython 7.1.0 is the first minor release after 7.0.0 and mostly brings fixes to
720 IPython 7.1.0 is the first minor release after 7.0.0 and mostly brings fixes to
660 new features, internal refactoring, and fixes for regressions that happened during the 6.x->7.x
721 new features, internal refactoring, and fixes for regressions that happened during the 6.x->7.x
661 transition. It also brings **Compatibility with Python 3.7.1**, as we're
722 transition. It also brings **Compatibility with Python 3.7.1**, as we're
662 unwillingly relying on a bug in CPython.
723 unwillingly relying on a bug in CPython.
663
724
664 New Core Dev:
725 New Core Dev:
665
726
666 - We welcome Jonathan Slenders to the commiters. Jonathan has done a fantastic
727 - We welcome Jonathan Slenders to the commiters. Jonathan has done a fantastic
667 work on prompt_toolkit, and we'd like to recognise his impact by giving him
728 work on prompt_toolkit, and we'd like to recognise his impact by giving him
668 commit rights. :ghissue:`11397`
729 commit rights. :ghissue:`11397`
669
730
670 Notable Changes
731 Notable Changes
671
732
672 - Major update of "latex to unicode" tab completion map (see below)
733 - Major update of "latex to unicode" tab completion map (see below)
673
734
674 Notable New Features:
735 Notable New Features:
675
736
676 - Restore functionality and documentation of the **sphinx directive**, which
737 - Restore functionality and documentation of the **sphinx directive**, which
677 is now stricter (fail on error by daefault), has new configuration options,
738 is now stricter (fail on error by daefault), has new configuration options,
678 has a brand new documentation page :ref:`ipython_directive` (which needs
739 has a brand new documentation page :ref:`ipython_directive` (which needs
679 some cleanup). It is also now *tested* so we hope to have less regressions.
740 some cleanup). It is also now *tested* so we hope to have less regressions.
680 :ghpull:`11402`
741 :ghpull:`11402`
681
742
682 - ``IPython.display.Video`` now supports ``width`` and ``height`` arguments,
743 - ``IPython.display.Video`` now supports ``width`` and ``height`` arguments,
683 allowing a custom width and height to be set instead of using the video's
744 allowing a custom width and height to be set instead of using the video's
684 width and height. :ghpull:`11353`
745 width and height. :ghpull:`11353`
685
746
686 - Warn when using ``HTML('<iframe>')`` instead of ``IFrame`` :ghpull:`11350`
747 - Warn when using ``HTML('<iframe>')`` instead of ``IFrame`` :ghpull:`11350`
687
748
688 - Allow Dynamic switching of editing mode between vi/emacs and show
749 - Allow Dynamic switching of editing mode between vi/emacs and show
689 normal/input mode in prompt when using vi. :ghpull:`11390`. Use ``%config
750 normal/input mode in prompt when using vi. :ghpull:`11390`. Use ``%config
690 TerminalInteractiveShell.editing_mode = 'vi'`` or ``%config
751 TerminalInteractiveShell.editing_mode = 'vi'`` or ``%config
691 TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
752 TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
692 between modes.
753 between modes.
693
754
694
755
695 Notable Fixes:
756 Notable Fixes:
696
757
697 - Fix entering of **multi-line blocks in terminal** IPython, and various
758 - Fix entering of **multi-line blocks in terminal** IPython, and various
698 crashes in the new input transformation machinery :ghpull:`11354`,
759 crashes in the new input transformation machinery :ghpull:`11354`,
699 :ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
760 :ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
700 with Python 3.7.1**.
761 with Python 3.7.1**.
701
762
702 - Fix moving through generator stack in ipdb :ghpull:`11266`
763 - Fix moving through generator stack in ipdb :ghpull:`11266`
703
764
704 - %Magic command arguments now support quoting. :ghpull:`11330`
765 - %Magic command arguments now support quoting. :ghpull:`11330`
705
766
706 - Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
767 - Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
707
768
708 - Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
769 - Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
709
770
710 - Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
771 - Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
711 mode. :ghpull:`11382`
772 mode. :ghpull:`11382`
712
773
713 - Fix mishandling of magics and ``= !`` assignment just after a dedent in
774 - Fix mishandling of magics and ``= !`` assignment just after a dedent in
714 nested code blocks :ghpull:`11418`
775 nested code blocks :ghpull:`11418`
715
776
716 - Fix instructions for custom shortcuts :ghpull:`11426`
777 - Fix instructions for custom shortcuts :ghpull:`11426`
717
778
718
779
719 Notable Internals improvements:
780 Notable Internals improvements:
720
781
721 - Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
782 - Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
722 :ghpull:`11365`
783 :ghpull:`11365`
723
784
724 - use ``perf_counter`` instead of ``clock`` for more precise
785 - use ``perf_counter`` instead of ``clock`` for more precise
725 timing results with ``%time`` :ghpull:`11376`
786 timing results with ``%time`` :ghpull:`11376`
726
787
727 Many thanks to all the contributors and in particular to ``bartskowron`` and
788 Many thanks to all the contributors and in particular to ``bartskowron`` and
728 ``tonyfast`` who handled some pretty complicated bugs in the input machinery. We
789 ``tonyfast`` who handled some pretty complicated bugs in the input machinery. We
729 had a number of first time contributors and maybe hacktoberfest participants that
790 had a number of first time contributors and maybe hacktoberfest participants that
730 made significant contributions and helped us free some time to focus on more
791 made significant contributions and helped us free some time to focus on more
731 complicated bugs.
792 complicated bugs.
732
793
733 You
794 You
734 can see all the closed issues and Merged PR, new features and fixes `here
795 can see all the closed issues and Merged PR, new features and fixes `here
735 <https://github.com/ipython/ipython/issues?utf8=%E2%9C%93&q=+is%3Aclosed+milestone%3A7.1+>`_.
796 <https://github.com/ipython/ipython/issues?utf8=%E2%9C%93&q=+is%3Aclosed+milestone%3A7.1+>`_.
736
797
737 Unicode Completion update
798 Unicode Completion update
738 -------------------------
799 -------------------------
739
800
740 In IPython 7.1 the Unicode completion map has been updated and synchronized with
801 In IPython 7.1 the Unicode completion map has been updated and synchronized with
741 the Julia language.
802 the Julia language.
742
803
743 Added and removed character characters:
804 Added and removed character characters:
744
805
745 ``\jmath`` (``ȷ``), ``\\underleftrightarrow`` (U+034D, combining) have been
806 ``\jmath`` (``ȷ``), ``\\underleftrightarrow`` (U+034D, combining) have been
746 added, while ``\\textasciicaron`` have been removed
807 added, while ``\\textasciicaron`` have been removed
747
808
748 Some sequences have seen their prefix removed:
809 Some sequences have seen their prefix removed:
749
810
750 - 6 characters ``\text...<tab>`` should now be inputed with ``\...<tab>`` directly,
811 - 6 characters ``\text...<tab>`` should now be inputed with ``\...<tab>`` directly,
751 - 45 characters ``\Elz...<tab>`` should now be inputed with ``\...<tab>`` directly,
812 - 45 characters ``\Elz...<tab>`` should now be inputed with ``\...<tab>`` directly,
752 - 65 characters ``\B...<tab>`` should now be inputed with ``\...<tab>`` directly,
813 - 65 characters ``\B...<tab>`` should now be inputed with ``\...<tab>`` directly,
753 - 450 characters ``\m...<tab>`` should now be inputed with ``\...<tab>`` directly,
814 - 450 characters ``\m...<tab>`` should now be inputed with ``\...<tab>`` directly,
754
815
755 Some sequences have seen their prefix shortened:
816 Some sequences have seen their prefix shortened:
756
817
757 - 5 characters ``\mitBbb...<tab>`` should now be inputed with ``\bbi...<tab>`` directly,
818 - 5 characters ``\mitBbb...<tab>`` should now be inputed with ``\bbi...<tab>`` directly,
758 - 52 characters ``\mit...<tab>`` should now be inputed with ``\i...<tab>`` directly,
819 - 52 characters ``\mit...<tab>`` should now be inputed with ``\i...<tab>`` directly,
759 - 216 characters ``\mbfit...<tab>`` should now be inputed with ``\bi...<tab>`` directly,
820 - 216 characters ``\mbfit...<tab>`` should now be inputed with ``\bi...<tab>`` directly,
760 - 222 characters ``\mbf...<tab>`` should now be inputed with ``\b...<tab>`` directly,
821 - 222 characters ``\mbf...<tab>`` should now be inputed with ``\b...<tab>`` directly,
761
822
762 A couple of characters had their sequence simplified:
823 A couple of characters had their sequence simplified:
763
824
764 - ``ð``, type ``\dh<tab>``, instead of ``\eth<tab>``
825 - ``ð``, type ``\dh<tab>``, instead of ``\eth<tab>``
765 - ``ħ``, type ``\hbar<tab>``, instead of ``\Elzxh<tab>``
826 - ``ħ``, type ``\hbar<tab>``, instead of ``\Elzxh<tab>``
766 - ``ɸ``, type ``\ltphi<tab>``, instead of ``\textphi<tab>``
827 - ``ɸ``, type ``\ltphi<tab>``, instead of ``\textphi<tab>``
767 - ``ϴ``, type ``\varTheta<tab>``, instead of ``\textTheta<tab>``
828 - ``ϴ``, type ``\varTheta<tab>``, instead of ``\textTheta<tab>``
768 - ``ℇ``, type ``\eulermascheroni<tab>``, instead of ``\Eulerconst<tab>``
829 - ``ℇ``, type ``\eulermascheroni<tab>``, instead of ``\Eulerconst<tab>``
769 - ``ℎ``, type ``\planck<tab>``, instead of ``\Planckconst<tab>``
830 - ``ℎ``, type ``\planck<tab>``, instead of ``\Planckconst<tab>``
770
831
771 - U+0336 (COMBINING LONG STROKE OVERLAY), type ``\strike<tab>``, instead of ``\Elzbar<tab>``.
832 - U+0336 (COMBINING LONG STROKE OVERLAY), type ``\strike<tab>``, instead of ``\Elzbar<tab>``.
772
833
773 A couple of sequences have been updated:
834 A couple of sequences have been updated:
774
835
775 - ``\varepsilon`` now gives ``ɛ`` (GREEK SMALL LETTER EPSILON) instead of ``ε`` (GREEK LUNATE EPSILON SYMBOL),
836 - ``\varepsilon`` now gives ``ɛ`` (GREEK SMALL LETTER EPSILON) instead of ``ε`` (GREEK LUNATE EPSILON SYMBOL),
776 - ``\underbar`` now gives U+0331 (COMBINING MACRON BELOW) instead of U+0332 (COMBINING LOW LINE).
837 - ``\underbar`` now gives U+0331 (COMBINING MACRON BELOW) instead of U+0332 (COMBINING LOW LINE).
777
838
778
839
779 .. _whatsnew700:
840 .. _whatsnew700:
780
841
781 IPython 7.0.0
842 IPython 7.0.0
782 =============
843 =============
783
844
784 Released Thursday September 27th, 2018
845 Released Thursday September 27th, 2018
785
846
786 IPython 7 includes major feature improvements.
847 IPython 7 includes major feature improvements.
787 This is also the second major version of IPython to support only
848 This is also the second major version of IPython to support only
788 Python 3 – starting at Python 3.4. Python 2 is still community-supported
849 Python 3 – starting at Python 3.4. Python 2 is still community-supported
789 on the bugfix only 5.x branch, but we remind you that Python 2 "end of life"
850 on the bugfix only 5.x branch, but we remind you that Python 2 "end of life"
790 is on Jan 1st 2020.
851 is on Jan 1st 2020.
791
852
792 We were able to backport bug fixes to the 5.x branch thanks to our backport bot which
853 We were able to backport bug fixes to the 5.x branch thanks to our backport bot which
793 backported more than `70 Pull-Requests
854 backported more than `70 Pull-Requests
794 <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>`_
855 <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>`_
795
856
796 The IPython 6.x branch will likely not see any further release unless critical
857 The IPython 6.x branch will likely not see any further release unless critical
797 bugs are found.
858 bugs are found.
798
859
799 Make sure you have pip > 9.0 before upgrading. You should be able to update by running:
860 Make sure you have pip > 9.0 before upgrading. You should be able to update by running:
800
861
801 .. code::
862 .. code::
802
863
803 pip install ipython --upgrade
864 pip install ipython --upgrade
804
865
805 .. only:: ipydev
866 .. only:: ipydev
806
867
807 If you are trying to install or update an ``alpha``, ``beta``, or ``rc``
868 If you are trying to install or update an ``alpha``, ``beta``, or ``rc``
808 version, use pip ``--pre`` flag.
869 version, use pip ``--pre`` flag.
809
870
810 .. code::
871 .. code::
811
872
812 pip install ipython --upgrade --pre
873 pip install ipython --upgrade --pre
813
874
814
875
815 Or, if you have conda installed:
876 Or, if you have conda installed:
816
877
817 .. code::
878 .. code::
818
879
819 conda install ipython
880 conda install ipython
820
881
821
882
822
883
823 Prompt Toolkit 2.0
884 Prompt Toolkit 2.0
824 ------------------
885 ------------------
825
886
826 IPython 7.0+ now uses ``prompt_toolkit 2.0``. If you still need to use an earlier
887 IPython 7.0+ now uses ``prompt_toolkit 2.0``. If you still need to use an earlier
827 ``prompt_toolkit`` version, you may need to pin IPython to ``<7.0``.
888 ``prompt_toolkit`` version, you may need to pin IPython to ``<7.0``.
828
889
829 Autowait: Asynchronous REPL
890 Autowait: Asynchronous REPL
830 ---------------------------
891 ---------------------------
831
892
832 Staring with IPython 7.0 on Python 3.6+, IPython can automatically ``await``
893 Staring with IPython 7.0 on Python 3.6+, IPython can automatically ``await``
833 top level code. You should not need to access an event loop or runner
894 top level code. You should not need to access an event loop or runner
834 yourself. To learn more, read the :ref:`autoawait` section of our docs, see
895 yourself. To learn more, read the :ref:`autoawait` section of our docs, see
835 :ghpull:`11265`, or try the following code::
896 :ghpull:`11265`, or try the following code::
836
897
837 Python 3.6.0
898 Python 3.6.0
838 Type 'copyright', 'credits' or 'license' for more information
899 Type 'copyright', 'credits' or 'license' for more information
839 IPython 7.0.0 -- An enhanced Interactive Python. Type '?' for help.
900 IPython 7.0.0 -- An enhanced Interactive Python. Type '?' for help.
840
901
841 In [1]: import aiohttp
902 In [1]: import aiohttp
842 ...: result = aiohttp.get('https://api.github.com')
903 ...: result = aiohttp.get('https://api.github.com')
843
904
844 In [2]: response = await result
905 In [2]: response = await result
845 <pause for a few 100s ms>
906 <pause for a few 100s ms>
846
907
847 In [3]: await response.json()
908 In [3]: await response.json()
848 Out[3]:
909 Out[3]:
849 {'authorizations_url': 'https://api.github.com/authorizations',
910 {'authorizations_url': 'https://api.github.com/authorizations',
850 'code_search_url': 'https://api.github.com/search/code?q={query}{&page,per_page,sort,order}',
911 'code_search_url': 'https://api.github.com/search/code?q={query}{&page,per_page,sort,order}',
851 ...
912 ...
852 }
913 }
853
914
854 .. note::
915 .. note::
855
916
856 Async integration is experimental code, behavior may change or be removed
917 Async integration is experimental code, behavior may change or be removed
857 between Python and IPython versions without warnings.
918 between Python and IPython versions without warnings.
858
919
859 Integration is by default with `asyncio`, but other libraries can be configured --
920 Integration is by default with `asyncio`, but other libraries can be configured --
860 like ``curio`` or ``trio`` -- to improve concurrency in the REPL::
921 like ``curio`` or ``trio`` -- to improve concurrency in the REPL::
861
922
862 In [1]: %autoawait trio
923 In [1]: %autoawait trio
863
924
864 In [2]: import trio
925 In [2]: import trio
865
926
866 In [3]: async def child(i):
927 In [3]: async def child(i):
867 ...: print(" child %s goes to sleep"%i)
928 ...: print(" child %s goes to sleep"%i)
868 ...: await trio.sleep(2)
929 ...: await trio.sleep(2)
869 ...: print(" child %s wakes up"%i)
930 ...: print(" child %s wakes up"%i)
870
931
871 In [4]: print('parent start')
932 In [4]: print('parent start')
872 ...: async with trio.open_nursery() as n:
933 ...: async with trio.open_nursery() as n:
873 ...: for i in range(3):
934 ...: for i in range(3):
874 ...: n.spawn(child, i)
935 ...: n.spawn(child, i)
875 ...: print('parent end')
936 ...: print('parent end')
876 parent start
937 parent start
877 child 2 goes to sleep
938 child 2 goes to sleep
878 child 0 goes to sleep
939 child 0 goes to sleep
879 child 1 goes to sleep
940 child 1 goes to sleep
880 <about 2 seconds pause>
941 <about 2 seconds pause>
881 child 2 wakes up
942 child 2 wakes up
882 child 1 wakes up
943 child 1 wakes up
883 child 0 wakes up
944 child 0 wakes up
884 parent end
945 parent end
885
946
886 See :ref:`autoawait` for more information.
947 See :ref:`autoawait` for more information.
887
948
888
949
889 Asynchronous code in a Notebook interface or any other frontend using the
950 Asynchronous code in a Notebook interface or any other frontend using the
890 Jupyter Protocol will require further updates to the IPykernel package.
951 Jupyter Protocol will require further updates to the IPykernel package.
891
952
892 Non-Asynchronous code
953 Non-Asynchronous code
893 ~~~~~~~~~~~~~~~~~~~~~
954 ~~~~~~~~~~~~~~~~~~~~~
894
955
895 As the internal API of IPython is now asynchronous, IPython needs to run under
956 As the internal API of IPython is now asynchronous, IPython needs to run under
896 an event loop. In order to allow many workflows, (like using the :magic:`%run`
957 an event loop. In order to allow many workflows, (like using the :magic:`%run`
897 magic, or copy-pasting code that explicitly starts/stop event loop), when
958 magic, or copy-pasting code that explicitly starts/stop event loop), when
898 top-level code is detected as not being asynchronous, IPython code is advanced
959 top-level code is detected as not being asynchronous, IPython code is advanced
899 via a pseudo-synchronous runner, and may not advance pending tasks.
960 via a pseudo-synchronous runner, and may not advance pending tasks.
900
961
901 Change to Nested Embed
962 Change to Nested Embed
902 ~~~~~~~~~~~~~~~~~~~~~~
963 ~~~~~~~~~~~~~~~~~~~~~~
903
964
904 The introduction of the ability to run async code had some effect on the
965 The introduction of the ability to run async code had some effect on the
905 ``IPython.embed()`` API. By default, embed will not allow you to run asynchronous
966 ``IPython.embed()`` API. By default, embed will not allow you to run asynchronous
906 code unless an event loop is specified.
967 code unless an event loop is specified.
907
968
908 Effects on Magics
969 Effects on Magics
909 ~~~~~~~~~~~~~~~~~
970 ~~~~~~~~~~~~~~~~~
910
971
911 Some magics will not work with async until they're updated.
972 Some magics will not work with async until they're updated.
912 Contributions welcome.
973 Contributions welcome.
913
974
914 Expected Future changes
975 Expected Future changes
915 ~~~~~~~~~~~~~~~~~~~~~~~
976 ~~~~~~~~~~~~~~~~~~~~~~~
916
977
917 We expect more internal but public IPython functions to become ``async``, and
978 We expect more internal but public IPython functions to become ``async``, and
918 will likely end up having a persistent event loop while IPython is running.
979 will likely end up having a persistent event loop while IPython is running.
919
980
920 Thanks
981 Thanks
921 ~~~~~~
982 ~~~~~~
922
983
923 This release took more than a year in the making.
984 This release took more than a year in the making.
924 The code was rebased a number of
985 The code was rebased a number of
925 times; leading to commit authorship that may have been lost in the final
986 times; leading to commit authorship that may have been lost in the final
926 Pull-Request. Huge thanks to many people for contribution, discussion, code,
987 Pull-Request. Huge thanks to many people for contribution, discussion, code,
927 documentation, use-cases: dalejung, danielballan, ellisonbg, fperez, gnestor,
988 documentation, use-cases: dalejung, danielballan, ellisonbg, fperez, gnestor,
928 minrk, njsmith, pganssle, tacaswell, takluyver , vidartf ... And many others.
989 minrk, njsmith, pganssle, tacaswell, takluyver , vidartf ... And many others.
929
990
930
991
931 Autoreload Improvement
992 Autoreload Improvement
932 ----------------------
993 ----------------------
933
994
934 The magic :magic:`%autoreload 2 <autoreload>` now captures new methods added to
995 The magic :magic:`%autoreload 2 <autoreload>` now captures new methods added to
935 classes. Earlier, only methods existing as of the initial import were being
996 classes. Earlier, only methods existing as of the initial import were being
936 tracked and updated.
997 tracked and updated.
937
998
938 This new feature helps dual environment development - Jupyter+IDE - where the
999 This new feature helps dual environment development - Jupyter+IDE - where the
939 code gradually moves from notebook cells to package files as it gets
1000 code gradually moves from notebook cells to package files as it gets
940 structured.
1001 structured.
941
1002
942 **Example**: An instance of the class ``MyClass`` will be able to access the
1003 **Example**: An instance of the class ``MyClass`` will be able to access the
943 method ``cube()`` after it is uncommented and the file ``file1.py`` is saved on
1004 method ``cube()`` after it is uncommented and the file ``file1.py`` is saved on
944 disk.
1005 disk.
945
1006
946
1007
947 .. code::
1008 .. code::
948
1009
949 # notebook
1010 # notebook
950
1011
951 from mymodule import MyClass
1012 from mymodule import MyClass
952 first = MyClass(5)
1013 first = MyClass(5)
953
1014
954 .. code::
1015 .. code::
955
1016
956 # mymodule/file1.py
1017 # mymodule/file1.py
957
1018
958 class MyClass:
1019 class MyClass:
959
1020
960 def __init__(self, a=10):
1021 def __init__(self, a=10):
961 self.a = a
1022 self.a = a
962
1023
963 def square(self):
1024 def square(self):
964 print('compute square')
1025 print('compute square')
965 return self.a*self.a
1026 return self.a*self.a
966
1027
967 # def cube(self):
1028 # def cube(self):
968 # print('compute cube')
1029 # print('compute cube')
969 # return self.a*self.a*self.a
1030 # return self.a*self.a*self.a
970
1031
971
1032
972
1033
973
1034
974 Misc
1035 Misc
975 ----
1036 ----
976
1037
977 The autoindent feature that was deprecated in 5.x was re-enabled and
1038 The autoindent feature that was deprecated in 5.x was re-enabled and
978 un-deprecated in :ghpull:`11257`
1039 un-deprecated in :ghpull:`11257`
979
1040
980 Make :magic:`%run -n -i ... <run>` work correctly. Earlier, if :magic:`%run` was
1041 Make :magic:`%run -n -i ... <run>` work correctly. Earlier, if :magic:`%run` was
981 passed both arguments, ``-n`` would be silently ignored. See :ghpull:`10308`
1042 passed both arguments, ``-n`` would be silently ignored. See :ghpull:`10308`
982
1043
983
1044
984 The :cellmagic:`%%script` (as well as :cellmagic:`%%bash`,
1045 The :cellmagic:`%%script` (as well as :cellmagic:`%%bash`,
985 :cellmagic:`%%ruby`... ) cell magics now raise by default if the return code of
1046 :cellmagic:`%%ruby`... ) cell magics now raise by default if the return code of
986 the given code is non-zero (thus halting execution of further cells in a
1047 the given code is non-zero (thus halting execution of further cells in a
987 notebook). The behavior can be disable by passing the ``--no-raise-error`` flag.
1048 notebook). The behavior can be disable by passing the ``--no-raise-error`` flag.
988
1049
989
1050
990 Deprecations
1051 Deprecations
991 ------------
1052 ------------
992
1053
993 A couple of unused functions and methods have been deprecated and will be removed
1054 A couple of unused functions and methods have been deprecated and will be removed
994 in future versions:
1055 in future versions:
995
1056
996 - ``IPython.utils.io.raw_print_err``
1057 - ``IPython.utils.io.raw_print_err``
997 - ``IPython.utils.io.raw_print``
1058 - ``IPython.utils.io.raw_print``
998
1059
999
1060
1000 Backwards incompatible changes
1061 Backwards incompatible changes
1001 ------------------------------
1062 ------------------------------
1002
1063
1003 * The API for transforming input before it is parsed as Python code has been
1064 * The API for transforming input before it is parsed as Python code has been
1004 completely redesigned: any custom input transformations will need to be
1065 completely redesigned: any custom input transformations will need to be
1005 rewritten. See :doc:`/config/inputtransforms` for details of the new API.
1066 rewritten. See :doc:`/config/inputtransforms` for details of the new API.
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