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