Home | History | Annotate | Download | only in NEWS.d
      1 .. bpo: 30730
      2 .. date: 084
      3 .. nonce: rJsyTH
      4 .. original section: Library
      5 .. release date: 2017-07-23
      6 .. section: Security
      7 
      8 Prevent environment variables injection in subprocess on Windows.  Prevent
      9 passing 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 
     19 Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
     20 vulnerabilities including: CVE-2017-9233 (External entity infinite loop
     21 DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
     22 regression 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
     24 os-specific entropy sources like getrandom) doesn't impact Python, since Python
     25 already 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 
     36 Fix 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
     39 authentication (``login@host``).
     40 
     41 ..
     42 
     43 .. bpo: 29591
     44 .. date: 076
     45 .. nonce: ExKblw
     46 .. original section: Library
     47 .. section: Security
     48 
     49 Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
     50 CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
     51 information.
     52 
     53 ..
     54 
     55 .. bpo: 30876
     56 .. date: 2017-07-11-06-31-32
     57 .. nonce: x35jZX
     58 .. section: Core and Builtins
     59 
     60 Relative import from unloaded package now reimports the package instead of
     61 failing with SystemError.  Relative import from non-package now fails with
     62 ImportError 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 
     71 Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked
     72 not to block.
     73 
     74 ..
     75 
     76 .. bpo: 27945
     77 .. date: 100
     78 .. nonce: p29r3O
     79 .. section: Core and Builtins
     80 
     81 Fixed various segfaults with dict when input collections are mutated during
     82 searching, inserting or comparing.  Based on patches by Duane Griffin and
     83 Tim Mitchell.
     84 
     85 ..
     86 
     87 .. bpo: 25794
     88 .. date: 099
     89 .. nonce: xfPwqm
     90 .. section: Core and Builtins
     91 
     92 Fixed type.__setattr__() and type.__delattr__() for non-interned attribute
     93 names.  Based on patch by Eryk Sun.
     94 
     95 ..
     96 
     97 .. bpo: 29935
     98 .. date: 098
     99 .. nonce: vgjdJo
    100 .. section: Core and Builtins
    101 
    102 Fixed error messages in the index() method of tuple, list and deque when
    103 pass 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 
    121 Fix wrapping coroutine return values in StopIteration.
    122 
    123 ..
    124 
    125 .. bpo: 29537
    126 .. date: 095
    127 .. nonce: lu1ysY
    128 .. section: Core and Builtins
    129 
    130 Restore runtime compatibility with bytecode files generated by CPython 3.5.0
    131 to 3.5.2, and adjust the eval loop to avoid the problems that could be
    132 caused by the malformed variant of the BUILD_MAP_UNPACK_WITH_CALL opcode
    133 that they may contain. Patch by Petr Viktorin, Serhiy Storchaka, and Nick
    134 Coghlan.
    135 
    136 ..
    137 
    138 .. bpo: 28598
    139 .. date: 094
    140 .. nonce: QxbzQn
    141 .. section: Core and Builtins
    142 
    143 Support __rmod__ for subclasses of str being called before str.__mod__.
    144 Patch by Martijn Pieters.
    145 
    146 ..
    147 
    148 .. bpo: 29602
    149 .. date: 093
    150 .. nonce: qyyskC
    151 .. section: Core and Builtins
    152 
    153 Fix incorrect handling of signed zeros in complex constructor for complex
    154 subclasses and for inputs having a __complex__ method. Patch by Serhiy
    155 Storchaka.
    156 
    157 ..
    158 
    159 .. bpo: 29347
    160 .. date: 092
    161 .. nonce: 1RPPGN
    162 .. section: Core and Builtins
    163 
    164 Fixed possibly dereferencing undefined pointers when creating weakref
    165 objects.
    166 
    167 ..
    168 
    169 .. bpo: 29438
    170 .. date: 091
    171 .. nonce: IKxD6I
    172 .. section: Core and Builtins
    173 
    174 Fixed 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 
    183 Prevent RunMainFromImporter overwriting sys.path[0].
    184 
    185 ..
    186 
    187 .. bpo: 29337
    188 .. date: 089
    189 .. nonce: bjX8AE
    190 .. section: Core and Builtins
    191 
    192 Fixed possible BytesWarning when compare the code objects. Warnings could be
    193 emitted at compile time.
    194 
    195 ..
    196 
    197 .. bpo: 29478
    198 .. date: 088
    199 .. nonce: rTQ-qy
    200 .. section: Core and Builtins
    201 
    202 If max_line_length=None is specified while using the Compat32 policy, it is
    203 no 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 
    212 Fix ``unittest.mock``'s autospec to not fail on method-bound builtin
    213 functions.  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 
    222 Fix 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 
    231 Fix multiprocessing.Queue.join_thread(): it now waits until the thread
    232 completes, even if the thread was started by the same process which created
    233 the queue.
    234 
    235 ..
    236 
    237 .. bpo: 29854
    238 .. date: 2017-07-07-02-18-57
    239 .. nonce: J8wKb_
    240 .. section: Library
    241 
    242 Fix segfault in readline when using readline's history-size option.  Patch
    243 by Nir Soffer.
    244 
    245 ..
    246 
    247 .. bpo: 30807
    248 .. date: 2017-06-29-22-04-44
    249 .. nonce: sLtjY-
    250 .. section: Library
    251 
    252 signal.setitimer() may disable the timer when passed a tiny value.
    253 
    254 Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which
    255 is specified as taking microsecond-resolution intervals. However, on some
    256 platform, our conversion routine could convert 1e-6 into a zero interval,
    257 therefore 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 
    266 Fix 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 
    275 Fix 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 
    284 Update zlib to 1.2.11.
    285 
    286 ..
    287 
    288 .. bpo: 30879
    289 .. date: 086
    290 .. nonce: N3KI-o
    291 .. section: Library
    292 
    293 os.listdir() and os.scandir() now emit bytes names when called with
    294 bytes-like argument.
    295 
    296 ..
    297 
    298 .. bpo: 30746
    299 .. date: 085
    300 .. nonce: 7drQI0
    301 .. section: Library
    302 
    303 Prohibited 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 
    313 Fixed the lgettext() family of functions in the gettext module. They now
    314 always return bytes.
    315 
    316 ..
    317 
    318 .. bpo: 30645
    319 .. date: 080
    320 .. nonce: oYzbbW
    321 .. section: Library
    322 
    323 Fix path calculation in imp.load_package(), fixing it for cases when a
    324 package 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 
    333 unittest.TestCase.assertRaises() now manually breaks a reference cycle to
    334 not keep objects alive longer than expected.
    335 
    336 ..
    337 
    338 .. bpo: 30149
    339 .. date: 078
    340 .. nonce: hE649r
    341 .. section: Library
    342 
    343 inspect.signature() now supports callables with variable-argument parameters
    344 wrapped with partialmethod. Patch by Dong-hee Na.
    345 
    346 ..
    347 
    348 .. bpo: 29931
    349 .. date: 077
    350 .. nonce: tfcTwK
    351 .. section: Library
    352 
    353 Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay
    354 Sundaresan.
    355 
    356 ..
    357 
    358 .. bpo: 24484
    359 .. date: 075
    360 .. nonce: vFem8K
    361 .. section: Library
    362 
    363 Avoid race condition in multiprocessing cleanup.
    364 
    365 ..
    366 
    367 .. bpo: 28994
    368 .. date: 074
    369 .. nonce: 9vzun1
    370 .. section: Library
    371 
    372 The traceback no longer displayed for SystemExit raised in a callback
    373 registered by atexit.
    374 
    375 ..
    376 
    377 .. bpo: 30508
    378 .. date: 073
    379 .. nonce: wNWRS2
    380 .. section: Library
    381 
    382 Don'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 
    391 Updates to typing module: Add generic AsyncContextManager, add support for
    392 ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan
    393 Levkivskyi
    394 
    395 ..
    396 
    397 .. bpo: 29870
    398 .. date: 071
    399 .. nonce: p960Ih
    400 .. section: Library
    401 
    402 Fix ssl sockets leaks when connection is aborted in asyncio/ssl
    403 implementation. Patch by Michal Sghaer.
    404 
    405 ..
    406 
    407 .. bpo: 29743
    408 .. date: 070
    409 .. nonce: en2P4s
    410 .. section: Library
    411 
    412 Closing transport during handshake process leaks open socket. Patch by
    413 Nikolay Kim
    414 
    415 ..
    416 
    417 .. bpo: 27585
    418 .. date: 069
    419 .. nonce: 0Ugqqu
    420 .. section: Library
    421 
    422 Fix 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 
    431 On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
    432 stdin.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 
    441 Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
    442 addresses.
    443 
    444 ..
    445 
    446 .. bpo: 29960
    447 .. date: 066
    448 .. nonce: g0wr3r
    449 .. section: Library
    450 
    451 Preserve generator state when _random.Random.setstate() raises an exception.
    452 Patch by Bryan Olson.
    453 
    454 ..
    455 
    456 .. bpo: 30414
    457 .. date: 065
    458 .. nonce: jGl1Lb
    459 .. section: Library
    460 
    461 multiprocessing.Queue._feed background running thread do not break from main
    462 loop on exception.
    463 
    464 ..
    465 
    466 .. bpo: 30003
    467 .. date: 064
    468 .. nonce: BOl9HE
    469 .. section: Library
    470 
    471 Fix 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 
    480 Fix 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 
    490 imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022)
    491 on shutdown(SHUT_RDWR): An invalid operation was attempted. This error
    492 occurs sometimes on SSL connections.
    493 
    494 ..
    495 
    496 .. bpo: 30375
    497 .. date: 061
    498 .. nonce: 9c8qM7
    499 .. section: Library
    500 
    501 Warnings emitted when compile a regular expression now always point to the
    502 line in the user code.  Previously they could point into inners of the re
    503 module if emitted from inside of groups or conditionals.
    504 
    505 ..
    506 
    507 .. bpo: 30048
    508 .. date: 060
    509 .. nonce: ELRx8R
    510 .. section: Library
    511 
    512 Fixed ``Task.cancel()`` can be ignored when the task is running coroutine
    513 and the coroutine returned without any more ``await``.
    514 
    515 ..
    516 
    517 .. bpo: 29990
    518 .. date: 059
    519 .. nonce: HWV6KE
    520 .. section: Library
    521 
    522 Fix 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 
    531 Change 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 
    540 Removed the __init__ methods of _json's scanner and encoder. Misusing them
    541 could cause memory leaks or crashes.  Now scanner and encoder objects are
    542 completely initialized in the __new__ methods.
    543 
    544 ..
    545 
    546 .. bpo: 30185
    547 .. date: 056
    548 .. nonce: Tiu1n8
    549 .. section: Library
    550 
    551 Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C
    552 is received.
    553 
    554 ..
    555 
    556 .. bpo: 28556
    557 .. date: 055
    558 .. nonce: 51gjbP
    559 .. section: Library
    560 
    561 Various updates to typing module: add typing.NoReturn type, use
    562 WrapperDescriptorType, minor bug-fixes.  Original PRs by Jim
    563 Fasarakis-Hilliard and Ivan Levkivskyi.
    564 
    565 ..
    566 
    567 .. bpo: 30205
    568 .. date: 054
    569 .. nonce: BsxO34
    570 .. section: Library
    571 
    572 Fix 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 
    581 Fixed 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 
    590 Fixed crashes in IOBase methods __next__() and readlines() when readline()
    591 or __next__() respectively return non-sizeable object. Fixed possible other
    592 errors caused by not checking results of PyObject_Size(), PySequence_Size(),
    593 or 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 
    611 Fixed race condition in pathlib mkdir with flags parents=True.  Patch by
    612 Armin Rigo.
    613 
    614 ..
    615 
    616 .. bpo: 29692
    617 .. date: 049
    618 .. nonce: oyWrAE
    619 .. section: Library
    620 
    621 Fixed arbitrary unchaining of RuntimeError exceptions in
    622 contextlib.contextmanager.  Patch by Siddharth Velankar.
    623 
    624 ..
    625 
    626 .. bpo: 29998
    627 .. date: 048
    628 .. nonce: poeIKD
    629 .. section: Library
    630 
    631 Pickling 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 
    640 Fix a crash in itertools.chain.from_iterable when encountering long runs of
    641 empty iterables.
    642 
    643 ..
    644 
    645 .. bpo: 27863
    646 .. date: 046
    647 .. nonce: pPYHHI
    648 .. section: Library
    649 
    650 Fixed multiple crashes in ElementTree caused by race conditions and wrong
    651 types.
    652 
    653 ..
    654 
    655 .. bpo: 28699
    656 .. date: 045
    657 .. nonce: wZztZP
    658 .. section: Library
    659 
    660 Fixed a bug in pools in multiprocessing.pool that raising an exception at
    661 the very first of an iterable may swallow the exception or make the program
    662 hang. Patch by Davin Potts and Xiang Zhang.
    663 
    664 ..
    665 
    666 .. bpo: 25803
    667 .. date: 044
    668 .. nonce: CPDR0W
    669 .. section: Library
    670 
    671 Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives
    672 priority to errors such as EACCES over EEXIST.
    673 
    674 ..
    675 
    676 .. bpo: 29861
    677 .. date: 043
    678 .. nonce: t2ZoRK
    679 .. section: Library
    680 
    681 Release references to tasks, their arguments and their results as soon as
    682 they are finished in multiprocessing.Pool.
    683 
    684 ..
    685 
    686 .. bpo: 29884
    687 .. date: 042
    688 .. nonce: kWXR8W
    689 .. section: Library
    690 
    691 faulthandler: Restore the old sigaltstack during teardown. Patch by
    692 Christophe Zeitouny.
    693 
    694 ..
    695 
    696 .. bpo: 25455
    697 .. date: 041
    698 .. nonce: ZsahHN
    699 .. section: Library
    700 
    701 Fixed 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 
    710 Fix crashes in partial.__repr__ if the keys of partial.keywords are not
    711 strings.  Patch by Michael Seifert.
    712 
    713 ..
    714 
    715 .. bpo: 29742
    716 .. date: 039
    717 .. nonce: 8hqfEO
    718 .. section: Library
    719 
    720 get_extra_info() raises exception if get called on closed ssl transport.
    721 Patch by Nikolay Kim.
    722 
    723 ..
    724 
    725 .. bpo: 8256
    726 .. date: 038
    727 .. nonce: jAwGQH
    728 .. section: Library
    729 
    730 Fixed 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 
    740 Fix 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 
    750 SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to
    751 exception(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 
    760 asyncio.subprocess.SubprocessStreamProtocol no longer closes before all
    761 pipes are closed.
    762 
    763 ..
    764 
    765 .. bpo: 29703
    766 .. date: 034
    767 .. nonce: ZdsPCR
    768 .. section: Library
    769 
    770 Fix 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 
    779 Fix assertion error in threading._DummyThread.is_alive().
    780 
    781 ..
    782 
    783 .. bpo: 29110
    784 .. date: 032
    785 .. nonce: wmE-_T
    786 .. section: Library
    787 
    788 Fix file object leak in aifc.open() when file is given as a filesystem path
    789 and 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 
    798 Fix unittest.mock._Call helper: don't ignore the name parameter anymore.
    799 Patch written by Jiajun Huang.
    800 
    801 ..
    802 
    803 .. bpo: 29532
    804 .. date: 030
    805 .. nonce: YCwVQn
    806 .. section: Library
    807 
    808 Altering a kwarg dictionary passed to functools.partial() no longer affects
    809 a partial object after creation.
    810 
    811 ..
    812 
    813 .. bpo: 28556
    814 .. date: 029
    815 .. nonce: p6967e
    816 .. section: Library
    817 
    818 Various updates to typing module: typing.Counter, typing.ChainMap, improved
    819 ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel
    820 Krebber, and ukasz Langa.
    821 
    822 ..
    823 
    824 .. bpo: 29100
    825 .. date: 028
    826 .. nonce: LAAERS
    827 .. section: Library
    828 
    829 Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check
    830 minimum and maximum years.
    831 
    832 ..
    833 
    834 .. bpo: 29519
    835 .. date: 027
    836 .. nonce: oGGgZ4
    837 .. section: Library
    838 
    839 Fix weakref spewing exceptions during interpreter shutdown when used with a
    840 rare combination of multiprocessing and custom codecs.
    841 
    842 ..
    843 
    844 .. bpo: 29416
    845 .. date: 026
    846 .. nonce: KJGyI_
    847 .. section: Library
    848 
    849 Prevent infinite loop in pathlib.Path.mkdir
    850 
    851 ..
    852 
    853 .. bpo: 29444
    854 .. date: 025
    855 .. nonce: cEwgmk
    856 .. section: Library
    857 
    858 Fixed out-of-bounds buffer access in the group() method of the match object.
    859 Based on patch by WGH.
    860 
    861 ..
    862 
    863 .. bpo: 29335
    864 .. date: 024
    865 .. nonce: _KC7IK
    866 .. section: Library
    867 
    868 Fix subprocess.Popen.wait() when the child process has exited to a stopped
    869 instead of terminated state (ex: when under ptrace).
    870 
    871 ..
    872 
    873 .. bpo: 29290
    874 .. date: 023
    875 .. nonce: XBqptF
    876 .. section: Library
    877 
    878 Fix a regression in argparse that help messages would wrap at non-breaking
    879 spaces.
    880 
    881 ..
    882 
    883 .. bpo: 28735
    884 .. date: 022
    885 .. nonce: admHLO
    886 .. section: Library
    887 
    888 Fixed the comparison of mock.MagickMock with mock.ANY.
    889 
    890 ..
    891 
    892 .. bpo: 29011
    893 .. date: 021
    894 .. nonce: MI5f2R
    895 .. section: Library
    896 
    897 Fix 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 
    906 Fixed 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 
    915 Fixed race condition in C implementation of functools.lru_cache. KeyError
    916 could be raised when cached function with full cache was simultaneously
    917 called from differen threads with the same uncached arguments.
    918 
    919 ..
    920 
    921 .. bpo: 29142
    922 .. date: 018
    923 .. nonce: xo6kAv
    924 .. section: Library
    925 
    926 In urllib.request, suffixes in no_proxy environment variable with leading
    927 dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by
    928 Milan Oberkirch.
    929 
    930 ..
    931 
    932 .. bpo: 30176
    933 .. date: 013
    934 .. nonce: VivmCg
    935 .. section: Documentation
    936 
    937 Add missing attribute related constants in curses documentation.
    938 
    939 ..
    940 
    941 .. bpo: 26985
    942 .. date: 012
    943 .. nonce: NB5_9S
    944 .. section: Documentation
    945 
    946 Add missing info of code object in inspect documentation.
    947 
    948 ..
    949 
    950 .. bpo: 28929
    951 .. date: 011
    952 .. nonce: Md7kb0
    953 .. section: Documentation
    954 
    955 Link the documentation to its source file on GitHub.
    956 
    957 ..
    958 
    959 .. bpo: 25008
    960 .. date: 010
    961 .. nonce: CeIzyU
    962 .. section: Documentation
    963 
    964 Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a
    965 third-party asyncio-based replacement.
    966 
    967 ..
    968 
    969 .. bpo: 26355
    970 .. date: 009
    971 .. nonce: SDq_8Y
    972 .. section: Documentation
    973 
    974 Add canonical header link on each page to corresponding major version of the
    975 documentation. Patch by Matthias Bussonnier.
    976 
    977 ..
    978 
    979 .. bpo: 29349
    980 .. date: 008
    981 .. nonce: PjSo-t
    982 .. section: Documentation
    983 
    984 Fix 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 
    993 Fix regrtest command line parser to allow passing -u extralargefile to run
    994 test_zipfile64.
    995 
    996 ..
    997 
    998 .. bpo: 30383
    999 .. date: 2017-06-27-13-52-43
   1000 .. nonce: rCmrv7
   1001 .. section: Tests
   1002 
   1003 regrtest: Enhance regrtest and backport features from the master branch.
   1004 
   1005 Add options: --coverage, --testdir, --list-tests (list test files, don't run
   1006 them), --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 
   1010 Enhance output: add timestamp, test result, currently running tests, "Tests
   1011 result: xxx" summary with total duration, etc.
   1012 
   1013 Fix reference leak hunting in regrtest, --huntrleaks: regrtest now warms up
   1014 caches, create explicitly all internal singletons which are created on
   1015 demand 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 
   1025 test_thread: setUp() now uses support.threading_setup() and
   1026 support.threading_cleanup() to wait until threads complete to avoid random
   1027 side 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 
   1036 Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of
   1037 select.poll when running on macOS due to unresolved issues with the
   1038 underlying system poll function on some macOS versions.
   1039 
   1040 ..
   1041 
   1042 .. bpo: 30197
   1043 .. date: 002
   1044 .. nonce: c5wRfu
   1045 .. section: Tests
   1046 
   1047 Enhanced functions swap_attr() and swap_item() in the test.support module.
   1048 They now work when delete replaced attribute or item inside the with
   1049 statement.  The old value of the attribute or item (or None if it doesn't
   1050 exist) now will be assigned to the target of the "as" clause, if there is
   1051 one.
   1052 
   1053 ..
   1054 
   1055 .. bpo: 29571
   1056 .. date: 001
   1057 .. nonce: r6Dixr
   1058 .. section: Tests
   1059 
   1060 to match the behaviour of the ``re.LOCALE`` flag, test_re.test_locale_flag
   1061 now uses ``locale.getpreferredencoding(False)`` to determine the candidate
   1062 encoding for the test regex (allowing it to correctly skip the test when the
   1063 default locale encoding is a multi-byte encoding)
   1064 
   1065 ..
   1066 
   1067 .. bpo: 29243
   1068 .. date: 007
   1069 .. nonce: WDK4hT
   1070 .. section: Build
   1071 
   1072 Prevent unnecessary rebuilding of Python during ``make test``, ``make
   1073 install`` 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 
   1083 Don't regenerate generated files based on file modification time anymore:
   1084 the 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 
   1093 Fix ``--enable-optimization`` didn't work.
   1094 
   1095 ..
   1096 
   1097 .. bpo: 30687
   1098 .. date: 017
   1099 .. nonce: 8mqHnu
   1100 .. section: Windows
   1101 
   1102 Locate 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 
   1111 Prevent 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 
   1120 Function PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API
   1121 is set to the value between 0x03050400 and 0x03060000 (not including) or
   1122 0x03060100 or higher.
   1123 
   1124 ..
   1125 
   1126 .. bpo: 29083
   1127 .. date: 014
   1128 .. nonce: tGTjr_
   1129 .. section: C API
   1130 
   1131 Fixed the declaration of some public API functions. PyArg_VaParse() and
   1132 PyArg_VaParseTupleAndKeywords() were not available in limited API.
   1133 PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue()
   1134 were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is
   1135 defined.
   1136