1.. bpo: 30730
2.. date: 084
3.. nonce: rJsyTH
4.. original section: Library
5.. release date: 2017-07-23
6.. section: Security
7
8Prevent environment variables injection in subprocess on Windows.  Prevent
9passing other environment variables and command arguments.
10
11..
12
13.. bpo: 30694
14.. date: 083
15.. nonce: WkMWM_
16.. original section: Library
17.. section: Security
18
19Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
20vulnerabilities including: CVE-2017-9233 (External entity infinite loop
21DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
22regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876
23(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use
24os-specific entropy sources like getrandom) doesn't impact Python, since Python
25already gets entropy from the OS to set the expat secret using
26``XML_SetHashSalt()``.
27
28..
29
30.. bpo: 30500
31.. date: 081
32.. nonce: 1VG7R-
33.. original section: Library
34.. section: Security
35
36Fix urllib.parse.splithost() to correctly parse fragments. For example,
37``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the
38``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an
39authentication (``login@host``).
40
41..
42
43.. bpo: 29591
44.. date: 076
45.. nonce: ExKblw
46.. original section: Library
47.. section: Security
48
49Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
50CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
51information.
52
53..
54
55.. bpo: 30876
56.. date: 2017-07-11-06-31-32
57.. nonce: x35jZX
58.. section: Core and Builtins
59
60Relative import from unloaded package now reimports the package instead of
61failing with SystemError.  Relative import from non-package now fails with
62ImportError rather than SystemError.
63
64..
65
66.. bpo: 30765
67.. date: 2017-06-26-14-29-50
68.. nonce: Q5iBmf
69.. section: Core and Builtins
70
71Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked
72not to block.
73
74..
75
76.. bpo: 27945
77.. date: 100
78.. nonce: p29r3O
79.. section: Core and Builtins
80
81Fixed various segfaults with dict when input collections are mutated during
82searching, inserting or comparing.  Based on patches by Duane Griffin and
83Tim Mitchell.
84
85..
86
87.. bpo: 25794
88.. date: 099
89.. nonce: xfPwqm
90.. section: Core and Builtins
91
92Fixed type.__setattr__() and type.__delattr__() for non-interned attribute
93names.  Based on patch by Eryk Sun.
94
95..
96
97.. bpo: 29935
98.. date: 098
99.. nonce: vgjdJo
100.. section: Core and Builtins
101
102Fixed error messages in the index() method of tuple, list and deque when
103pass indices of wrong type.
104
105..
106
107.. bpo: 28876
108.. date: 097
109.. nonce: cU-sGT
110.. section: Core and Builtins
111
112``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`.
113
114..
115
116.. bpo: 29600
117.. date: 096
118.. nonce: 77wQ6C
119.. section: Core and Builtins
120
121Fix wrapping coroutine return values in StopIteration.
122
123..
124
125.. bpo: 29537
126.. date: 095
127.. nonce: lu1ysY
128.. section: Core and Builtins
129
130Restore runtime compatibility with bytecode files generated by CPython 3.5.0
131to 3.5.2, and adjust the eval loop to avoid the problems that could be
132caused by the malformed variant of the BUILD_MAP_UNPACK_WITH_CALL opcode
133that they may contain. Patch by Petr Viktorin, Serhiy Storchaka, and Nick
134Coghlan.
135
136..
137
138.. bpo: 28598
139.. date: 094
140.. nonce: QxbzQn
141.. section: Core and Builtins
142
143Support __rmod__ for subclasses of str being called before str.__mod__.
144Patch by Martijn Pieters.
145
146..
147
148.. bpo: 29602
149.. date: 093
150.. nonce: qyyskC
151.. section: Core and Builtins
152
153Fix incorrect handling of signed zeros in complex constructor for complex
154subclasses and for inputs having a __complex__ method. Patch by Serhiy
155Storchaka.
156
157..
158
159.. bpo: 29347
160.. date: 092
161.. nonce: 1RPPGN
162.. section: Core and Builtins
163
164Fixed possibly dereferencing undefined pointers when creating weakref
165objects.
166
167..
168
169.. bpo: 29438
170.. date: 091
171.. nonce: IKxD6I
172.. section: Core and Builtins
173
174Fixed use-after-free problem in key sharing dict.
175
176..
177
178.. bpo: 29319
179.. date: 090
180.. nonce: KLDUZf
181.. section: Core and Builtins
182
183Prevent RunMainFromImporter overwriting sys.path[0].
184
185..
186
187.. bpo: 29337
188.. date: 089
189.. nonce: bjX8AE
190.. section: Core and Builtins
191
192Fixed possible BytesWarning when compare the code objects. Warnings could be
193emitted at compile time.
194
195..
196
197.. bpo: 29478
198.. date: 088
199.. nonce: rTQ-qy
200.. section: Core and Builtins
201
202If max_line_length=None is specified while using the Compat32 policy, it is
203no longer ignored.  Patch by Mircea Cosbuc.
204
205..
206
207.. bpo: 29403
208.. date: 2017-07-20-02-29-49
209.. nonce: 3RinCV
210.. section: Library
211
212Fix ``unittest.mock``'s autospec to not fail on method-bound builtin
213functions.  Patch by Aaron Gallagher.
214
215..
216
217.. bpo: 30961
218.. date: 2017-07-18-23-47-51
219.. nonce: 064jz0
220.. section: Library
221
222Fix decrementing a borrowed reference in tracemalloc.
223
224..
225
226.. bpo: 30886
227.. date: 2017-07-10-12-14-22
228.. nonce: nqQj34
229.. section: Library
230
231Fix multiprocessing.Queue.join_thread(): it now waits until the thread
232completes, even if the thread was started by the same process which created
233the queue.
234
235..
236
237.. bpo: 29854
238.. date: 2017-07-07-02-18-57
239.. nonce: J8wKb_
240.. section: Library
241
242Fix segfault in readline when using readline's history-size option.  Patch
243by Nir Soffer.
244
245..
246
247.. bpo: 30807
248.. date: 2017-06-29-22-04-44
249.. nonce: sLtjY-
250.. section: Library
251
252signal.setitimer() may disable the timer when passed a tiny value.
253
254Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which
255is specified as taking microsecond-resolution intervals. However, on some
256platform, our conversion routine could convert 1e-6 into a zero interval,
257therefore disabling the timer instead of (re-)scheduling it.
258
259..
260
261.. bpo: 30441
262.. date: 2017-06-29-14-25-14
263.. nonce: 3Wh9kc
264.. section: Library
265
266Fix bug when modifying os.environ while iterating over it
267
268..
269
270.. bpo: 30532
271.. date: 2017-06-26-11-01-59
272.. nonce: qTeL1o
273.. section: Library
274
275Fix email header value parser dropping folding white space in certain cases.
276
277..
278
279.. bpo: 29169
280.. date: 087
281.. nonce: 8ypApm
282.. section: Library
283
284Update zlib to 1.2.11.
285
286..
287
288.. bpo: 30879
289.. date: 086
290.. nonce: N3KI-o
291.. section: Library
292
293os.listdir() and os.scandir() now emit bytes names when called with
294bytes-like argument.
295
296..
297
298.. bpo: 30746
299.. date: 085
300.. nonce: 7drQI0
301.. section: Library
302
303Prohibited the '=' character in environment variable names in
304``os.putenv()`` and ``os.spawn*()``.
305
306..
307
308.. bpo: 29755
309.. date: 082
310.. nonce: diQcY_
311.. section: Library
312
313Fixed the lgettext() family of functions in the gettext module. They now
314always return bytes.
315
316..
317
318.. bpo: 30645
319.. date: 080
320.. nonce: oYzbbW
321.. section: Library
322
323Fix path calculation in imp.load_package(), fixing it for cases when a
324package is only shipped with bytecodes. Patch by Alexandru Ardelean.
325
326..
327
328.. bpo: 23890
329.. date: 079
330.. nonce: GCFAAZ
331.. section: Library
332
333unittest.TestCase.assertRaises() now manually breaks a reference cycle to
334not keep objects alive longer than expected.
335
336..
337
338.. bpo: 30149
339.. date: 078
340.. nonce: hE649r
341.. section: Library
342
343inspect.signature() now supports callables with variable-argument parameters
344wrapped with partialmethod. Patch by Dong-hee Na.
345
346..
347
348.. bpo: 29931
349.. date: 077
350.. nonce: tfcTwK
351.. section: Library
352
353Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay
354Sundaresan.
355
356..
357
358.. bpo: 24484
359.. date: 075
360.. nonce: vFem8K
361.. section: Library
362
363Avoid race condition in multiprocessing cleanup.
364
365..
366
367.. bpo: 28994
368.. date: 074
369.. nonce: 9vzun1
370.. section: Library
371
372The traceback no longer displayed for SystemExit raised in a callback
373registered by atexit.
374
375..
376
377.. bpo: 30508
378.. date: 073
379.. nonce: wNWRS2
380.. section: Library
381
382Don't log exceptions if Task/Future "cancel()" method was called.
383
384..
385
386.. bpo: 28556
387.. date: 072
388.. nonce: mESP7G
389.. section: Library
390
391Updates to typing module: Add generic AsyncContextManager, add support for
392ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan
393Levkivskyi
394
395..
396
397.. bpo: 29870
398.. date: 071
399.. nonce: p960Ih
400.. section: Library
401
402Fix ssl sockets leaks when connection is aborted in asyncio/ssl
403implementation. Patch by Michaël Sghaïer.
404
405..
406
407.. bpo: 29743
408.. date: 070
409.. nonce: en2P4s
410.. section: Library
411
412Closing transport during handshake process leaks open socket. Patch by
413Nikolay Kim
414
415..
416
417.. bpo: 27585
418.. date: 069
419.. nonce: 0Ugqqu
420.. section: Library
421
422Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay.
423
424..
425
426.. bpo: 30418
427.. date: 068
428.. nonce: EwISQm
429.. section: Library
430
431On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
432stdin.write() if the child process is still running but closed the pipe.
433
434..
435
436.. bpo: 30378
437.. date: 067
438.. nonce: R_19_5
439.. section: Library
440
441Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
442addresses.
443
444..
445
446.. bpo: 29960
447.. date: 066
448.. nonce: g0wr3r
449.. section: Library
450
451Preserve generator state when _random.Random.setstate() raises an exception.
452Patch by Bryan Olson.
453
454..
455
456.. bpo: 30414
457.. date: 065
458.. nonce: jGl1Lb
459.. section: Library
460
461multiprocessing.Queue._feed background running thread do not break from main
462loop on exception.
463
464..
465
466.. bpo: 30003
467.. date: 064
468.. nonce: BOl9HE
469.. section: Library
470
471Fix handling escape characters in HZ codec.  Based on patch by Ma Lin.
472
473..
474
475.. bpo: 30301
476.. date: 063
477.. nonce: ywOkjN
478.. section: Library
479
480Fix AttributeError when using SimpleQueue.empty() under *spawn* and
481*forkserver* start methods.
482
483..
484
485.. bpo: 30329
486.. date: 062
487.. nonce: EuT36N
488.. section: Library
489
490imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022)
491on shutdown(SHUT_RDWR): An invalid operation was attempted. This error
492occurs sometimes on SSL connections.
493
494..
495
496.. bpo: 30375
497.. date: 061
498.. nonce: 9c8qM7
499.. section: Library
500
501Warnings emitted when compile a regular expression now always point to the
502line in the user code.  Previously they could point into inners of the re
503module if emitted from inside of groups or conditionals.
504
505..
506
507.. bpo: 30048
508.. date: 060
509.. nonce: ELRx8R
510.. section: Library
511
512Fixed ``Task.cancel()`` can be ignored when the task is running coroutine
513and the coroutine returned without any more ``await``.
514
515..
516
517.. bpo: 29990
518.. date: 059
519.. nonce: HWV6KE
520.. section: Library
521
522Fix range checking in GB18030 decoder.  Original patch by Ma Lin.
523
524..
525
526.. bpo: 26293
527.. date: 058
528.. nonce: wig0YG
529.. section: Library
530
531Change resulted because of zipfile breakage. (See also: bpo-29094)
532
533..
534
535.. bpo: 30243
536.. date: 057
537.. nonce: RHQt0v
538.. section: Library
539
540Removed the __init__ methods of _json's scanner and encoder. Misusing them
541could cause memory leaks or crashes.  Now scanner and encoder objects are
542completely initialized in the __new__ methods.
543
544..
545
546.. bpo: 30185
547.. date: 056
548.. nonce: Tiu1n8
549.. section: Library
550
551Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C
552is received.
553
554..
555
556.. bpo: 28556
557.. date: 055
558.. nonce: 51gjbP
559.. section: Library
560
561Various updates to typing module: add typing.NoReturn type, use
562WrapperDescriptorType, minor bug-fixes.  Original PRs by Jim
563Fasarakis-Hilliard and Ivan Levkivskyi.
564
565..
566
567.. bpo: 30205
568.. date: 054
569.. nonce: BsxO34
570.. section: Library
571
572Fix getsockname() for unbound AF_UNIX sockets on Linux.
573
574..
575
576.. bpo: 30070
577.. date: 053
578.. nonce: XM_B41
579.. section: Library
580
581Fixed leaks and crashes in errors handling in the parser module.
582
583..
584
585.. bpo: 30061
586.. date: 052
587.. nonce: 2w_dX9
588.. section: Library
589
590Fixed crashes in IOBase methods __next__() and readlines() when readline()
591or __next__() respectively return non-sizeable object. Fixed possible other
592errors caused by not checking results of PyObject_Size(), PySequence_Size(),
593or PyMapping_Size().
594
595..
596
597.. bpo: 30068
598.. date: 051
599.. nonce: n4q47r
600.. section: Library
601
602_io._IOBase.readlines will check if it's closed first when hint is present.
603
604..
605
606.. bpo: 29694
607.. date: 050
608.. nonce: LWKxb1
609.. section: Library
610
611Fixed race condition in pathlib mkdir with flags parents=True.  Patch by
612Armin Rigo.
613
614..
615
616.. bpo: 29692
617.. date: 049
618.. nonce: oyWrAE
619.. section: Library
620
621Fixed arbitrary unchaining of RuntimeError exceptions in
622contextlib.contextmanager.  Patch by Siddharth Velankar.
623
624..
625
626.. bpo: 29998
627.. date: 048
628.. nonce: poeIKD
629.. section: Library
630
631Pickling and copying ImportError now preserves name and path attributes.
632
633..
634
635.. bpo: 29942
636.. date: 047
637.. nonce: CsGNuT
638.. section: Library
639
640Fix a crash in itertools.chain.from_iterable when encountering long runs of
641empty iterables.
642
643..
644
645.. bpo: 27863
646.. date: 046
647.. nonce: pPYHHI
648.. section: Library
649
650Fixed multiple crashes in ElementTree caused by race conditions and wrong
651types.
652
653..
654
655.. bpo: 28699
656.. date: 045
657.. nonce: wZztZP
658.. section: Library
659
660Fixed a bug in pools in multiprocessing.pool that raising an exception at
661the very first of an iterable may swallow the exception or make the program
662hang. Patch by Davin Potts and Xiang Zhang.
663
664..
665
666.. bpo: 25803
667.. date: 044
668.. nonce: CPDR0W
669.. section: Library
670
671Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives
672priority to errors such as EACCES over EEXIST.
673
674..
675
676.. bpo: 29861
677.. date: 043
678.. nonce: t2ZoRK
679.. section: Library
680
681Release references to tasks, their arguments and their results as soon as
682they are finished in multiprocessing.Pool.
683
684..
685
686.. bpo: 29884
687.. date: 042
688.. nonce: kWXR8W
689.. section: Library
690
691faulthandler: Restore the old sigaltstack during teardown. Patch by
692Christophe Zeitouny.
693
694..
695
696.. bpo: 25455
697.. date: 041
698.. nonce: ZsahHN
699.. section: Library
700
701Fixed crashes in repr of recursive buffered file-like objects.
702
703..
704
705.. bpo: 29800
706.. date: 040
707.. nonce: d2xASa
708.. section: Library
709
710Fix crashes in partial.__repr__ if the keys of partial.keywords are not
711strings.  Patch by Michael Seifert.
712
713..
714
715.. bpo: 29742
716.. date: 039
717.. nonce: 8hqfEO
718.. section: Library
719
720get_extra_info() raises exception if get called on closed ssl transport.
721Patch by Nikolay Kim.
722
723..
724
725.. bpo: 8256
726.. date: 038
727.. nonce: jAwGQH
728.. section: Library
729
730Fixed possible failing or crashing input() if attributes "encoding" or
731"errors" of sys.stdin or sys.stdout are not set or are not strings.
732
733..
734
735.. bpo: 28298
736.. date: 037
737.. nonce: xfm84U
738.. section: Library
739
740Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables
741(objects that have __int__) as elements.  Patch by Oren Milman.
742
743..
744
745.. bpo: 29615
746.. date: 036
747.. nonce: OpFKzg
748.. section: Library
749
750SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to
751exception(s) raised in the dispatched methods. Patch by Petr Motejlek.
752
753..
754
755.. bpo: 29704
756.. date: 035
757.. nonce: WHbx27
758.. section: Library
759
760asyncio.subprocess.SubprocessStreamProtocol no longer closes before all
761pipes are closed.
762
763..
764
765.. bpo: 29703
766.. date: 034
767.. nonce: ZdsPCR
768.. section: Library
769
770Fix asyncio to support instantiation of new event loops in child processes.
771
772..
773
774.. bpo: 29376
775.. date: 033
776.. nonce: rrJhJy
777.. section: Library
778
779Fix assertion error in threading._DummyThread.is_alive().
780
781..
782
783.. bpo: 29110
784.. date: 032
785.. nonce: wmE-_T
786.. section: Library
787
788Fix file object leak in aifc.open() when file is given as a filesystem path
789and is not in valid AIFF format. Patch by Anthony Zhang.
790
791..
792
793.. bpo: 28961
794.. date: 031
795.. nonce: Rt93vg
796.. section: Library
797
798Fix unittest.mock._Call helper: don't ignore the name parameter anymore.
799Patch written by Jiajun Huang.
800
801..
802
803.. bpo: 29532
804.. date: 030
805.. nonce: YCwVQn
806.. section: Library
807
808Altering a kwarg dictionary passed to functools.partial() no longer affects
809a partial object after creation.
810
811..
812
813.. bpo: 28556
814.. date: 029
815.. nonce: p6967e
816.. section: Library
817
818Various updates to typing module: typing.Counter, typing.ChainMap, improved
819ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel
820Krebber, and Łukasz Langa.
821
822..
823
824.. bpo: 29100
825.. date: 028
826.. nonce: LAAERS
827.. section: Library
828
829Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check
830minimum and maximum years.
831
832..
833
834.. bpo: 29519
835.. date: 027
836.. nonce: oGGgZ4
837.. section: Library
838
839Fix weakref spewing exceptions during interpreter shutdown when used with a
840rare combination of multiprocessing and custom codecs.
841
842..
843
844.. bpo: 29416
845.. date: 026
846.. nonce: KJGyI_
847.. section: Library
848
849Prevent infinite loop in pathlib.Path.mkdir
850
851..
852
853.. bpo: 29444
854.. date: 025
855.. nonce: cEwgmk
856.. section: Library
857
858Fixed out-of-bounds buffer access in the group() method of the match object.
859Based on patch by WGH.
860
861..
862
863.. bpo: 29335
864.. date: 024
865.. nonce: _KC7IK
866.. section: Library
867
868Fix subprocess.Popen.wait() when the child process has exited to a stopped
869instead of terminated state (ex: when under ptrace).
870
871..
872
873.. bpo: 29290
874.. date: 023
875.. nonce: XBqptF
876.. section: Library
877
878Fix a regression in argparse that help messages would wrap at non-breaking
879spaces.
880
881..
882
883.. bpo: 28735
884.. date: 022
885.. nonce: admHLO
886.. section: Library
887
888Fixed the comparison of mock.MagickMock with mock.ANY.
889
890..
891
892.. bpo: 29011
893.. date: 021
894.. nonce: MI5f2R
895.. section: Library
896
897Fix an important omission by adding Deque to the typing module.
898
899..
900
901.. bpo: 29219
902.. date: 020
903.. nonce: kxui7t
904.. section: Library
905
906Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.
907
908..
909
910.. bpo: 28969
911.. date: 019
912.. nonce: j3HJYO
913.. section: Library
914
915Fixed race condition in C implementation of functools.lru_cache. KeyError
916could be raised when cached function with full cache was simultaneously
917called from differen threads with the same uncached arguments.
918
919..
920
921.. bpo: 29142
922.. date: 018
923.. nonce: xo6kAv
924.. section: Library
925
926In urllib.request, suffixes in no_proxy environment variable with leading
927dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by
928Milan Oberkirch.
929
930..
931
932.. bpo: 30176
933.. date: 013
934.. nonce: VivmCg
935.. section: Documentation
936
937Add missing attribute related constants in curses documentation.
938
939..
940
941.. bpo: 26985
942.. date: 012
943.. nonce: NB5_9S
944.. section: Documentation
945
946Add missing info of code object in inspect documentation.
947
948..
949
950.. bpo: 28929
951.. date: 011
952.. nonce: Md7kb0
953.. section: Documentation
954
955Link the documentation to its source file on GitHub.
956
957..
958
959.. bpo: 25008
960.. date: 010
961.. nonce: CeIzyU
962.. section: Documentation
963
964Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a
965third-party asyncio-based replacement.
966
967..
968
969.. bpo: 26355
970.. date: 009
971.. nonce: SDq_8Y
972.. section: Documentation
973
974Add canonical header link on each page to corresponding major version of the
975documentation. Patch by Matthias Bussonnier.
976
977..
978
979.. bpo: 29349
980.. date: 008
981.. nonce: PjSo-t
982.. section: Documentation
983
984Fix Python 2 syntax in code for building the documentation.
985
986..
987
988.. bpo: 30822
989.. date: 2017-07-20-14-29-54
990.. nonce: X0wREo
991.. section: Tests
992
993Fix regrtest command line parser to allow passing -u extralargefile to run
994test_zipfile64.
995
996..
997
998.. bpo: 30383
999.. date: 2017-06-27-13-52-43
1000.. nonce: rCmrv7
1001.. section: Tests
1002
1003regrtest: Enhance regrtest and backport features from the master branch.
1004
1005Add options: --coverage, --testdir, --list-tests (list test files, don't run
1006them), --list-cases (list test identifiers, don't run them, :issue:`30523`),
1007--matchfile (load a list of test filters from a text file, :issue:`30540`),
1008--slowest (alias to --slow).
1009
1010Enhance output: add timestamp, test result, currently running tests, "Tests
1011result: xxx" summary with total duration, etc.
1012
1013Fix reference leak hunting in regrtest, --huntrleaks: regrtest now warms up
1014caches, create explicitly all internal singletons which are created on
1015demand to prevent false positives when checking for reference leaks.
1016(:issue:`30675`).
1017
1018..
1019
1020.. bpo: 30357
1021.. date: 004
1022.. nonce: n4CPEa
1023.. section: Tests
1024
1025test_thread: setUp() now uses support.threading_setup() and
1026support.threading_cleanup() to wait until threads complete to avoid random
1027side effects on following tests. Initial patch written by Grzegorz Grzywacz.
1028
1029..
1030
1031.. bpo: 28087
1032.. date: 003
1033.. nonce: m8dc4R
1034.. section: Tests
1035
1036Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of
1037select.poll when running on macOS due to unresolved issues with the
1038underlying system poll function on some macOS versions.
1039
1040..
1041
1042.. bpo: 30197
1043.. date: 002
1044.. nonce: c5wRfu
1045.. section: Tests
1046
1047Enhanced functions swap_attr() and swap_item() in the test.support module.
1048They now work when delete replaced attribute or item inside the with
1049statement.  The old value of the attribute or item (or None if it doesn't
1050exist) now will be assigned to the target of the "as" clause, if there is
1051one.
1052
1053..
1054
1055.. bpo: 29571
1056.. date: 001
1057.. nonce: r6Dixr
1058.. section: Tests
1059
1060to match the behaviour of the ``re.LOCALE`` flag, test_re.test_locale_flag
1061now uses ``locale.getpreferredencoding(False)`` to determine the candidate
1062encoding for the test regex (allowing it to correctly skip the test when the
1063default locale encoding is a multi-byte encoding)
1064
1065..
1066
1067.. bpo: 29243
1068.. date: 007
1069.. nonce: WDK4hT
1070.. section: Build
1071
1072Prevent unnecessary rebuilding of Python during ``make test``, ``make
1073install`` and some other make targets when configured with
1074``--enable-optimizations``.
1075
1076..
1077
1078.. bpo: 23404
1079.. date: 006
1080.. nonce: PdYVWg
1081.. section: Build
1082
1083Don't regenerate generated files based on file modification time anymore:
1084the action is now explicit. Replace ``make touch`` with ``make regen-all``.
1085
1086..
1087
1088.. bpo: 29643
1089.. date: 005
1090.. nonce: 4WLIJQ
1091.. section: Build
1092
1093Fix ``--enable-optimization`` didn't work.
1094
1095..
1096
1097.. bpo: 30687
1098.. date: 017
1099.. nonce: 8mqHnu
1100.. section: Windows
1101
1102Locate msbuild.exe on Windows when building rather than vcvarsall.bat
1103
1104..
1105
1106.. bpo: 29392
1107.. date: 016
1108.. nonce: OtqS5t
1109.. section: Windows
1110
1111Prevent crash when passing invalid arguments into msvcrt module.
1112
1113..
1114
1115.. bpo: 27867
1116.. date: 015
1117.. nonce: VMCoJU
1118.. section: C API
1119
1120Function PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API
1121is set to the value between 0x03050400 and 0x03060000 (not including) or
11220x03060100 or higher.
1123
1124..
1125
1126.. bpo: 29083
1127.. date: 014
1128.. nonce: tGTjr_
1129.. section: C API
1130
1131Fixed the declaration of some public API functions. PyArg_VaParse() and
1132PyArg_VaParseTupleAndKeywords() were not available in limited API.
1133PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue()
1134were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is
1135defined.
1136