1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
|
.. bpo: 42967
.. date: 2021-02-14-15-59-16
.. nonce: YApqDS
.. release date: 2021-03-01
.. section: Security
Fix web cache poisoning vulnerability by defaulting the query args separator
to ``&``, and allowing the user to choose a custom separator.
..
.. bpo: 43321
.. date: 2021-02-26-13-17-52
.. nonce: TCS3ph
.. section: Core and Builtins
Fix ``SystemError`` raised when ``PyArg_Parse*()`` is used with ``#`` but
without ``PY_SSIZE_T_CLEAN`` defined.
..
.. bpo: 36346
.. date: 2021-02-22-19-00-00
.. nonce: uAoni0
.. section: Core and Builtins
``PyArg_Parse*()`` functions now emits ``DeprecationWarning`` when ``u`` or
``Z`` format is used. See :pep:`623` for detail.
..
.. bpo: 43277
.. date: 2021-02-20-16-50-22
.. nonce: FXkRXk
.. section: Core and Builtins
Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an
object is an instance of :class:`set` but not an instance of a subtype.
Patch by Pablo Galindo.
..
.. bpo: 42990
.. date: 2021-02-18-15-12-30
.. nonce: toAqBH
.. section: Core and Builtins
The :data:`types.FunctionType` constructor now inherits the current builtins
if the *globals* dictionary has no ``"__builtins__"`` key, rather than using
``{"None": None}`` as builtins: same behavior as :func:`eval` and
:func:`exec` functions. Defining a function with ``def function(...): ...``
in Python is not affected, globals cannot be overridden with this syntax: it
also inherits the current builtins. Patch by Victor Stinner.
..
.. bpo: 42990
.. date: 2021-02-17-19-02-21
.. nonce: SKXHiI
.. section: Core and Builtins
Functions have a new ``__builtins__`` attribute which is used to look for
builtin symbols when a function is executed, instead of looking into
``__globals__['__builtins__']``. Patch by Mark Shannon and Victor Stinner.
..
.. bpo: 43149
.. date: 2021-02-07-03-27-14
.. nonce: 0umPKD
.. section: Core and Builtins
Improve the error message in the parser for exception groups without
parentheses. Patch by Pablo Galindo.
..
.. bpo: 43121
.. date: 2021-02-03-22-33-05
.. nonce: jqcViq
.. section: Core and Builtins
Fixed an incorrect :exc:`SyntaxError` message for missing comma in literals.
Patch by Pablo Galindo.
..
.. bpo: 42819
.. date: 2021-01-04-23-54-34
.. nonce: 4KO6wU
.. section: Core and Builtins
:mod:`readline`: Explicitly disable bracketed paste in the interactive
interpreter, even if it's set in the inputrc, is enabled by default (eg GNU
Readline 8.1), or a user calls ``readline.read_init_file()``. The Python
REPL has not implemented bracketed paste support. Also, bracketed mode
writes the ``"\x1b[?2004h"`` escape sequence into stdout which causes test
failures in applications that don't support it. It can still be explicitly
enabled by calling ``readline.parse_and_bind("set enable-bracketed-paste
on")``. Patch by Dustin Rodrigues.
..
.. bpo: 42808
.. date: 2021-01-02-05-10-58
.. nonce: AOxgxl
.. section: Core and Builtins
Simple calls to ``type(object)`` are now faster due to the ``vectorcall``
calling convention. Patch by Dennis Sweeney.
..
.. bpo: 42217
.. date: 2020-10-31-16-54-00
.. nonce: GdcHe5
.. section: Core and Builtins
Make the compiler merges same co_code and co_linetable objects in a module
like already did for co_consts.
..
.. bpo: 41972
.. date: 2020-10-23-23-17-23
.. nonce: kbAwg4
.. section: Core and Builtins
Substring search functions such as ``str1 in str2`` and ``str2.find(str1)``
now sometimes use the "Two-Way" string comparison algorithm to avoid
quadratic behavior on long strings.
..
.. bpo: 42128
.. date: 2020-10-23-08-54-04
.. nonce: SWmVEm
.. section: Core and Builtins
Implement :pep:`634` (structural pattern matching). Patch by Brandt Bucher.
..
.. bpo: 40692
.. date: 2020-05-19-22-10-05
.. nonce: ajEhrR
.. section: Core and Builtins
In the :class:`concurrent.futures.ProcessPoolExecutor`, validate that
:func:`multiprocess.synchronize` is available on a given platform and rely
on that check in the :mod:`concurrent.futures` test suite so we can run
tests that are unrelated to :class:`ProcessPoolExecutor` on those platforms.
..
.. bpo: 38302
.. date: 2019-09-28-12-23-23
.. nonce: hsCNgX
.. section: Core and Builtins
If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator
will correctly fall back to :func:`object.__pow__` and
:func:`object.__rpow__` as expected.
..
.. bpo: 43316
.. date: 2021-02-25-09-44-36
.. nonce: k9Gyqn
.. section: Library
The ``python -m gzip`` command line application now properly fails when
detecting an unsupported extension. It exits with a non-zero exit code and
prints an error message to stderr.
..
.. bpo: 43317
.. date: 2021-02-25-09-08-55
.. nonce: qrOOpB
.. section: Library
Set the chunk size for the ``gzip`` module main function to
io.DEFAULT_BUFFER_SIZE. This is slightly faster than the 1024 bytes constant
that was used previously.
..
.. bpo: 43146
.. date: 2021-02-23-17-20-16
.. nonce: JAFplg
.. section: Library
Handle None in single-arg versions of :func:`~traceback.print_exception` and
:func:`~traceback.format_exception`.
..
.. bpo: 43260
.. date: 2021-02-20-12-15-29
.. nonce: 6znAas
.. section: Library
Fix TextIOWrapper can not flush internal buffer forever after very large
text is written.
..
.. bpo: 43258
.. date: 2021-02-18-23-30-52
.. nonce: LeU-q8
.. section: Library
Prevent needless allocation of :mod:`sqlite3` aggregate function context
when no rows match an aggregate query. Patch by Erlend E. Aasland.
..
.. bpo: 43251
.. date: 2021-02-18-14-24-42
.. nonce: n6WZDw
.. section: Library
Improve :mod:`sqlite3` error handling: ``sqlite3_column_name()`` failures
now result in :exc:`MemoryError`. Patch by Erlend E. Aasland.
..
.. bpo: 40956
.. date: 2021-02-10-23-29-50
.. nonce: LcAbwG
.. section: Library
Fix segfault in :meth:`sqlite3.Connection.backup` if no argument was
provided. The regression was introduced by PR 23838. Patch by Erlend E.
Aasland.
..
.. bpo: 43172
.. date: 2021-02-10-06-00-53
.. nonce: ZMCJni
.. section: Library
The readline module now passes its tests when built directly against
libedit. Existing irreconcilable API differences remain in
:func:`readline.get_begidx` and :func:`readline.get_endidx` behavior based
on libreadline vs libedit use.
..
.. bpo: 43163
.. date: 2021-02-08-21-13-51
.. nonce: E2MgzH
.. section: Library
Fix a bug in :mod:`codeop` that was causing it to not ask for more input
when multi-line snippets have unclosed parentheses. Patch by Pablo Galindo
..
.. bpo: 43162
.. date: 2021-02-08-16-27-00
.. nonce: t-W7h3
.. section: Library
deprecate unsupported ability to access enum members as attributes of other
enum members
..
.. bpo: 43146
.. date: 2021-02-06-21-21-35
.. nonce: MHtb2v
.. section: Library
Fix recent regression in None argument handling in :mod:`~traceback` module
functions.
..
.. bpo: 43102
.. date: 2021-02-03-22-55-27
.. nonce: TSlZ6J
.. section: Library
The namedtuple __new__ method had its __builtins__ set to None instead of an
actual dictionary. This created problems for introspection tools.
..
.. bpo: 43106
.. date: 2021-02-03-17-06-38
.. nonce: SwcSuU
.. section: Library
Added :const:`~os.O_EVTONLY`, :const:`~os.O_FSYNC`, :const:`~os.O_SYMLINK` and
:const:`~os.O_NOFOLLOW_ANY` for macOS. Patch by Donghee Na.
..
.. bpo: 42960
.. date: 2021-01-18-21-07-20
.. nonce: a7Dote
.. section: Library
Adds :const:`resource.RLIMIT_KQUEUES` constant from FreeBSD to the
:mod:`resource` module.
..
.. bpo: 42151
.. date: 2020-10-26-18-01-09
.. nonce: et5f7s
.. section: Library
Make the pure Python implementation of :mod:`xml.etree.ElementTree` behave
the same as the C implementation (:mod:`_elementree`) regarding default
attribute values (by not setting ``specified_attributes=1``).
..
.. bpo: 29753
.. date: 2020-05-02-01-01-30
.. nonce: n2M-AF
.. section: Library
In ctypes, now packed bitfields are calculated properly and the first item
of packed bitfields is now shrank correctly.
..
.. bpo: 27646
.. date: 2021-02-20-00-09-13
.. nonce: HRsmo-
.. section: Documentation
Clarify that 'yield from <expr>' works with any iterable, not just
iterators.
..
.. bpo: 36346
.. date: 2020-06-15-10-45-45
.. nonce: H0sS_i
.. section: Documentation
Update some deprecated unicode APIs which are documented as "will be removed
in 4.0" to "3.12". See :pep:`623` for detail.
..
.. bpo: 43288
.. date: 2021-02-21-11-11-53
.. nonce: LfTvL-
.. section: Tests
Fix test_importlib to correctly skip Unicode file tests if the filesystem
does not support them.
..
.. bpo: 43174
.. date: 2021-02-10-14-11-53
.. nonce: F9zwXQ
.. section: Build
Windows build now uses ``/utf-8`` compiler option.
..
.. bpo: 43103
.. date: 2021-02-02-16-26-44
.. nonce: VWeyP_
.. section: Build
Add a new configure ``--without-static-libpython`` option to not build the
``libpythonMAJOR.MINOR.a`` static library and not install the ``python.o``
object file.
..
.. bpo: 13501
.. date: 2021-01-10-22-25-23
.. nonce: g4L-6R
.. section: Build
The configure script can now use *libedit* instead of *readline* with the
command line option ``--with-readline=editline``.
..
.. bpo: 42603
.. date: 2020-12-08-19-25-20
.. nonce: mXs2dB
.. section: Build
Make configure script use pkg-config to detect the location of Tcl/Tk
headers and libraries, used to build tkinter.
On macOS, a Tcl/Tk configuration provided by pkg-config will be preferred
over Tcl/Tk frameworks installed in ``/{System/,}Library/Frameworks``. If
both exist and the latter is preferred, the appropriate ``--with-tcltk-*``
configuration options need to be explicitly set.
..
.. bpo: 39448
.. date: 2020-01-24-12-54-22
.. nonce: k4pv14
.. section: Build
Add the "regen-frozen" makefile target that regenerates the code for the
frozen ``__hello__`` module.
..
.. bpo: 43155
.. date: 2021-02-10-04-16-51
.. nonce: O1tURk
.. section: Windows
:c:func:`PyCMethod_New` is now present in ``python3.lib``.
..
.. bpo: 41837
.. date: 2021-02-28-22-49-46
.. nonce: 9fqyXC
.. section: macOS
Update macOS installer build to use OpenSSL 1.1.1j.
..
.. bpo: 43283
.. date: 2021-02-21-16-30-10
.. nonce: DLBwYn
.. section: IDLE
Document why printing to IDLE's Shell is often slower than printing to a
system terminal and that it can be made faster by pre-formatting a single
string before printing.
..
.. bpo: 43278
.. date: 2021-02-21-15-30-38
.. nonce: DMPaWH
.. section: C API
Always put compiler and system information on the first line of the REPL
welcome message.
..
.. bpo: 43270
.. date: 2021-02-19-14-28-26
.. nonce: UKx4XN
.. section: C API
Remove the private ``_PyErr_OCCURRED()`` macro: use the public
:c:func:`PyErr_Occurred` function instead.
..
.. bpo: 35134
.. date: 2021-02-18-18-46-42
.. nonce: dFpEDT
.. section: C API
Move odictobject.h, parser_interface.h, picklebufobject.h, pydebug.h, and
pyfpe.h into the cpython/ directory. They must not be included directly, as
they are already included by Python.h: :ref:`Include Files <api-includes>`.
..
.. bpo: 35134
.. date: 2021-02-17-18-51-26
.. nonce: YoQdk8
.. section: C API
Move pyarena.h, pyctype.h, and pytime.h into the cpython/ directory. They
must not be included directly, as they are already included by Python.h:
:ref:`Include Files <api-includes>`.
..
.. bpo: 40170
.. date: 2021-02-16-22-29-39
.. nonce: ahHmOo
.. section: C API
:c:func:`PyExceptionClass_Name` is now always declared as a function, in
order to hide implementation details. The macro accessed
:c:member:`PyTypeObject.tp_name` directly. Patch by Erlend E. Aasland.
..
.. bpo: 43239
.. date: 2021-02-16-17-30-16
.. nonce: FQqOGz
.. section: C API
The :c:func:`PyCFunction_New` function is now exported in the ABI when
compiled with ``-fvisibility=hidden``.
..
.. bpo: 40170
.. date: 2021-02-15-15-06-43
.. nonce: ZYeSii
.. section: C API
:c:func:`PyIter_Check` is now always declared as a function, in order to
hide implementation details. The macro accessed
:c:member:`PyTypeObject.tp_iternext` directly. Patch by Erlend E. Aasland.
..
.. bpo: 40170
.. date: 2021-02-15-13-41-14
.. nonce: r2FAtl
.. section: C API
Convert :c:func:`PyDescr_IsData` macro to a function to hide implementation
details: The macro accessed :c:member:`PyTypeObject.tp_descr_set` directly.
Patch by Erlend E. Aasland.
..
.. bpo: 43181
.. date: 2021-02-11-11-37-14
.. nonce: ydv33S
.. section: C API
Convert :c:func:`PyObject_TypeCheck` macro to a static inline function.
Patch by Erlend E. Aasland.
|