blob: 76bb4970ff851a443586bb15a7150a0ca511e279 [file] [log] [blame]
Ɓukasz Langac1004b82019-05-06 20:30:25 +02001.. bpo: 36742
2.. date: 2019-04-29-15-34-59
3.. nonce: QCUY0i
4.. release date: 2019-05-06
5.. section: Security
6
7Fixes mishandling of pre-normalization characters in urlsplit().
8
9..
10
11.. bpo: 30458
12.. date: 2019-04-10-08-53-30
13.. nonce: 51E-DA
14.. section: Security
15
16Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or
17control characters through into the underlying http client request. Such
18potentially malicious header injection URLs now cause an
19http.client.InvalidURL exception to be raised.
20
21..
22
23.. bpo: 35755
24.. date: 2019-01-17-10-03-48
25.. nonce: GmllIs
26.. section: Security
27
28:func:`shutil.which` now uses ``os.confstr("CS_PATH")`` if available and if
29the :envvar:`PATH` environment variable is not set. Remove also the current
30directory from :data:`posixpath.defpath`. On Unix, :func:`shutil.which` and
31the :mod:`subprocess` module no longer search the executable in the current
32directory if the :envvar:`PATH` environment variable is not set.
33
34..
35
36.. bpo: 36751
37.. date: 2019-04-29-23-30-21
38.. nonce: 3NCRbm
39.. section: Core and Builtins
40
41The :func:`~inspect.getfullargspec` function in the :mod:`inspect` module is
42deprecated in favor of the :func:`inspect.signature` API. Contributed by
43Pablo Galindo.
44
45..
46
47.. bpo: 36722
48.. date: 2019-04-25-21-02-40
49.. nonce: 8NApVM
50.. section: Core and Builtins
51
52In debug build, import now also looks for C extensions compiled in release
53mode and for C extensions compiled in the stable ABI.
54
55..
56
57.. bpo: 32849
58.. date: 2019-04-16-11-56-12
59.. nonce: aeSg-D
60.. section: Core and Builtins
61
62Fix Python Initialization code on FreeBSD to detect properly when stdin file
63descriptor (fd 0) is invalid.
64
65..
66
67.. bpo: 36623
68.. date: 2019-04-13-02-08-44
69.. nonce: HR_xhB
70.. section: Core and Builtins
71
72Remove parser headers and related function declarations that lack
73implementations after the removal of pgen.
74
75..
76
77.. bpo: 20180
78.. date: 2019-04-12-15-49-15
79.. nonce: KUqVk7
80.. section: Core and Builtins
81
82``dict.pop()`` is now up to 33% faster thanks to Argument Clinic. Patch by
83Inada Naoki.
84
85..
86
87.. bpo: 36611
88.. date: 2019-04-12-12-32-39
89.. nonce: zbo9WQ
90.. section: Core and Builtins
91
92Debug memory allocators: disable serialno field by default from debug hooks
93on Python memory allocators to reduce the memory footprint by 5%. Enable
94:mod:`tracemalloc` to get the traceback where a memory block has been
95allocated when a fatal memory error is logged to decide where to put a
96breakpoint. Compile Python with ``PYMEM_DEBUG_SERIALNO`` defined to get back
97the field.
98
99..
100
101.. bpo: 36588
102.. date: 2019-04-11-14-36-55
103.. nonce: wejLoC
104.. section: Core and Builtins
105
106On AIX, :attr:`sys.platform` doesn't contain the major version anymore.
107Always return ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older
108Python versions include the version number, it is recommended to always use
109``sys.platform.startswith('aix')``. Contributed by M. Felt.
110
111..
112
113.. bpo: 36549
114.. date: 2019-04-11-12-41-31
115.. nonce: QSp8of
116.. section: Core and Builtins
117
118Change str.capitalize to use titlecase for the first character instead of
119uppercase.
120
121..
122
123.. bpo: 36540
124.. date: 2019-04-06-20-59-19
125.. nonce: SzVUfC
126.. section: Core and Builtins
127
128Implement :pep:`570` (Python positional-only parameters). Patch by Pablo
129Galindo.
130
131..
132
133.. bpo: 36475
134.. date: 2019-04-02-20-02-22
135.. nonce: CjRps3
136.. section: Core and Builtins
137
138:c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now
139terminate the current thread if called while the interpreter is finalizing,
140making them consistent with :c:func:`PyEval_RestoreThread`,
141:c:func:`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`.
142
143..
144
145.. bpo: 36504
146.. date: 2019-04-02-04-10-32
147.. nonce: k_V8Bm
148.. section: Core and Builtins
149
150Fix signed integer overflow in _ctypes.c's ``PyCArrayType_new()``.
151
152..
153
154.. bpo: 20844
155.. date: 2019-03-29-18-47-50
156.. nonce: ge-7SM
157.. section: Core and Builtins
158
159Fix running script with encoding cookie and LF line ending may fail on
160Windows.
161
162..
163
164.. bpo: 24214
165.. date: 2019-03-28-15-22-45
166.. nonce: tZ6lYU
167.. section: Core and Builtins
168
169Fixed support of the surrogatepass error handler in the UTF-8 incremental
170decoder.
171
172..
173
174.. bpo: 36452
175.. date: 2019-03-27-23-53-00
176.. nonce: xhK2lT
177.. section: Core and Builtins
178
179Changing ``dict`` keys during iteration of the dict itself, ``keys()``,
180``values()``, or ``items()`` will now be detected in certain corner cases
181where keys are deleted/added so that the number of keys isn't changed. A
182`RuntimeError` will be raised after ``len(dict)`` iterations. Contributed by
183Thomas Perl.
184
185..
186
187.. bpo: 36459
188.. date: 2019-03-27-22-35-16
189.. nonce: UAvkKp
190.. section: Core and Builtins
191
192Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``.
193
194..
195
196.. bpo: 36433
197.. date: 2019-03-26-17-23-02
198.. nonce: -8XzZf
199.. section: Core and Builtins
200
201Fixed TypeError message in classmethoddescr_call.
202
203..
204
205.. bpo: 36430
206.. date: 2019-03-25-23-37-26
207.. nonce: sd9xxQ
208.. section: Core and Builtins
209
210Fix a possible reference leak in :func:`itertools.count`.
211
212..
213
214.. bpo: 36440
215.. date: 2019-03-25-13-45-19
216.. nonce: gkvzhi
217.. section: Core and Builtins
218
219Include node names in ``ParserError`` messages, instead of numeric IDs.
220Patch by A. Skrobov.
221
222..
223
224.. bpo: 36143
225.. date: 2019-03-20-00-37-24
226.. nonce: fnKoKo
227.. section: Core and Builtins
228
229Regenerate :mod:`keyword` from the Grammar and Tokens file using pgen. Patch
230by Pablo Galindo.
231
232..
233
234.. bpo: 18372
235.. date: 2018-12-08-03-40-43
236.. nonce: DT1nR0
237.. section: Core and Builtins
238
239Add missing :c:func:`PyObject_GC_Track` calls in the :mod:`pickle` module.
240Patch by Zackery Spytz.
241
242..
243
244.. bpo: 35952
245.. date: 2019-04-29-11-47-06
246.. nonce: 3uNuyo
247.. section: Library
248
249Fix pythoninfo when the compiler is missing.
250
251..
252
253.. bpo: 28238
254.. date: 2019-04-28-15-01-29
255.. nonce: gdk38f
256.. section: Library
257
258The ``.find*()`` methods of xml.etree.ElementTree can now search for
259wildcards like ``{*}tag`` and ``{ns}*`` that match a tag in any namespace or
260all tags in a namespace. Patch by Stefan Behnel.
261
262..
263
264.. bpo: 26978
265.. date: 2019-04-28-01-52-39
266.. nonce: Lpm-SI
267.. section: Library
268
269`pathlib.path.link_to()` is now implemented. It creates a hard link pointing
270to a path.
271
272..
273
274.. bpo: 1613500
275.. date: 2019-04-27-21-09-33
276.. nonce: Ogp4P0
277.. section: Library
278
279:class:`fileinput.FileInput` now uses the input file mode to correctly set
280the output file mode (previously it was hardcoded to ``'w'``) when
281``inplace=True`` is passed to its constructor.
282
283..
284
285.. bpo: 36734
286.. date: 2019-04-26-17-14-20
287.. nonce: p2MaiN
288.. section: Library
289
290Fix compilation of ``faulthandler.c`` on HP-UX. Initialize ``stack_t
291current_stack`` to zero using ``memset()``.
292
293..
294
295.. bpo: 13611
296.. date: 2019-04-26-10-10-34
297.. nonce: XEF4bg
298.. section: Library
299
300The xml.etree.ElementTree packages gained support for C14N 2.0
301serialisation. Patch by Stefan Behnel.
302
303..
304
305.. bpo: 36669
306.. date: 2019-04-24-17-08-45
307.. nonce: X4g0fu
308.. section: Library
309
310Add missing matrix multiplication operator support to weakref.proxy.
311
312..
313
314.. bpo: 36676
315.. date: 2019-04-20-13-10-34
316.. nonce: XF4Egb
317.. section: Library
318
319The XMLParser() in xml.etree.ElementTree provides namespace prefix context
320to the parser target if it defines the callback methods "start_ns()" and/or
321"end_ns()". Patch by Stefan Behnel.
322
323..
324
325.. bpo: 36673
326.. date: 2019-04-20-09-50-32
327.. nonce: XF4Egb
328.. section: Library
329
330The TreeBuilder and XMLPullParser in xml.etree.ElementTree gained support
331for parsing comments and processing instructions. Patch by Stefan Behnel.
332
333..
334
335.. bpo: 36650
336.. date: 2019-04-19-15-29-55
337.. nonce: _EVdrz
338.. section: Library
339
340The C version of functools.lru_cache() was treating calls with an empty
341``**kwargs`` dictionary as being distinct from calls with no keywords at
342all. This did not result in an incorrect answer, but it did trigger an
343unexpected cache miss.
344
345..
346
347.. bpo: 28552
348.. date: 2019-04-18-16-10-29
349.. nonce: MW1TLt
350.. section: Library
351
352Fix :mod:`distutils.sysconfig` if :data:`sys.executable` is ``None`` or an
353empty string: use :func:`os.getcwd` to initialize ``project_base``. Fix
354also the distutils build command: don't use :data:`sys.executable` if it is
355``None`` or an empty string.
356
357..
358
359.. bpo: 35755
360.. date: 2019-04-16-17-50-39
361.. nonce: Fg4EXb
362.. section: Library
363
364:func:`shutil.which` and :func:`distutils.spawn.find_executable` now use
365``os.confstr("CS_PATH")`` if available instead of :data:`os.defpath`, if the
366``PATH`` environment variable is not set. Moreover, don't use
367``os.confstr("CS_PATH")`` nor :data:`os.defpath` if the ``PATH`` environment
368variable is set to an empty string.
369
370..
371
372.. bpo: 25430
373.. date: 2019-04-15-12-22-09
374.. nonce: 7_8kqc
375.. section: Library
376
377improve performance of ``IPNetwork.__contains__()``
378
379..
380
381.. bpo: 30485
382.. date: 2019-04-13-23-42-33
383.. nonce: JHhjJS
384.. section: Library
385
386Path expressions in xml.etree.ElementTree can now avoid explicit namespace
387prefixes for tags (or the "{namespace}tag" notation) by passing a default
388namespace with an empty string prefix.
389
390..
391
392.. bpo: 36613
393.. date: 2019-04-12-13-52-15
394.. nonce: hqT1qn
395.. section: Library
396
397Fix :mod:`asyncio` wait() not removing callback if exception
398
399..
400
401.. bpo: 36598
402.. date: 2019-04-11-22-11-24
403.. nonce: hfzDUl
404.. section: Library
405
406Fix ``isinstance`` check for Mock objects with spec when the code is
407executed under tracing. Patch by Karthikeyan Singaravelan.
408
409..
410
411.. bpo: 18748
412.. date: 2019-04-11-16-09-42
413.. nonce: QW7upB
414.. section: Library
415
416In development mode (:option:`-X` ``dev``) and in debug build, the
417:class:`io.IOBase` destructor now logs ``close()`` exceptions. These
418exceptions are silent by default in release mode.
419
420..
421
422.. bpo: 36575
423.. date: 2019-04-09-22-40-52
424.. nonce: Vg_p92
425.. section: Library
426
427The ``_lsprof`` module now uses internal timer same to
428``time.perf_counter()`` by default. ``gettimeofday(2)`` was used on Unix.
429New timer has better resolution on most Unix platforms and timings are no
430longer impacted by system clock updates since ``perf_counter()`` is
431monotonic. Patch by Inada Naoki.
432
433..
434
435.. bpo: 33461
436.. date: 2019-04-09-14-46-28
437.. nonce: SYJM-E
438.. section: Library
439
440``json.loads`` now emits ``DeprecationWarning`` when ``encoding`` option is
441specified. Patch by Matthias Bussonnier.
442
443..
444
445.. bpo: 36559
446.. date: 2019-04-09-12-02-35
447.. nonce: LbDRrw
448.. section: Library
449
450The random module now prefers the lean internal _sha512 module over hashlib
451for seed(version=2) to optimize import time.
452
453..
454
455.. bpo: 17561
456.. date: 2019-04-09-04-08-46
457.. nonce: hOhVnh
458.. section: Library
459
460Set backlog=None as the default for socket.create_server.
461
462..
463
464.. bpo: 34373
465.. date: 2019-04-08-14-41-22
466.. nonce: lEAl_-
467.. section: Library
468
469Fix :func:`time.mktime` error handling on AIX for year before 1970.
470
471..
472
473.. bpo: 36232
474.. date: 2019-04-06-20-25-25
475.. nonce: SClmhb
476.. section: Library
477
478Improve error message when trying to open existing DBM database that
479actually doesn't exist. Patch by Marco Rougeth.
480
481..
482
483.. bpo: 36546
484.. date: 2019-04-06-14-23-00
485.. nonce: YXjbyY
486.. section: Library
487
488Add statistics.quantiles()
489
490..
491
492.. bpo: 36050
493.. date: 2019-04-05-21-29-53
494.. nonce: x9DRKE
495.. section: Library
496
497Optimized ``http.client.HTTPResponse.read()`` for large response. Patch by
498Inada Naoki.
499
500..
501
502.. bpo: 36522
503.. date: 2019-04-03-20-46-47
504.. nonce: g5x3By
505.. section: Library
506
507If *debuglevel* is set to >0 in :mod:`http.client`, print all values for
508headers with multiple values for the same header name. Patch by Matt
509Houglum.
510
511..
512
513.. bpo: 36492
514.. date: 2019-03-31-10-21-54
515.. nonce: f7vyUs
516.. section: Library
517
518Deprecated passing required arguments like *func* as keyword arguments in
519functions which should accept arbitrary keyword arguments and pass them to
520other function. Arbitrary keyword arguments (even with names "self" and
521"func") can now be passed to these functions if the required arguments are
522passed as positional arguments.
523
524..
525
526.. bpo: 27181
527.. date: 2019-03-31-01-18-52
528.. nonce: LVUWcc
529.. section: Library
530
531Add statistics.geometric_mean().
532
533..
534
535.. bpo: 30427
536.. date: 2019-03-28-21-17-08
537.. nonce: lxzvbw
538.. section: Library
539
540``os.path.normcase()`` relies on ``os.fspath()`` to check the type of its
541argument. Redundant checks have been removed from its
542``posixpath.normcase()`` and ``ntpath.normcase()`` implementations. Patch by
543Wolfgang Maier.
544
545..
546
547.. bpo: 36385
548.. date: 2019-03-27-02-09-22
549.. nonce: we2F45
550.. section: Library
551
552Stop rejecting IPv4 octets for being ambiguously octal. Leading zeros are
553ignored, and no longer are assumed to specify octal octets. Octets are
554always decimal numbers. Octets must still be no more than three digits,
555including leading zeroes.
556
557..
558
559.. bpo: 36434
560.. date: 2019-03-26-14-20-59
561.. nonce: PTdidw
562.. section: Library
563
564Errors during writing to a ZIP file no longer prevent to properly close it.
565
566..
567
568.. bpo: 36407
569.. date: 2019-03-23-17-16-15
570.. nonce: LG3aC4
571.. section: Library
572
573Fixed wrong indentation writing for CDATA section in xml.dom.minidom. Patch
574by Vladimir Surjaninov.
575
576..
577
578.. bpo: 36326
579.. date: 2019-03-22-13-47-52
580.. nonce: WCnEI5
581.. section: Library
582
583inspect.getdoc() can now find docstrings for member objects when __slots__
584is a dictionary.
585
586..
587
588.. bpo: 36366
589.. date: 2019-03-20-15-13-18
590.. nonce: n0eav_
591.. section: Library
592
593Calling ``stop()`` on an unstarted or stopped :func:`unittest.mock.patch`
594object will now return `None` instead of raising :exc:`RuntimeError`, making
595the method idempotent. Patch by Karthikeyan Singaravelan.
596
597..
598
599.. bpo: 36348
600.. date: 2019-03-18-16-16-55
601.. nonce: E0w_US
602.. section: Library
603
604The :meth:`imap.IMAP4.logout` method no longer ignores silently arbitrary
605exceptions.
606
607..
608
609.. bpo: 31904
610.. date: 2019-03-13-16-48-42
611.. nonce: 9sjd38
612.. section: Library
613
614Add time module support and fix test_time faiures for VxWorks.
615
616..
617
618.. bpo: 36227
619.. date: 2019-03-07-20-02-18
620.. nonce: i2Z1XR
621.. section: Library
622
623Added support for keyword arguments `default_namespace` and
624`xml_declaration` in functions ElementTree.tostring() and
625ElementTree.tostringlist().
626
627..
628
629.. bpo: 36004
630.. date: 2019-02-17-12-55-51
631.. nonce: hCt_KK
632.. section: Library
633
634Added new alternate constructors :meth:`datetime.date.fromisocalendar` and
635:meth:`datetime.datetime.fromisocalendar`, which construct date objects from
636ISO year, week number and weekday; these are the inverse of each class's
637``isocalendar`` method. Patch by Paul Ganssle.
638
639..
640
641.. bpo: 35936
642.. date: 2019-02-16-22-19-32
643.. nonce: Ay5WtD
644.. section: Library
645
646:mod:`modulefinder` no longer depends on the deprecated :mod:`imp` module,
647and the initializer for :class:`modulefinder.ModuleFinder` now has immutable
648default arguments. Patch by Brandt Bucher.
649
650..
651
652.. bpo: 35376
653.. date: 2019-02-13-18-56-27
654.. nonce: UFhYLj
655.. section: Library
656
657:mod:`modulefinder` correctly handles modules that have the same name as a
658bad package. Patch by Brandt Bucher.
659
660..
661
662.. bpo: 17396
663.. date: 2019-02-13-18-56-22
664.. nonce: oKRkrD
665.. section: Library
666
667:mod:`modulefinder` no longer crashes when encountering syntax errors in
668followed imports. Patch by Brandt Bucher.
669
670..
671
672.. bpo: 35934
673.. date: 2019-02-07-20-25-39
674.. nonce: QmfNmY
675.. section: Library
676
677Added :meth:`~socket.create_server()` and
678:meth:`~socket.has_dualstack_ipv6()` convenience functions to automate the
679necessary tasks usually involved when creating a server socket, including
680accepting both IPv4 and IPv6 connections on the same socket. (Contributed
681by Giampaolo Rodola in :issue:`17561`.)
682
683..
684
685.. bpo: 23078
686.. date: 2019-01-18-23-10-10
687.. nonce: l4dFoj
688.. section: Library
689
690Add support for :func:`classmethod` and :func:`staticmethod` to
691:func:`unittest.mock.create_autospec`. Initial patch by Felipe Ochoa.
692
693..
694
695.. bpo: 35416
696.. date: 2018-12-05-09-55-05
697.. nonce: XALKZG
698.. section: Library
699
700Fix potential resource warnings in distutils. Patch by Mickaël Schoentgen.
701
702..
703
704.. bpo: 25451
705.. date: 2018-11-07-23-44-25
706.. nonce: re_8db
707.. section: Library
708
709Add transparency methods to :class:`tkinter.PhotoImage`. Patch by Zackery
710Spytz.
711
712..
713
714.. bpo: 35082
715.. date: 2018-10-27-11-54-12
716.. nonce: HDj1nr
717.. section: Library
718
719Don't return deleted attributes when calling dir on a
720:class:`unittest.mock.Mock`.
721
722..
723
724.. bpo: 34547
725.. date: 2018-10-05-16-01-00
726.. nonce: abbaa
727.. section: Library
728
729:class:`wsgiref.handlers.BaseHandler` now handles abrupt client connection
730terminations gracefully. Patch by Petter Strandmark.
731
732..
733
734.. bpo: 31658
735.. date: 2018-07-30-12-00-15
736.. nonce: _bx7a_
737.. section: Library
738
739:func:`xml.sax.parse` now supports :term:`path-like <path-like object>`.
740Patch by Mickaël Schoentgen.
741
742..
743
744.. bpo: 34139
745.. date: 2018-07-18-11-25-34
746.. nonce: tKbmW7
747.. section: Library
748
749Remove stale unix datagram socket before binding
750
751..
752
753.. bpo: 33530
754.. date: 2018-05-29-18-34-53
755.. nonce: _4Q_bi
756.. section: Library
757
758Implemented Happy Eyeballs in `asyncio.create_connection()`. Added two new
759arguments, *happy_eyeballs_delay* and *interleave*, to specify Happy
760Eyeballs behavior.
761
762..
763
764.. bpo: 33291
765.. date: 2018-04-11-11-41-52
766.. nonce: -xLGf8
767.. section: Library
768
769Do not raise AttributeError when calling the inspect functions
770isgeneratorfunction, iscoroutinefunction, isasyncgenfunction on a method
771created from an arbitrary callable. Instead, return False.
772
773..
774
775.. bpo: 31310
776.. date: 2018-04-06-11-06-23
777.. nonce: eq9ky0
778.. section: Library
779
780Fix the multiprocessing.semaphore_tracker so it is reused by child processes
781
782..
783
784.. bpo: 31292
785.. date: 2017-08-30-20-27-00
786.. nonce: dKIaZb
787.. section: Library
788
789Fix ``setup.py check --restructuredtext`` for files containing ``include``
790directives.
791
792..
793
794.. bpo: 36625
795.. date: 2019-04-15-12-02-45
796.. nonce: x3LMCF
797.. section: Documentation
798
799Remove obsolete comments from docstrings in fractions.Fraction
800
801..
802
803.. bpo: 30840
804.. date: 2019-04-14-19-46-21
805.. nonce: R-JFzw
806.. section: Documentation
807
808Document relative imports
809
810..
811
812.. bpo: 36523
813.. date: 2019-04-04-19-11-47
814.. nonce: sG1Tr4
815.. section: Documentation
816
817Add docstring for io.IOBase.writelines().
818
819..
820
821.. bpo: 36425
822.. date: 2019-03-27-22-46-00
823.. nonce: kG9gx1
824.. section: Documentation
825
826New documentation translation: `Simplified Chinese
827<https://docs.python.org/zh-cn/>`_.
828
829..
830
831.. bpo: 36345
832.. date: 2019-03-26-14-58-34
833.. nonce: r2stx3
834.. section: Documentation
835
836Avoid the duplication of code from ``Tools/scripts/serve.py`` in using the
837:rst:dir:`literalinclude` directive for the basic wsgiref-based web server
838in the documentation of :mod:`wsgiref`. Contributed by Stéphane Wirtel.
839
840..
841
842.. bpo: 36345
843.. date: 2019-03-23-09-25-12
844.. nonce: L704Zv
845.. section: Documentation
846
847Using the code of the ``Tools/scripts/serve.py`` script as an example in the
848:mod:`wsgiref` documentation. Contributed by Stéphane Wirtel.
849
850..
851
852.. bpo: 36157
853.. date: 2019-03-08-15-39-47
854.. nonce: nF1pP1
855.. section: Documentation
856
857Added Documention for PyInterpreterState_Main().
858
859..
860
861.. bpo: 33043
862.. date: 2019-02-24-03-15-10
863.. nonce: 8knWTS
864.. section: Documentation
865
866Updates the docs.python.org page with the addition of a 'Contributing to
867Docs' link at the end of the page (between 'Reporting Bugs' and 'About
868Documentation'). Updates the 'Found a Bug' page with additional links and
869information in the Documentation Bugs section.
870
871..
872
873.. bpo: 35581
874.. date: 2018-12-25-12-56-57
875.. nonce: aA7r6T
876.. section: Documentation
877
878@typing.type_check_only now allows type stubs to mark functions and classes
879not available during runtime.
880
881..
882
883.. bpo: 33832
884.. date: 2018-06-15-15-57-37
885.. nonce: xBFhKw
886.. section: Documentation
887
888Add glossary entry for 'magic method'.
889
890..
891
892.. bpo: 32913
893.. date: 2018-02-22-15-48-16
894.. nonce: f3utho
895.. section: Documentation
896
897Added re.Match.groupdict example to regex HOWTO.
898
899..
900
901.. bpo: 36719
902.. date: 2019-04-26-09-02-49
903.. nonce: ys2uqH
904.. section: Tests
905
906regrtest now always detects uncollectable objects. Previously, the check was
907only enabled by ``--findleaks``. The check now also works with
908``-jN/--multiprocess N``. ``--findleaks`` becomes a deprecated alias to
909``--fail-env-changed``.
910
911..
912
913.. bpo: 36725
914.. date: 2019-04-26-04-12-29
915.. nonce: B8-ghi
916.. section: Tests
917
918When using mulitprocessing mode (-jN), regrtest now better reports errors if
919a worker process fails, and it exits immediately on a worker thread failure
920or when interrupted.
921
922..
923
924.. bpo: 36454
925.. date: 2019-04-23-17-48-11
926.. nonce: 0q4lQz
927.. section: Tests
928
929Change test_time.test_monotonic() to test only the lower bound of elapsed
930time after a sleep command rather than the upper bound. This prevents
931unnecessary test failures on slow buildbots. Patch by Victor Stinner.
932
933..
934
935.. bpo: 32424
936.. date: 2019-04-21-17-55-18
937.. nonce: yDy49h
938.. section: Tests
939
940Improve test coverage for xml.etree.ElementTree. Patch by Gordon P. Hemsley.
941
942..
943
944.. bpo: 32424
945.. date: 2019-04-21-17-53-50
946.. nonce: Q4rBmn
947.. section: Tests
948
949Fix typo in test_cyclic_gc() test for xml.etree.ElementTree. Patch by Gordon
950P. Hemsley.
951
952..
953
954.. bpo: 36635
955.. date: 2019-04-15-16-55-49
956.. nonce: __FTq9
957.. section: Tests
958
959Add a new :mod:`_testinternalcapi` module to test the internal C API.
960
961..
962
963.. bpo: 36629
964.. date: 2019-04-15-11-57-39
965.. nonce: ySnaL3
966.. section: Tests
967
968Fix ``test_imap4_host_default_value()`` of ``test_imaplib``: catch also
969:data:`errno.ENETUNREACH` error.
970
971..
972
973.. bpo: 36611
974.. date: 2019-04-12-12-44-42
975.. nonce: UtorXL
976.. section: Tests
977
978Fix ``test_sys.test_getallocatedblocks()`` when :mod:`tracemalloc` is
979enabled.
980
981..
982
983.. bpo: 36560
984.. date: 2019-04-09-14-08-02
985.. nonce: _ejeOr
986.. section: Tests
987
988Fix reference leak hunting in regrtest: compute also deltas (of reference
989count, allocated memory blocks, file descriptor count) during warmup, to
990ensure that everything is initialized before starting to hunt reference
991leaks.
992
993..
994
995.. bpo: 36565
996.. date: 2019-04-08-19-01-21
997.. nonce: 2bxgtU
998.. section: Tests
999
1000Fix reference hunting (``python3 -m test -R 3:3``) when Python has no
1001built-in abc module.
1002
1003..
1004
1005.. bpo: 31904
1006.. date: 2019-04-08-09-24-36
1007.. nonce: ab03ea
1008.. section: Tests
1009
1010Port test_resource to VxWorks: skip tests cases setting RLIMIT_FSIZE and
1011RLIMIT_CPU.
1012
1013..
1014
1015.. bpo: 31904
1016.. date: 2019-04-01-16-06-36
1017.. nonce: peaceF
1018.. section: Tests
1019
1020Fix test_tabnanny on VxWorks: adjust ENOENT error message.
1021
1022..
1023
1024.. bpo: 36436
1025.. date: 2019-03-26-13-49-21
1026.. nonce: yAtN0V
1027.. section: Tests
1028
1029Fix ``_testcapi.pymem_buffer_overflow()``: handle memory allocation failure.
1030
1031..
1032
1033.. bpo: 31904
1034.. date: 2019-03-19-17-39-25
1035.. nonce: QxhhRx
1036.. section: Tests
1037
1038Fix test_utf8_mode on VxWorks: Python always use UTF-8 on VxWorks.
1039
1040..
1041
1042.. bpo: 36341
1043.. date: 2019-03-18-10-47-45
1044.. nonce: UXlY0P
1045.. section: Tests
1046
1047Fix tests that may fail with PermissionError upon calling bind() on AF_UNIX
1048sockets.
1049
1050..
1051
1052.. bpo: 36747
1053.. date: 2019-04-29-09-57-20
1054.. nonce: 1YEyu-
1055.. section: Build
1056
1057Remove the stale scriptsinstall Makefile target.
1058
1059..
1060
1061.. bpo: 21536
1062.. date: 2019-04-25-01-51-52
1063.. nonce: ACQkiC
1064.. section: Build
1065
1066On Unix, C extensions are no longer linked to libpython except on Android.
1067
1068It is now possible for a statically linked Python to load a C extension
1069built using a shared library Python.
1070
1071When Python is embedded, ``libpython`` must not be loaded with
1072``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using
1073``RTLD_LOCAL``, it was already not possible to load C extensions which were
1074not linked to ``libpython``, such as C extensions of the standard library
1075built by the ``*shared*`` section of ``Modules/Setup``.
1076
1077distutils, python-config and python-config.py have been modified.
1078
1079..
1080
1081.. bpo: 36707
1082.. date: 2019-04-24-02-29-15
1083.. nonce: 8ZNB67
1084.. section: Build
1085
1086``./configure --with-pymalloc`` no longer adds the ``m`` flag to SOABI
1087(sys.implementation.cache_tag). Enabling or disabling pymalloc has no impact
1088on the ABI.
1089
1090..
1091
1092.. bpo: 36635
1093.. date: 2019-04-16-13-58-52
1094.. nonce: JKlzkf
1095.. section: Build
1096
1097Change ``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and ``PyMODINIT_FUNC``
1098macros of ``pyport.h`` when ``Py_BUILD_CORE_MODULE`` is defined. The
1099``Py_BUILD_CORE_MODULE`` define must be now be used to build a C extension
1100as a dynamic library accessing Python internals: export the PyInit_xxx()
1101function in DLL exports on Windows.
1102
1103..
1104
1105.. bpo: 31904
1106.. date: 2019-04-15-15-01-29
1107.. nonce: 38fdkg
1108.. section: Build
1109
1110Don't build the ``_crypt`` extension on VxWorks.
1111
1112..
1113
1114.. bpo: 36618
1115.. date: 2019-04-12-19-49-10
1116.. nonce: gcI9iq
1117.. section: Build
1118
1119Add ``-fmax-type-align=8`` to CFLAGS when clang compiler is detected. The
1120pymalloc memory allocator aligns memory on 8 bytes. On x86-64, clang expects
1121alignment on 16 bytes by default and so uses MOVAPS instruction which can
1122lead to segmentation fault. Instruct clang that Python is limited to
1123alignemnt on 8 bytes to use MOVUPS instruction instead: slower but don't
1124trigger a SIGSEGV if the memory is not aligned on 16 bytes. Sadly, the flag
1125must be added to ``CFLAGS`` and not just ``CFLAGS_NODIST``, since third
1126party C extensions can have the same issue.
1127
1128..
1129
1130.. bpo: 36605
1131.. date: 2019-04-11-18-50-58
1132.. nonce: gk5czf
1133.. section: Build
1134
1135``make tags`` and ``make TAGS`` now also parse ``Modules/_io/*.c`` and
1136``Modules/_io/*.h``.
1137
1138..
1139
1140.. bpo: 36465
1141.. date: 2019-04-09-18-19-43
1142.. nonce: -w6vx6
1143.. section: Build
1144
1145Release builds and debug builds are now ABI compatible: defining the
1146``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which
1147introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` macro, which
1148adds the :func:`sys.getobjects` function and the :envvar:`PYTHONDUMPREFS`
1149environment variable, can be set using the new ``./configure
1150--with-trace-refs`` build option.
1151
1152..
1153
1154.. bpo: 36577
1155.. date: 2019-04-09-17-31-47
1156.. nonce: 34kuUW
1157.. section: Build
1158
1159setup.py now correctly reports missing OpenSSL headers and libraries again.
1160
1161..
1162
1163.. bpo: 36544
1164.. date: 2019-04-06-18-53-03
1165.. nonce: hJr2_a
1166.. section: Build
1167
1168Fix regression introduced in bpo-36146 refactoring setup.py
1169
1170..
1171
1172.. bpo: 36508
1173.. date: 2019-04-02-17-01-23
1174.. nonce: SN5Y6N
1175.. section: Build
1176
1177``python-config --ldflags`` no longer includes flags of the
1178``LINKFORSHARED`` variable. The ``LINKFORSHARED`` variable must only be used
1179to build executables.
1180
1181..
1182
1183.. bpo: 36503
1184.. date: 2019-04-02-09-25-23
1185.. nonce: 0xzfkQ
1186.. section: Build
1187
1188Remove references to "aix3" and "aix4". Patch by M. Felt.
1189
1190..
1191
1192.. bpo: 35920
1193.. date: 2019-04-22-16-59-20
1194.. nonce: VSfGOI
1195.. section: Windows
1196
1197Added platform.win32_edition() and platform.win32_is_iot(). Added support
1198for cross-compiling packages for Windows ARM32. Skip tests that are not
1199expected to work on Windows IoT Core ARM32.
1200
1201..
1202
1203.. bpo: 36649
1204.. date: 2019-04-17-11-39-24
1205.. nonce: arbzIo
1206.. section: Windows
1207
1208Remove trailing spaces for registry keys when installed via the Store.
1209
1210..
1211
1212.. bpo: 34144
1213.. date: 2019-04-10-04-35-31
1214.. nonce: _KzB5z
1215.. section: Windows
1216
1217Fixed activate.bat to correctly update codepage when chcp.com returns dots
1218in output. Patch by Lorenz Mende.
1219
1220..
1221
1222.. bpo: 36509
1223.. date: 2019-04-02-10-11-18
1224.. nonce: DdaM67
1225.. section: Windows
1226
1227Added preset-iot layout for Windows IoT ARM containers. This layout doesn't
1228contain UI components like tkinter or IDLE. It also doesn't contain files to
1229support on-target builds since Windows ARM32 builds must be cross-compiled
1230when using MSVC.
1231
1232..
1233
1234.. bpo: 35941
1235.. date: 2019-03-28-03-51-16
1236.. nonce: UnlAEE
1237.. section: Windows
1238
1239enum_certificates function of the ssl module now returns certificates from
1240all available certificate stores inside windows in a query instead of
1241returning only certificates from the system wide certificate store. This
1242includes certificates from these certificate stores: local machine, local
1243machine enterprise, local machine group policy, current user, current user
1244group policy, services, users. ssl.enum_crls() function is changed in the
1245same way to return all certificate revocation lists inside the windows
1246certificate revocation list stores.
1247
1248..
1249
1250.. bpo: 36441
1251.. date: 2019-03-26-11-46-15
1252.. nonce: lYjGF1
1253.. section: Windows
1254
1255Fixes creating a venv when debug binaries are installed.
1256
1257..
1258
1259.. bpo: 36085
1260.. date: 2019-03-18-11-44-49
1261.. nonce: mLfxfc
1262.. section: Windows
1263
1264Enable better DLL resolution on Windows by using safe DLL search paths and
1265adding :func:`os.add_dll_directory`.
1266
1267..
1268
1269.. bpo: 36010
1270.. date: 2019-03-16-10-24-58
1271.. nonce: dttWfp
1272.. section: Windows
1273
1274Add the venv standard library module to the nuget distribution for Windows.
1275
1276..
1277
1278.. bpo: 29515
1279.. date: 2019-03-05-18-09-43
1280.. nonce: vwUTv0
1281.. section: Windows
1282
1283Add the following socket module constants on Windows: IPPROTO_AH IPPROTO_CBT
1284IPPROTO_DSTOPTS IPPROTO_EGP IPPROTO_ESP IPPROTO_FRAGMENT IPPROTO_GGP
1285IPPROTO_HOPOPTS IPPROTO_ICLFXBM IPPROTO_ICMPV6 IPPROTO_IDP IPPROTO_IGMP
1286IPPROTO_IGP IPPROTO_IPV4 IPPROTO_IPV6 IPPROTO_L2TP IPPROTO_MAX IPPROTO_ND
1287IPPROTO_NONE IPPROTO_PGM IPPROTO_PIM IPPROTO_PUP IPPROTO_RDP IPPROTO_ROUTING
1288IPPROTO_SCTP IPPROTO_ST
1289
1290..
1291
1292.. bpo: 35947
1293.. date: 2019-02-11-14-53-17
1294.. nonce: 9vI4hP
1295.. section: Windows
1296
1297Added current version of libffi to cpython-source-deps. Change _ctypes to
1298use current version of libffi on Windows.
1299
1300..
1301
1302.. bpo: 34060
1303.. date: 2018-07-20-13-09-19
1304.. nonce: v-z87j
1305.. section: Windows
1306
1307Report system load when running test suite on Windows. Patch by Ammar Askar.
1308Based on prior work by Jeremy Kloth.
1309
1310..
1311
1312.. bpo: 31512
1313.. date: 2017-10-04-12-40-45
1314.. nonce: YQeBt2
1315.. section: Windows
1316
1317With the Windows 10 Creators Update, non-elevated users can now create
1318symlinks as long as the computer has Developer Mode enabled.
1319
1320..
1321
1322.. bpo: 34602
1323.. date: 2019-04-29-10-54-14
1324.. nonce: Lrl2zU
1325.. section: macOS
1326
1327Avoid failures setting macOS stack resource limit with resource.setrlimit.
1328This reverts an earlier fix for bpo-18075 which forced a non-default stack
1329size when building the interpreter executable on macOS.
1330
1331..
1332
1333.. bpo: 36429
1334.. date: 2019-03-26-00-09-50
1335.. nonce: w-jL2e
1336.. section: IDLE
1337
1338Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove
1339pyshell alias at bottom. Remove obsolete __name__=='__main__' command.
1340
1341..
1342
1343.. bpo: 14546
1344.. date: 2019-04-30-14-30-29
1345.. nonce: r38Y-6
1346.. section: Tools/Demos
1347
1348Fix the argument handling in Tools/scripts/lll.py.
1349
1350..
1351
1352.. bpo: 36763
1353.. date: 2019-05-01-00-42-08
1354.. nonce: vghb86
1355.. section: C API
1356
1357Fix memory leak in :c:func:`Py_SetStandardStreamEncoding`: release memory if
1358the function is called twice.
1359
1360..
1361
1362.. bpo: 36641
1363.. date: 2019-04-16-21-18-19
1364.. nonce: pz-DIR
1365.. section: C API
1366
1367:c:macro:`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create
1368``static const char name[]`` instead of ``static char name[]``. Patch by
1369Inada Naoki.
1370
1371..
1372
1373.. bpo: 36389
1374.. date: 2019-04-11-12-20-35
1375.. nonce: P9QFoP
1376.. section: C API
1377
1378Change the value of ``CLEANBYTE``, ``DEADDYTE`` and ``FORBIDDENBYTE``
1379internal constants used by debug hooks on Python memory allocators
1380(:c:func:`PyMem_SetupDebugHooks` function). Byte patterns ``0xCB``, ``0xDB``
1381and ``0xFB`` have been replaced with ``0xCD``, ``0xDD`` and ``0xFD`` to use
1382the same values than Windows CRT debug ``malloc()`` and ``free()``.
1383
1384..
1385
1386.. bpo: 36443
1387.. date: 2019-03-27-15-58-23
1388.. nonce: tAfZR9
1389.. section: C API
1390
1391Since Python 3.7.0, calling :c:func:`Py_DecodeLocale` before
1392:c:func:`Py_Initialize` produces mojibake if the ``LC_CTYPE`` locale is
1393coerced and/or if the UTF-8 Mode is enabled by the user configuration. The
1394LC_CTYPE coercion and UTF-8 Mode are now disabled by default to fix the
1395mojibake issue. They must now be enabled explicitly (opt-in) using the new
1396:c:func:`_Py_PreInitialize` API with ``_PyPreConfig``.
1397
1398..
1399
1400.. bpo: 36025
1401.. date: 2019-02-19-08-23-42
1402.. nonce: tnwylQ
1403.. section: C API
1404
1405Fixed an accidental change to the datetime C API where the arguments to the
1406:c:func:`PyDate_FromTimestamp` function were incorrectly interpreted as a
1407single timestamp rather than an arguments tuple, which causes existing code
1408to start raising :exc:`TypeError`. The backwards-incompatible change was
1409only present in alpha releases of Python 3.8. Patch by Paul Ganssle.
1410
1411..
1412
1413.. bpo: 35810
1414.. date: 2019-01-23-12-38-11
1415.. nonce: wpbWeb
1416.. section: C API
1417
1418Modify ``PyObject_Init`` to correctly increase the refcount of heap-
1419allocated Type objects. Also fix the refcounts of the heap-allocated types
1420that were either doing this manually or not decreasing the type's refcount
1421in tp_dealloc