Home | History | Annotate | Download | only in NEWS.d
      1 .. bpo: 31975
      2 .. date: 2018-01-05-20-54-27
      3 .. nonce: AmftlU
      4 .. release date: 2018-01-08
      5 .. section: Core and Builtins
      6 
      7 The default warning filter list now starts with a
      8 "default::DeprecationWarning:__main__" entry, so deprecation warnings are
      9 once again shown by default in single-file scripts and at the interactive
     10 prompt.
     11 
     12 ..
     13 
     14 .. bpo: 32226
     15 .. date: 2018-01-04-15-06-15
     16 .. nonce: 7cAvRG
     17 .. section: Core and Builtins
     18 
     19 ``__class_getitem__`` is now an automatic class method.
     20 
     21 ..
     22 
     23 .. bpo: 32399
     24 .. date: 2017-12-22-13-38-17
     25 .. nonce: wlH12z
     26 .. section: Core and Builtins
     27 
     28 Add AIX uuid library support for RFC4122 using uuid_create() in libc.a
     29 
     30 ..
     31 
     32 .. bpo: 32390
     33 .. date: 2017-12-22-13-28-07
     34 .. nonce: QPj083
     35 .. section: Core and Builtins
     36 
     37 Fix the compilation failure on AIX after the f_fsid field has been added to
     38 the object returned by os.statvfs() (issue #32143). Original patch by
     39 Michael Felt.
     40 
     41 ..
     42 
     43 .. bpo: 32379
     44 .. date: 2017-12-19-21-14-41
     45 .. nonce: B7mOmI
     46 .. section: Core and Builtins
     47 
     48 Make MRO computation faster when a class inherits from a single base.
     49 
     50 ..
     51 
     52 .. bpo: 32259
     53 .. date: 2017-12-16-14-30-21
     54 .. nonce: GoOJiX
     55 .. section: Core and Builtins
     56 
     57 The error message of a TypeError raised when unpack non-iterable is now more
     58 specific.
     59 
     60 ..
     61 
     62 .. bpo: 27169
     63 .. date: 2017-12-15-11-50-06
     64 .. nonce: VO84fQ
     65 .. section: Core and Builtins
     66 
     67 The ``__debug__`` constant is now optimized out at compile time. This fixes
     68 also bpo-22091.
     69 
     70 ..
     71 
     72 .. bpo: 32329
     73 .. date: 2017-12-15-00-13-04
     74 .. nonce: q47IN2
     75 .. section: Core and Builtins
     76 
     77 The :option:`-R` option now turns on hash randomization when the
     78 :envvar:`PYTHONHASHSEED` environment variable is set to ``0``. Previously,
     79 the option was ignored. Moreover, ``sys.flags.hash_randomization`` is now
     80 properly set to 0 when hash randomization is turned off by
     81 ``PYTHONHASHSEED=0``.
     82 
     83 ..
     84 
     85 .. bpo: 30416
     86 .. date: 2017-12-14-11-48-19
     87 .. nonce: hlHo_9
     88 .. section: Core and Builtins
     89 
     90 The optimizer is now protected from spending much time doing complex
     91 calculations and consuming much memory for creating large constants in
     92 constant folding. Increased limits for constants that can be produced in
     93 constant folding.
     94 
     95 ..
     96 
     97 .. bpo: 32282
     98 .. date: 2017-12-12-14-02-28
     99 .. nonce: xFVMTn
    100 .. section: Core and Builtins
    101 
    102 Fix an unnecessary ifdef in the include of VersionHelpers.h in socketmodule
    103 on Windows.
    104 
    105 ..
    106 
    107 .. bpo: 30579
    108 .. date: 2017-12-11-01-52-42
    109 .. nonce: X6cEzf
    110 .. section: Core and Builtins
    111 
    112 Implement TracebackType.__new__ to allow Python-level creation of traceback
    113 objects, and make TracebackType.tb_next mutable.
    114 
    115 ..
    116 
    117 .. bpo: 32260
    118 .. date: 2017-12-09-11-03-51
    119 .. nonce: 1DAO-p
    120 .. section: Core and Builtins
    121 
    122 Don't byte swap the input keys to the SipHash algorithm on big-endian
    123 platforms. This should ensure siphash gives consistent results across
    124 platforms.
    125 
    126 ..
    127 
    128 .. bpo: 31506
    129 .. date: 2017-12-07-23-44-29
    130 .. nonce: j1U2fU
    131 .. section: Core and Builtins
    132 
    133 Improve the error message logic for object.__new__ and object.__init__.
    134 Patch by Sanyam Khurana.
    135 
    136 ..
    137 
    138 .. bpo: 20361
    139 .. date: 2017-12-07-17-22-30
    140 .. nonce: zQUmbi
    141 .. section: Core and Builtins
    142 
    143 ``-b`` and ``-bb`` now inject ``'default::BytesWarning'`` and
    144 ``error::BytesWarning`` entries into ``sys.warnoptions``, ensuring that they
    145 take precedence over any other warning filters configured via the ``-W``
    146 option or the ``PYTHONWARNINGS`` environment variable.
    147 
    148 ..
    149 
    150 .. bpo: 32230
    151 .. date: 2017-12-06-20-18-34
    152 .. nonce: PgGQaB
    153 .. section: Core and Builtins
    154 
    155 `-X dev` now injects a ``'default'`` entry into sys.warnoptions, ensuring
    156 that it behaves identically to actually passing ``-Wdefault`` at the command
    157 line.
    158 
    159 ..
    160 
    161 .. bpo: 29240
    162 .. date: 2017-12-05-23-10-58
    163 .. nonce: qpJP5l
    164 .. section: Core and Builtins
    165 
    166 Add a new UTF-8 mode: implementation of the :pep:`540`.
    167 
    168 ..
    169 
    170 .. bpo: 32226
    171 .. date: 2017-12-05-21-42-58
    172 .. nonce: G8fqb6
    173 .. section: Core and Builtins
    174 
    175 :pep:`560`: Add support for ``__mro_entries__`` and ``__class_getitem__``. Implemented
    176 by Ivan Levkivskyi.
    177 
    178 ..
    179 
    180 .. bpo: 32225
    181 .. date: 2017-12-05-21-33-47
    182 .. nonce: ucKjvw
    183 .. section: Core and Builtins
    184 
    185 :pep:`562`: Add support for module ``__getattr__`` and ``__dir__``. Implemented
    186 by Ivan Levkivskyi.
    187 
    188 ..
    189 
    190 .. bpo: 31901
    191 .. date: 2017-11-28-15-04-14
    192 .. nonce: mDeCLK
    193 .. section: Core and Builtins
    194 
    195 The `atexit` module now has its callback stored per interpreter.
    196 
    197 ..
    198 
    199 .. bpo: 31650
    200 .. date: 2017-11-26-14-38-44
    201 .. nonce: JWf_Im
    202 .. section: Core and Builtins
    203 
    204 Implement :pep:`552` (Deterministic pycs). Python now supports invalidating
    205 bytecode cache files bashed on a source content hash rather than source
    206 last-modified time.
    207 
    208 ..
    209 
    210 .. bpo: 29469
    211 .. date: 2017-07-26-00-20-15
    212 .. nonce: potmyI
    213 .. section: Core and Builtins
    214 
    215 Move constant folding from bytecode layer to AST layer. Original patch by
    216 Eugene Toder.
    217 
    218 ..
    219 
    220 .. bpo: 32506
    221 .. date: 2018-01-07-11-32-42
    222 .. nonce: MaT-zU
    223 .. section: Library
    224 
    225 Now that dict is defined as keeping insertion order, drop OrderedDict and
    226 just use plain dict.
    227 
    228 ..
    229 
    230 .. bpo: 32279
    231 .. date: 2018-01-06-16-50-11
    232 .. nonce: 1xOpU8
    233 .. section: Library
    234 
    235 Add params to dataclasses.make_dataclasses(): init, repr, eq, order, hash,
    236 and frozen.  Pass them through to dataclass().
    237 
    238 ..
    239 
    240 .. bpo: 32278
    241 .. date: 2018-01-06-15-15-34
    242 .. nonce: bGnGc0
    243 .. section: Library
    244 
    245 Make type information optional on dataclasses.make_dataclass(). If omitted,
    246 the string 'typing.Any' is used.
    247 
    248 ..
    249 
    250 .. bpo: 32499
    251 .. date: 2018-01-06-10-54-16
    252 .. nonce: koyY-4
    253 .. section: Library
    254 
    255 Add dataclasses.is_dataclass(obj), which returns True if obj is a dataclass
    256 or an instance of one.
    257 
    258 ..
    259 
    260 .. bpo: 32468
    261 .. date: 2017-12-31-20-32-58
    262 .. nonce: YBs__0
    263 .. section: Library
    264 
    265 Improve frame repr() to mention filename, code name and current line number.
    266 
    267 ..
    268 
    269 .. bpo: 23749
    270 .. date: 2017-12-29-00-44-42
    271 .. nonce: QL1Cxd
    272 .. section: Library
    273 
    274 asyncio: Implement loop.start_tls()
    275 
    276 ..
    277 
    278 .. bpo: 32441
    279 .. date: 2017-12-28-21-30-40
    280 .. nonce: LqlboJ
    281 .. section: Library
    282 
    283 Return the new file descriptor (i.e., the second argument) from ``os.dup2``.
    284 Previously, ``None`` was always returned.
    285 
    286 ..
    287 
    288 .. bpo: 32422
    289 .. date: 2017-12-25-20-22-47
    290 .. nonce: 5H3Wq2
    291 .. section: Library
    292 
    293 ``functools.lru_cache`` uses less memory (3 words for each cached key) and
    294 takes about 1/3 time for cyclic GC.
    295 
    296 ..
    297 
    298 .. bpo: 31721
    299 .. date: 2017-12-25-11-09-46
    300 .. nonce: 5gM972
    301 .. section: Library
    302 
    303 Prevent Python crash from happening when Future._log_traceback is set to
    304 True manually.  Now it can only be set to False, or a ValueError is raised.
    305 
    306 ..
    307 
    308 .. bpo: 32415
    309 .. date: 2017-12-23-12-45-00
    310 .. nonce: YufXTU
    311 .. section: Library
    312 
    313 asyncio: Add Task.get_loop() and Future.get_loop()
    314 
    315 ..
    316 
    317 .. bpo: 26133
    318 .. date: 2017-12-21-11-08-42
    319 .. nonce: mt81QV
    320 .. section: Library
    321 
    322 Don't unsubscribe signals in asyncio UNIX event loop on interpreter
    323 shutdown.
    324 
    325 ..
    326 
    327 .. bpo: 32363
    328 .. date: 2017-12-19-00-37-28
    329 .. nonce: YTeGU0
    330 .. section: Library
    331 
    332 Make asyncio.Task.set_exception() and set_result() raise
    333 NotImplementedError. Task._step() and Future.__await__() raise proper
    334 exceptions when they are in an invalid state, instead of raising an
    335 AssertionError.
    336 
    337 ..
    338 
    339 .. bpo: 32357
    340 .. date: 2017-12-18-00-36-41
    341 .. nonce: t1F3sn
    342 .. section: Library
    343 
    344 Optimize asyncio.iscoroutine() and loop.create_task() for non-native
    345 coroutines (e.g. async/await compiled with Cython).
    346 
    347 'loop.create_task(python_coroutine)' used to be 20% faster than
    348 'loop.create_task(cython_coroutine)'.  Now, the latter is as fast.
    349 
    350 ..
    351 
    352 .. bpo: 32356
    353 .. date: 2017-12-17-22-50-51
    354 .. nonce: roZJpA
    355 .. section: Library
    356 
    357 asyncio.transport.resume_reading() and pause_reading() are now idempotent.
    358 New transport.is_reading() method is added.
    359 
    360 ..
    361 
    362 .. bpo: 32355
    363 .. date: 2017-12-17-21-42-24
    364 .. nonce: tbaTWA
    365 .. section: Library
    366 
    367 Optimize asyncio.gather(); now up to 15% faster.
    368 
    369 ..
    370 
    371 .. bpo: 32351
    372 .. date: 2017-12-17-14-23-23
    373 .. nonce: 95fh2K
    374 .. section: Library
    375 
    376 Use fastpath in asyncio.sleep if delay<0 (2x boost)
    377 
    378 ..
    379 
    380 .. bpo: 32348
    381 .. date: 2017-12-16-18-50-57
    382 .. nonce: 5j__he
    383 .. section: Library
    384 
    385 Optimize asyncio.Future schedule/add/remove callback.  The optimization
    386 shows 3-6% performance improvements of async/await code.
    387 
    388 ..
    389 
    390 .. bpo: 32331
    391 .. date: 2017-12-15-23-48-43
    392 .. nonce: fIg1Uc
    393 .. section: Library
    394 
    395 Fix socket.settimeout() and socket.setblocking() to keep socket.type as is.
    396 Fix socket.socket() constructor to reset any bit flags applied to socket's
    397 type.  This change only affects OSes that have SOCK_NONBLOCK and/or
    398 SOCK_CLOEXEC.
    399 
    400 ..
    401 
    402 .. bpo: 32248
    403 .. date: 2017-12-15-15-34-12
    404 .. nonce: zmO8G2
    405 .. section: Library
    406 
    407 Add :class:`importlib.abc.ResourceReader` as an ABC for loaders to provide a
    408 unified API for reading resources contained within packages.  Also add
    409 :mod:`importlib.resources` as the port of ``importlib_resources``.
    410 
    411 ..
    412 
    413 .. bpo: 32311
    414 .. date: 2017-12-14-17-28-54
    415 .. nonce: DL5Ytn
    416 .. section: Library
    417 
    418 Implement asyncio.create_task(coro) shortcut
    419 
    420 ..
    421 
    422 .. bpo: 32327
    423 .. date: 2017-12-14-16-00-25
    424 .. nonce: bbkSxA
    425 .. section: Library
    426 
    427 Convert asyncio functions that were documented as coroutines to coroutines.
    428 Affected functions: loop.sock_sendall, loop.sock_recv, loop.sock_accept,
    429 loop.getaddrinfo, loop.getnameinfo.
    430 
    431 ..
    432 
    433 .. bpo: 32323
    434 .. date: 2017-12-14-10-10-10
    435 .. nonce: ideco
    436 .. section: Library
    437 
    438 :func:`urllib.parse.urlsplit()` does not convert zone-id (scope) to lower
    439 case for scoped IPv6 addresses in hostnames now.
    440 
    441 ..
    442 
    443 .. bpo: 32302
    444 .. date: 2017-12-13-22-38-08
    445 .. nonce: othtTr
    446 .. section: Library
    447 
    448 Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT
    449 v140.
    450 
    451 ..
    452 
    453 .. bpo: 29711
    454 .. date: 2017-12-13-22-10-36
    455 .. nonce: hJjghA
    456 .. section: Library
    457 
    458 Fix ``stop_serving`` in asyncio proactor loop kill all listening servers
    459 
    460 ..
    461 
    462 .. bpo: 32308
    463 .. date: 2017-12-13-20-31-30
    464 .. nonce: CUbsb2
    465 .. section: Library
    466 
    467 :func:`re.sub()` now replaces empty matches adjacent to a previous non-empty
    468 match.
    469 
    470 ..
    471 
    472 .. bpo: 29970
    473 .. date: 2017-12-13-19-02-38
    474 .. nonce: uxVOpk
    475 .. section: Library
    476 
    477 Abort asyncio SSLProtocol connection if handshake not complete within 10s
    478 
    479 ..
    480 
    481 .. bpo: 32314
    482 .. date: 2017-12-13-16-47-38
    483 .. nonce: W4_U2j
    484 .. section: Library
    485 
    486 Implement asyncio.run().
    487 
    488 ..
    489 
    490 .. bpo: 17852
    491 .. date: 2017-12-13-00-00-37
    492 .. nonce: Q8BP8N
    493 .. section: Library
    494 
    495 Revert incorrect fix based on misunderstanding of _Py_PyAtExit() semantics.
    496 
    497 ..
    498 
    499 .. bpo: 32296
    500 .. date: 2017-12-12-18-01-01
    501 .. nonce: bwscHz
    502 .. section: Library
    503 
    504 Implement asyncio._get_running_loop() and get_event_loop() in C. This makes
    505 them 4x faster.
    506 
    507 ..
    508 
    509 .. bpo: 32250
    510 .. date: 2017-12-12-16-58-20
    511 .. nonce: UljTa0
    512 .. section: Library
    513 
    514 Implement ``asyncio.current_task()`` and ``asyncio.all_tasks()``. Add
    515 helpers intended to be used by alternative task implementations:
    516 ``asyncio._register_task``, ``asyncio._enter_task``, ``asyncio._leave_task``
    517 and ``asyncio._unregister_task``. Deprecate ``asyncio.Task.current_task()``
    518 and ``asyncio.Task.all_tasks()``.
    519 
    520 ..
    521 
    522 .. bpo: 32255
    523 .. date: 2017-12-12-07-29-06
    524 .. nonce: 2bfNmM
    525 .. section: Library
    526 
    527 A single empty field is now always quoted when written into a CSV file. This
    528 allows to distinguish an empty row from a row consisting of a single empty
    529 field. Patch by Licht Takeuchi.
    530 
    531 ..
    532 
    533 .. bpo: 32277
    534 .. date: 2017-12-11-09-53-14
    535 .. nonce: jkKiVC
    536 .. section: Library
    537 
    538 Raise ``NotImplementedError`` instead of ``SystemError`` on platforms where
    539 ``chmod(..., follow_symlinks=False)`` is not supported.  Patch by Anthony
    540 Sottile.
    541 
    542 ..
    543 
    544 .. bpo: 30050
    545 .. date: 2017-12-10-23-44-56
    546 .. nonce: 4SZ3lY
    547 .. section: Library
    548 
    549 New argument warn_on_full_buffer to signal.set_wakeup_fd lets you control
    550 whether Python prints a warning on stderr when the wakeup fd buffer
    551 overflows.
    552 
    553 ..
    554 
    555 .. bpo: 29137
    556 .. date: 2017-12-10-21-19-14
    557 .. nonce: CFcON1
    558 .. section: Library
    559 
    560 The ``fpectl`` library has been removed. It was never enabled by default,
    561 never worked correctly on x86-64, and it changed the Python ABI in ways that
    562 caused unexpected breakage of C extensions.
    563 
    564 ..
    565 
    566 .. bpo: 32273
    567 .. date: 2017-12-10-19-14-55
    568 .. nonce: 5KKlCv
    569 .. section: Library
    570 
    571 Move asyncio.test_utils to test.test_asyncio.
    572 
    573 ..
    574 
    575 .. bpo: 32272
    576 .. date: 2017-12-10-18-59-13
    577 .. nonce: Mu84Am
    578 .. section: Library
    579 
    580 Remove asyncio.async() function.
    581 
    582 ..
    583 
    584 .. bpo: 32269
    585 .. date: 2017-12-10-12-30-13
    586 .. nonce: Q85pKj
    587 .. section: Library
    588 
    589 Add asyncio.get_running_loop() function.
    590 
    591 ..
    592 
    593 .. bpo: 32265
    594 .. date: 2017-12-10-00-57-51
    595 .. nonce: kELtTE
    596 .. section: Library
    597 
    598 All class and static methods of builtin types now are correctly classified
    599 by inspect.classify_class_attrs() and grouped in pydoc ouput. Added
    600 types.ClassMethodDescriptorType for unbound class methods of builtin types.
    601 
    602 ..
    603 
    604 .. bpo: 32253
    605 .. date: 2017-12-09-11-30-35
    606 .. nonce: TQHSYF
    607 .. section: Library
    608 
    609 Deprecate ``yield from lock``, ``await lock``, ``with (yield from lock)``
    610 and ``with await lock`` for asyncio synchronization primitives.
    611 
    612 ..
    613 
    614 .. bpo: 22589
    615 .. date: 2017-12-08-15-09-41
    616 .. nonce: 8ouqI6
    617 .. section: Library
    618 
    619 Changed MIME type of .bmp from 'image/x-ms-bmp' to 'image/bmp'
    620 
    621 ..
    622 
    623 .. bpo: 32193
    624 .. date: 2017-12-08-11-02-26
    625 .. nonce: NJe_TQ
    626 .. section: Library
    627 
    628 Convert asyncio to use *async/await* syntax. Old styled ``yield from`` is
    629 still supported too.
    630 
    631 ..
    632 
    633 .. bpo: 32206
    634 .. date: 2017-12-07-13-14-40
    635 .. nonce: obm4OM
    636 .. section: Library
    637 
    638 Add support to run modules with pdb
    639 
    640 ..
    641 
    642 .. bpo: 32227
    643 .. date: 2017-12-05-13-25-15
    644 .. nonce: 3vnWFS
    645 .. section: Library
    646 
    647 ``functools.singledispatch`` now supports registering implementations using
    648 type annotations.
    649 
    650 ..
    651 
    652 .. bpo: 15873
    653 .. date: 2017-12-04-17-41-40
    654 .. nonce: -T4TRK
    655 .. section: Library
    656 
    657 Added new alternate constructors :meth:`datetime.datetime.fromisoformat`,
    658 :meth:`datetime.time.fromisoformat` and :meth:`datetime.date.fromisoformat`
    659 as the inverse operation of each classes's respective ``isoformat`` methods.
    660 
    661 ..
    662 
    663 .. bpo: 32199
    664 .. date: 2017-12-04-12-23-26
    665 .. nonce: nGof4v
    666 .. section: Library
    667 
    668 The getnode() ip getter now uses 'ip link' instead of 'ip link list'.
    669 
    670 ..
    671 
    672 .. bpo: 32143
    673 .. date: 2017-11-26-17-28-26
    674 .. nonce: o7YdXL
    675 .. section: Library
    676 
    677 os.statvfs() includes the f_fsid field from statvfs(2)
    678 
    679 ..
    680 
    681 .. bpo: 26439
    682 .. date: 2017-11-24-08-35-43
    683 .. nonce: IC45_f
    684 .. section: Library
    685 
    686 Fix ctypes.util.find_library() for AIX by implementing
    687 ctypes._aix.find_library() Patch by: Michael Felt
    688 
    689 ..
    690 
    691 .. bpo: 31993
    692 .. date: 2017-11-10-00-05-08
    693 .. nonce: -OMNg8
    694 .. section: Library
    695 
    696 The pickler now uses less memory when serializing large bytes and str
    697 objects into a file.  Pickles created with protocol 4 will require less
    698 memory for unpickling large bytes and str objects.
    699 
    700 ..
    701 
    702 .. bpo: 27456
    703 .. date: 2017-11-02-11-57-41
    704 .. nonce: snzyTC
    705 .. section: Library
    706 
    707 Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.
    708 
    709 ..
    710 
    711 .. bpo: 31778
    712 .. date: 2017-10-18-17-29-30
    713 .. nonce: B6vAkP
    714 .. section: Library
    715 
    716 ast.literal_eval() is now more strict. Addition and subtraction of arbitrary
    717 numbers no longer allowed.
    718 
    719 ..
    720 
    721 .. bpo: 31802
    722 .. date: 2017-10-17-14-52-14
    723 .. nonce: sYj2Zv
    724 .. section: Library
    725 
    726 Importing native path module (``posixpath``, ``ntpath``) now works even if
    727 the ``os`` module still is not imported.
    728 
    729 ..
    730 
    731 .. bpo: 30241
    732 .. date: 2017-10-10-18-56-46
    733 .. nonce: F_go20
    734 .. section: Library
    735 
    736 Add contextlib.AbstractAsyncContextManager. Patch by Jelle Zijlstra.
    737 
    738 ..
    739 
    740 .. bpo: 31699
    741 .. date: 2017-10-05-11-06-32
    742 .. nonce: MF47Y6
    743 .. section: Library
    744 
    745 Fix deadlocks in :class:`concurrent.futures.ProcessPoolExecutor` when task
    746 arguments or results cause pickling or unpickling errors. This should make
    747 sure that calls to the :class:`ProcessPoolExecutor` API always eventually
    748 return.
    749 
    750 ..
    751 
    752 .. bpo: 15216
    753 .. date: 2017-09-16-02-56-33
    754 .. nonce: lqXCTT
    755 .. section: Library
    756 
    757 ``TextIOWrapper.reconfigure()`` supports changing *encoding*, *errors*, and
    758 *newline*.
    759 
    760 ..
    761 
    762 .. bpo: 32418
    763 .. date: 2017-12-24-17-29-37
    764 .. nonce: eZe-ID
    765 .. section: Documentation
    766 
    767 Add get_loop() method to Server and AbstractServer classes.
    768 
    769 ..
    770 
    771 .. bpo: 32252
    772 .. date: 2017-12-11-13-31-33
    773 .. nonce: YnFw7J
    774 .. section: Tests
    775 
    776 Fix faulthandler_suppress_crash_report() used to prevent core dump files
    777 when testing crashes. getrlimit() returns zero on success.
    778 
    779 ..
    780 
    781 .. bpo: 32002
    782 .. date: 2017-11-11-16-35-18
    783 .. nonce: itDxIo
    784 .. section: Tests
    785 
    786 Adjust C locale coercion testing for the empty locale and POSIX locale cases
    787 to more readily adjust to platform dependent behaviour.
    788 
    789 ..
    790 
    791 .. bpo: 19764
    792 .. date: 2017-08-18-18-00-24
    793 .. nonce: ODpc9y
    794 .. section: Windows
    795 
    796 Implement support for `subprocess.Popen(close_fds=True)` on Windows. Patch
    797 by Segev Finer.
    798 
    799 ..
    800 
    801 .. bpo: 24960
    802 .. date: 2017-12-22-09-25-51
    803 .. nonce: TGdAgO
    804 .. section: Tools/Demos
    805 
    806 2to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data()
    807 rather than probing the filesystem. This lets 2to3 and lib2to3 work when run
    808 from a zipfile.
    809 
    810 ..
    811 
    812 .. bpo: 32030
    813 .. date: 2017-12-20-23-22-32
    814 .. nonce: d1dcwh
    815 .. section: C API
    816 
    817 Py_Initialize() doesn't reset the memory allocators to default if the
    818 ``PYTHONMALLOC`` environment variable is not set.
    819 
    820 ..
    821 
    822 .. bpo: 29084
    823 .. date: 2017-12-16-09-59-35
    824 .. nonce: ZGJ-LJ
    825 .. section: C API
    826 
    827 Undocumented C API for OrderedDict has been excluded from the limited C API.
    828 It was added by mistake and actually never worked in the limited C API.
    829 
    830 ..
    831 
    832 .. bpo: 32264
    833 .. date: 2017-12-12-23-09-46
    834 .. nonce: ahRlOI
    835 .. section: C API
    836 
    837 Moved the pygetopt.h header into internal/, since it has no public APIs.
    838 
    839 ..
    840 
    841 .. bpo: 32241
    842 .. date: 2017-12-07-15-58-15
    843 .. nonce: LbyQt6
    844 .. section: C API
    845 
    846 :c:func:`Py_SetProgramName` and :c:func:`Py_SetPythonHome` now take the
    847 ``const wchar *`` arguments instead of ``wchar *``.
    848