aboutsummaryrefslogtreecommitdiff
path: root/Misc/NEWS.d/3.10.0a7.rst
blob: 286d0a8a7e9190b9d892ab30fb384c7fc57c2257 (plain)
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
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
.. bpo: 42988
.. date: 2021-03-24-14-16-56
.. nonce: P2aNco
.. release date: 2021-04-05
.. section: Security

CVE-2021-3426: Remove the ``getfile`` feature of the :mod:`pydoc` module
which could be abused to read arbitrary files on the disk (directory
traversal vulnerability). Moreover, even source code of Python modules can
contain sensitive data like passwords. Vulnerability reported by David
Schwörer.

..

.. bpo: 43285
.. date: 2021-03-13-03-48-14
.. nonce: g-Hah3
.. section: Security

:mod:`ftplib` no longer trusts the IP address value returned from the server
in response to the PASV command by default.  This prevents a malicious FTP
server from using the response to probe IPv4 address and port combinations
on the client network.

Code that requires the former vulnerable behavior may set a
``trust_server_pasv_ipv4_address`` attribute on their :class:`ftplib.FTP`
instances to ``True`` to re-enable it.

..

.. bpo: 43439
.. date: 2021-03-08-23-06-07
.. nonce: 5U3lXm
.. section: Security

Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and
:func:`gc.get_referents`. Patch by Pablo Galindo.

..

.. bpo: 27129
.. date: 2021-04-03-22-04-46
.. nonce: u_ehHb
.. section: Core and Builtins

Update CPython bytecode magic number.

..

.. bpo: 43672
.. date: 2021-03-31-09-12-54
.. nonce: jTT5uG
.. section: Core and Builtins

Raise ImportWarning when calling find_loader().

..

.. bpo: 43660
.. date: 2021-03-29-19-50-34
.. nonce: scTgag
.. section: Core and Builtins

Fix crash that happens when replacing ``sys.stderr`` with a callable that
can remove the object while an exception is being printed. Patch by Pablo
Galindo.

..

.. bpo: 27129
.. date: 2021-03-29-16-20-29
.. nonce: BF03A5
.. section: Core and Builtins

The bytecode interpreter uses instruction, rather byte, offsets internally.
This reduces the number of EXTENDED_ARG instructions needed and streamlines
instruction dispatch a bit.

..

.. bpo: 40645
.. date: 2021-03-29-11-55-06
.. nonce: PhaT-B
.. section: Core and Builtins

Fix reference leak in the :mod:`_hashopenssl` extension. Patch by Pablo
Galindo.

..

.. bpo: 42134
.. date: 2021-03-26-17-30-19
.. nonce: G4Sjxg
.. section: Core and Builtins

Calls to find_module() by the import system now raise ImportWarning.

..

.. bpo: 41064
.. date: 2021-03-24-00-32-20
.. nonce: _H0K_g
.. section: Core and Builtins

Improve the syntax error for invalid usage of double starred elements ('**')
in f-strings. Patch by Pablo Galindo.

..

.. bpo: 43575
.. date: 2021-03-21-12-26-32
.. nonce: pl-nSg
.. section: Core and Builtins

Speed up calls to ``map()`` by using the :pep:`590` ``vectorcall`` calling
convention. Patch by Dong-hee Na.

..

.. bpo: 42137
.. date: 2021-03-20-19-54-47
.. nonce: A8aQvj
.. section: Core and Builtins

The import system now prefers using ``__spec__`` for ``ModuleType.__repr__``
over ``module_repr()``.

..

.. bpo: 43452
.. date: 2021-03-20-01-21-37
.. nonce: tDVJkc
.. section: Core and Builtins

Added micro-optimizations to ``_PyType_Lookup()`` to improve cache lookup
performance in the common case of cache hits.

..

.. bpo: 43555
.. date: 2021-03-19-22-49-40
.. nonce: ZmhYSA
.. section: Core and Builtins

Report the column offset for :exc:`SyntaxError` for invalid line
continuation characters. Patch by Pablo Galindo.

..

.. bpo: 43517
.. date: 2021-03-16-17-12-54
.. nonce: zAo6Ws
.. section: Core and Builtins

Fix misdetection of circular imports when using ``from pkg.mod import
attr``, which caused false positives in non-trivial multi-threaded code.

..

.. bpo: 43497
.. date: 2021-03-15-07-50-30
.. nonce: Uc5ZCJ
.. section: Core and Builtins

Emit SyntaxWarnings for assertions with tuple constants, this is a
regression introduced in python3.7

..

.. bpo: 39316
.. date: 2021-03-14-16-44-50
.. nonce: Ns3a_F
.. section: Core and Builtins

Tracing now has correct line numbers for attribute accesses when the
attribute is on a different line from the object. Improves debugging and
profiling for multi-line method chains.

..

.. bpo: 35883
.. date: 2021-03-13-13-57-21
.. nonce: UyGpdG
.. section: Core and Builtins

Python no longer fails at startup with a fatal error if a command line
argument contains an invalid Unicode character. The
:c:func:`Py_DecodeLocale` function now escapes byte sequences which would be
decoded as Unicode characters outside the [U+0000; U+10ffff] range.

..

.. bpo: 43410
.. date: 2021-03-05-17-23-36
.. nonce: lCzIg0
.. section: Core and Builtins

Fix a bug that was causing the parser to crash when emitting syntax errors
when reading input from stdin. Patch by Pablo Galindo

..

.. bpo: 43406
.. date: 2021-03-04-22-53-10
.. nonce: Na_VpA
.. section: Core and Builtins

Fix a possible race condition where ``PyErr_CheckSignals`` tries to execute
a non-Python signal handler.

..

.. bpo: 42128
.. date: 2021-03-03-19-04-23
.. nonce: VouZjn
.. section: Core and Builtins

Add ``__match_args__`` to :c:type:`structsequence` based classes. Patch by
Pablo Galindo.

..

.. bpo: 43390
.. date: 2021-03-03-17-58-49
.. nonce: epPpwV
.. section: Core and Builtins

CPython now sets the ``SA_ONSTACK`` flag in ``PyOS_setsig`` for the VM's
default signal handlers.  This is friendlier to other in-process code that
an extension module or embedding use could pull in (such as Golang's cgo)
where tiny thread stacks are the norm and ``sigaltstack()`` has been used to
provide for signal handlers.  This is a no-op change for the vast majority
of processes that don't use sigaltstack.

..

.. bpo: 43287
.. date: 2021-02-22-03-01-02
.. nonce: aTs6fO
.. section: Core and Builtins

Speed up calls to ``filter()`` by using the :pep:`590` ``vectorcall``
calling convention. Patch by Dong-hee Na.

..

.. bpo: 37448
.. date: 2021-02-21-14-19-35
.. nonce: btl7vO
.. section: Core and Builtins

Add a radix tree based memory map to track in-use obmalloc arenas. Use to
replace the old implementation of address_in_range(). The radix tree
approach makes it easy to increase pool sizes beyond the OS page size.
Boosting the pool and arena size allows obmalloc to handle a significantly
higher percentage of requests from its ultra-fast paths.

It also has the advantage of eliminating the memory unsanitary behavior of
the previous address_in_range(). The old address_in_range() was marked with
the annotations _Py_NO_SANITIZE_ADDRESS, _Py_NO_SANITIZE_THREAD, and
_Py_NO_SANITIZE_MEMORY. Those annotations are no longer needed.

To disable the radix tree map, set a preprocessor flag as follows:
`-DWITH_PYMALLOC_RADIX_TREE=0`.

Co-authored-by: Tim Peters <tim.peters@gmail.com>

..

.. bpo: 29988
.. date: 2020-02-03-13-23-10
.. nonce: 8_UB5w
.. section: Core and Builtins

Only handle asynchronous exceptions and requests to drop the GIL when
returning from a call or on the back edges of loops. Makes sure that
:meth:`__exit__` is always called in with statements, even for interrupts.

..

.. bpo: 43720
.. date: 2021-04-03-13-45-51
.. nonce: FDZ5cZ
.. section: Library

Document various stdlib deprecations in imp, pkgutil, and importlib.util for
removal in Python 3.12.

..

.. bpo: 43433
.. date: 2021-03-28-23-50-20
.. nonce: so9j5G
.. section: Library

:class:`xmlrpc.client.ServerProxy` no longer ignores query and fragment in
the URL of the server.

..

.. bpo: 31956
.. date: 2021-03-28-16-53-25
.. nonce: Lt_67U
.. section: Library

The :meth:`~array.array.index` method of :class:`array.array` now has
optional *start* and *stop* parameters.

..

.. bpo: 40066
.. date: 2021-03-25-21-26-30
.. nonce: 7EBQ3_
.. section: Library

Enum: adjust ``repr()`` to show only enum and member name (not value, nor
angle brackets) and ``str()`` to show only member name.  Update and improve
documentation to match.

..

.. bpo: 42136
.. date: 2021-03-25-08-44-26
.. nonce: rRY9e1
.. section: Library

Deprecate all module_repr() methods found in importlib as their use is being
phased out by Python 3.12.

..

.. bpo: 35930
.. date: 2021-03-23-17-18-56
.. nonce: RZ51pM
.. section: Library

Raising an exception raised in a "future" instance will create reference
cycles.

..

.. bpo: 41369
.. date: 2021-03-21-17-50-42
.. nonce: -fpmYZ
.. section: Library

Finish updating the vendored libmpdec to version 2.5.1.  Patch by Stefan
Krah.

..

.. bpo: 43422
.. date: 2021-03-21-17-02-52
.. nonce: POk6cU
.. section: Library

Revert the _decimal C API which was added in bpo-41324.

..

.. bpo: 43577
.. date: 2021-03-21-10-13-17
.. nonce: m7JnAV
.. section: Library

Fix deadlock when using :class:`ssl.SSLContext` debug callback with
:meth:`ssl.SSLContext.sni_callback`.

..

.. bpo: 43571
.. date: 2021-03-20-17-40-35
.. nonce: acAL0W
.. section: Library

It's now possible to create MPTCP sockets with IPPROTO_MPTCP

..

.. bpo: 43542
.. date: 2021-03-20-15-43-25
.. nonce: 6bt2F6
.. section: Library

``image/heic`` and ``image/heif`` were added to :mod:`mimetypes`.

..

.. bpo: 40645
.. date: 2021-03-19-10-22-17
.. nonce: 5pXhb-
.. section: Library

The :mod:`hmac` module now uses OpenSSL's HMAC implementation when digestmod
argument is a hash name or builtin hash function.

..

.. bpo: 43510
.. date: 2021-03-16-17-20-33
.. nonce: -BeQH_
.. section: Library

Implement :pep:`597`: Add ``EncodingWarning`` warning, ``-X
warn_default_encoding`` option, :envvar:`PYTHONWARNDEFAULTENCODING`
environment variable and ``encoding="locale"`` argument value.

..

.. bpo: 43521
.. date: 2021-03-16-16-05-02
.. nonce: mRT6fh
.. section: Library

``ast.unparse`` can now render NaNs and empty sets.

..

.. bpo: 42914
.. date: 2021-03-14-21-47-28
.. nonce: 9U1o33
.. section: Library

:func:`pprint.pprint` gains a new boolean ``underscore_numbers`` optional
argument to emit integers with thousands separated by an underscore
character for improved readability (for example ``1_000_000`` instead of
``1000000``).

..

.. bpo: 41361
.. date: 2021-03-13-08-18-01
.. nonce: lXDIlr
.. section: Library

:meth:`~collections.deque.rotate` calls are now slightly faster due to
faster argument parsing.

..

.. bpo: 43423
.. date: 2021-03-11-15-44-18
.. nonce: rRomRD
.. section: Library

:func:`subprocess.communicate` no longer raises an IndexError when there is
an empty stdout or stderr IO buffer during a timeout on Windows.

..

.. bpo: 27820
.. date: 2021-03-10-14-07-44
.. nonce: Wwdy-r
.. section: Library

Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN with
initial_response_ok=False will fail.

The cause is that SMTP.auth_login _always_ returns a password if provided
with a challenge string, thus non-compliant with the standard for AUTH
LOGIN.

Also fixes bug with the test for smtpd.

..

.. bpo: 43445
.. date: 2021-03-09-11-36-19
.. nonce: jnj-UB
.. section: Library

Add frozen modules to :data:`sys.stdlib_module_names`. For example, add
``"_frozen_importlib"`` and ``"_frozen_importlib_external"`` names.

..

.. bpo: 43245
.. date: 2021-03-08-22-14-37
.. nonce: nXL-MC
.. section: Library

Add keyword arguments support to ``ChainMap.new_child()``.

..

.. bpo: 29982
.. date: 2021-03-07-23-23-03
.. nonce: Q9iszT
.. section: Library

Add optional parameter *ignore_cleanup_errors* to
:func:`tempfile.TemporaryDirectory` and allow multiple :func:`cleanup`
attempts. Contributed by C.A.M. Gerlach.

..

.. bpo: 43428
.. date: 2021-03-07-18-54-39
.. nonce: br0XmX
.. section: Library

Include changes from `importlib_metadata 3.7
<https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-7-0>`_:

Performance enhancements to distribution discovery.

``entry_points`` only returns unique distributions.

Introduces new ``EntryPoints`` object for containing a set of entry points
with convenience methods for selecting entry points by group or name.
``entry_points`` now returns this object if selection parameters are
supplied but continues to return a dict object for compatibility. Users are
encouraged to rely on the selection interface. The dict object result is
likely to be deprecated in the future.

Added packages_distributions function to return a mapping of packages to the
distributions that provide them.

..

.. bpo: 43332
.. date: 2021-03-07-11-23-20
.. nonce: weatsh
.. section: Library

Improves the networking efficiency of :mod:`http.client` when using a proxy
via :meth:`~HTTPConnection.set_tunnel`.  Fewer small send calls are made
during connection setup.

..

.. bpo: 43420
.. date: 2021-03-07-08-03-31
.. nonce: cee_X5
.. section: Library

Improve performance of :class:`fractions.Fraction` arithmetics for large
components.  Contributed by Sergey B. Kirpichev.

..

.. bpo: 43356
.. date: 2021-03-04-21-51-20
.. nonce: X7IGBM
.. section: Library

Allow passing a signal number to ``_thread.interrupt_main()``.

..

.. bpo: 43399
.. date: 2021-03-04-17-53-46
.. nonce: Wn95u-
.. section: Library

Fix ``ElementTree.extend`` not working on iterators when using the Python
implementation

..

.. bpo: 43369
.. date: 2021-03-02-15-25-28
.. nonce: F4knlQ
.. section: Library

Improve :mod:`sqlite3` error handling: If ``sqlite3_column_text()`` and
``sqlite3_column_blob()`` set ``SQLITE_NOMEM``, :exc:`MemoryError` is now
raised. Patch by Erlend E. Aasland.

..

.. bpo: 43368
.. date: 2021-03-02-13-45-05
.. nonce: t9XEkQ
.. section: Library

Fix a regression introduced in PR 24562, where an empty bytestring was
fetched as ``None`` instead of ``b''`` in :mod:`sqlite3`. Patch by Mariusz
Felisiak.

..

.. bpo: 41282
.. date: 2021-03-02-09-54-22
.. nonce: xL4h94
.. section: Library

Fixed stacklevel of ``DeprecationWarning`` emitted from ``import
distutils``.

..

.. bpo: 42129
.. date: 2021-02-28-04-21-35
.. nonce: V0KifQ
.. section: Library

``importlib.resources`` now honors namespace packages, merging resources
from each location in the namespace as introduced in ``importlib_resources``
3.2 and including incidental changes through 5.0.3.

..

.. bpo: 43295
.. date: 2021-02-22-22-54-40
.. nonce: h_ffu7
.. section: Library

:meth:`datetime.datetime.strptime` now raises ``ValueError`` instead of
``IndexError`` when matching ``'z'`` with the ``%z`` format specifier.

..

.. bpo: 43125
.. date: 2021-02-07-19-13-30
.. nonce: AqNoMa
.. section: Library

Return empty string if base64mime.body_encode receive empty bytes

..

.. bpo: 43084
.. date: 2021-01-31-17-31-13
.. nonce: i8nLpK
.. section: Library

:func:`curses.window.enclose` returns now ``True`` or ``False`` (as was
documented) instead of ``1`` or ``0``.

..

.. bpo: 42994
.. date: 2021-01-21-16-58-34
.. nonce: El0Ksp
.. section: Library

Add MIME types for opus, AAC, 3gpp and 3gpp2

..

.. bpo: 14678
.. date: 2021-01-07-21-25-49
.. nonce: 1zniCH
.. section: Library

Add an invalidate_caches() method to the zipimport.zipimporter class to
support importlib.invalidate_caches(). Patch by Desmond Cheong.

..

.. bpo: 42782
.. date: 2020-12-29-13-46-57
.. nonce: 3r0HFY
.. section: Library

Fail fast in :func:`shutil.move()` to avoid creating destination directories
on failure.

..

.. bpo: 40066
.. date: 2020-09-23-21-58-34
.. nonce: f1dr_5
.. section: Library

Enum's `repr()` and `str()` have changed: `repr()` is now
*EnumClass.MemberName* and `str()` is *MemberName*.  Additionally, stdlib
Enum's whose contents are available as module attributes, such as
`RegexFlag.IGNORECASE`, have their `repr()` as *module.name*, e.g.
`re.IGNORECASE`.

..

.. bpo: 26053
.. date: 2020-09-01-10-12-13
.. nonce: hXikw_
.. section: Library

Fixed bug where the :mod:`pdb` interactive run command echoed the args from
the shell command line, even if those have been overridden at the pdb
prompt.

..

.. bpo: 24160
.. date: 2020-08-28-23-07-53
.. nonce: MSGnKr
.. section: Library

Fixed bug where breakpoints did not persist across multiple debugger
sessions in :mod:`pdb`'s interactive mode.

..

.. bpo: 40701
.. date: 2020-05-27-05-42-39
.. nonce: PBIgW1
.. section: Library

When the :data:`tempfile.tempdir` global variable is set to a value of type
bytes, it is now handled consistently.  Previously exceptions could be
raised from some tempfile APIs when the directory did not already exist in
this situation.  Also ensures that the :func:`tempfile.gettempdir()` and
:func:`tempfile.gettempdirb()` functions *always* return ``str`` and
``bytes`` respectively.

..

.. bpo: 39342
.. date: 2020-01-15-11-15-35
.. nonce: S8PuJO
.. section: Library

Expose ``X509_V_FLAG_ALLOW_PROXY_CERTS`` as
:data:`~ssl.VERIFY_ALLOW_PROXY_CERTS` to allow proxy certificate validation
as explained in
https://www.openssl.org/docs/man1.1.1/man7/proxy-certificates.html.

..

.. bpo: 31861
.. date: 2018-08-24-01-08-09
.. nonce: -q9RKJ
.. section: Library

Add builtins.aiter and builtins.anext. Patch by Joshua Bronson (@jab),
Daniel Pope (@lordmauve), and Justin Wang (@justin39).

..

.. bpo: 43199
.. date: 2021-03-13-18-43-54
.. nonce: ZWA6KX
.. section: Documentation

Answer "Why is there no goto?" in the Design and History FAQ.

..

.. bpo: 43407
.. date: 2021-03-04-22-53-03
.. nonce: x570l5
.. section: Documentation

Clarified that a result from :func:`time.monotonic`,
:func:`time.perf_counter`, :func:`time.process_time`, or
:func:`time.thread_time` can be compared with the result from any following
call to the same function - not just the next immediate call.

..

.. bpo: 43354
.. date: 2021-03-02-12-55-34
.. nonce: ezZYkx
.. section: Documentation

Fix type documentation for ``Fault.faultCode``; the type has to be ``int``
instead of ``str``.

..

.. bpo: 41933
.. date: 2020-10-05-20-04-43
.. nonce: Pff94-
.. section: Documentation

Clarified wording of s * n in the Common Sequence Operations

..

.. bpo: 37945
.. date: 2021-03-31-11-38-42
.. nonce: HTUYhv
.. section: Tests

Fix test_getsetlocale_issue1813() of test_locale: skip the test if
``setlocale()`` fails. Patch by Victor Stinner.

..

.. bpo: 41561
.. date: 2021-03-18-10-34-42
.. nonce: pDg4w-
.. section: Tests

Add workaround for Ubuntu's custom OpenSSL security level policy.

..

.. bpo: 43179
.. date: 2021-03-31-12-20-23
.. nonce: Qbe1OD
.. section: Build

Introduce and correctly use ALIGNOF_X in place of SIZEOF_X for
alignment-related code in optimized string routines. Patch by Jessica
Clarke.

..

.. bpo: 43631
.. date: 2021-03-26-09-16-34
.. nonce: msJyPi
.. section: Build

Update macOS, Windows, and CI to OpenSSL 1.1.1k.

..

.. bpo: 43617
.. date: 2021-03-24-16-55-55
.. nonce: d69KAv
.. section: Build

Improve configure.ac: Check for presence of autoconf-archive package and
remove our copies of M4 macros.

..

.. bpo: 43466
.. date: 2021-03-11-00-14-47
.. nonce: N861Z5
.. section: Build

The ``configure`` script now supports ``--with-openssl-rpath`` option.

..

.. bpo: 43372
.. date: 2021-03-04-17-13-57
.. nonce: FfqDVL
.. section: Build

Use ``_freeze_importlib`` to generate code for the ``__hello__`` module.
This approach ensures the code matches the interpreter version.  Previously,
PYTHON_FOR_REGEN was used to generate the code, which might be wrong.  The
marshal format for code objects has changed with bpo-42246, commit 877df851.
Update the code and the expected code sizes in ctypes test_frozentable.

..

.. bpo: 43440
.. date: 2021-03-09-11-15-41
.. nonce: igy2Mn
.. section: Windows

Build :mod:`sqlite3` with the ``R*Tree`` module enabled. Patch by Erlend E.
Aasland.

..

.. bpo: 42225
.. date: 2021-03-29-16-22-27
.. nonce: iIeiLg
.. section: IDLE

Document that IDLE can fail on Unix either from misconfigured IP masquerade
rules or failure displaying complex colored (non-ascii) characters.

..

.. bpo: 43688
.. date: 2021-04-01-09-10-42
.. nonce: G4gs6k
.. section: C API

The limited C API is now supported if Python is built in debug mode (if the
``Py_DEBUG`` macro is defined). In the limited C API, the
:c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now implemented as
opaque function calls, rather than accessing directly the
:c:member:`PyObject.ob_refcnt` member, if Python is built in debug mode and
the ``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became
possible to support the limited C API in debug mode because the
:c:type:`PyObject` structure is the same in release and debug mode since
Python 3.8 (see :issue:`36465`).

The limited C API is still not supported in the ``--with-trace-refs``
special build (``Py_TRACE_REFS`` macro).

Patch by Victor Stinner.

..

.. bpo: 43244
.. date: 2021-03-24-01-22-14
.. nonce: 31-97x
.. section: C API

Remove the ``pyarena.h`` header file with functions:

* ``PyArena_New()``
* ``PyArena_Free()``
* ``PyArena_Malloc()``
* ``PyArena_AddPyObject()``

These functions were undocumented, excluded from the limited C API, and were
only used internally by the compiler. Patch by Victor Stinner.

..

.. bpo: 43244
.. date: 2021-03-23-20-53-41
.. nonce: VK3sLH
.. section: C API

Remove the compiler and parser functions using ``struct _mod`` type, because
the public AST C API was removed:

* ``PyAST_Compile()``
* ``PyAST_CompileEx()``
* ``PyAST_CompileObject()``
* ``PyFuture_FromAST()``
* ``PyFuture_FromASTObject()``
* ``PyParser_ASTFromFile()``
* ``PyParser_ASTFromFileObject()``
* ``PyParser_ASTFromFilename()``
* ``PyParser_ASTFromString()``
* ``PyParser_ASTFromStringObject()``

These functions were undocumented and excluded from the limited C API. Patch
by Victor Stinner.

..

.. bpo: 43244
.. date: 2021-03-19-12-56-11
.. nonce: VuIyOD
.. section: C API

Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These
functions were undocumented and excluded from the limited C API. Most names
defined by these header files were not prefixed by ``Py`` and so could
create names conflicts. For example, ``Python-ast.h`` defined a ``Yield``
macro which was conflict with the ``Yield`` name used by the Windows
``<winbase.h>`` header. Use the Python :mod:`ast` module instead. Patch by
Victor Stinner.

..

.. bpo: 43541
.. date: 2021-03-18-12-44-33
.. nonce: ICigzd
.. section: C API

Fix a ``PyEval_EvalCodeEx()`` regression: fix reference counting on
builtins. Patch by Victor Stinner.

..

.. bpo: 43244
.. date: 2021-03-17-23-53-14
.. nonce: kfPqA_
.. section: C API

Remove the ``symtable.h`` header file and the undocumented functions:

* ``PyST_GetScope()``
* ``PySymtable_Build()``
* ``PySymtable_BuildObject()``
* ``PySymtable_Free()``
* ``Py_SymtableString()``
* ``Py_SymtableStringObject()``

The ``Py_SymtableString()`` function was part the stable ABI by mistake but
it could not be used, because the ``symtable.h`` header file was excluded
from the limited C API.

The Python :mod:`symtable` module remains available and is unchanged.

Patch by Victor Stinner.

..

.. bpo: 43244
.. date: 2021-03-17-23-20-07
.. nonce: diyn2C
.. section: C API

Remove the ``PyAST_Validate()`` function. It is no longer possible to build
a AST object (``mod_ty`` type) with the public C API. The function was
already excluded from the limited C API (:pep:`384`). Patch by Victor
Stinner.