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