Home | History | Annotate | Download | only in NEWS.d
      1 .. bpo: 32176
      2 .. date: 2017-12-02-21-37-22
      3 .. nonce: Wt25-N
      4 .. release date: 2017-12-05
      5 .. section: Core and Builtins
      6 
      7 co_flags.CO_NOFREE is now always set correctly by the code object
      8 constructor based on freevars and cellvars, rather than needing to be set
      9 correctly by the caller. This ensures it will be cleared automatically when
     10 additional cell references are injected into a modified code object and
     11 function.
     12 
     13 ..
     14 
     15 .. bpo: 10544
     16 .. date: 2017-11-27-08-37-34
     17 .. nonce: 07nioT
     18 .. section: Core and Builtins
     19 
     20 Yield expressions are now deprecated in comprehensions and generator
     21 expressions. They are still permitted in the definition of the outermost
     22 iterable, as that is evaluated directly in the enclosing scope.
     23 
     24 ..
     25 
     26 .. bpo: 32137
     27 .. date: 2017-11-26-14-36-30
     28 .. nonce: Stj5nL
     29 .. section: Core and Builtins
     30 
     31 The repr of deeply nested dict now raises a RecursionError instead of
     32 crashing due to a stack overflow.
     33 
     34 ..
     35 
     36 .. bpo: 32096
     37 .. date: 2017-11-24-01-13-58
     38 .. nonce: CQTHXJ
     39 .. section: Core and Builtins
     40 
     41 Revert memory allocator changes in the C API: move structures back from
     42 _PyRuntime to Objects/obmalloc.c. The memory allocators are once again
     43 initialized statically, and so PyMem_RawMalloc() and Py_DecodeLocale() can
     44 be called before _PyRuntime_Initialize().
     45 
     46 ..
     47 
     48 .. bpo: 32043
     49 .. date: 2017-11-16-03-44-08
     50 .. nonce: AAzwpZ
     51 .. section: Core and Builtins
     52 
     53 Add a new "developer mode": new "-X dev" command line option to enable debug
     54 checks at runtime.
     55 
     56 ..
     57 
     58 .. bpo: 32023
     59 .. date: 2017-11-15-10-49-35
     60 .. nonce: XnCGT5
     61 .. section: Core and Builtins
     62 
     63 SyntaxError is now correctly raised when a generator expression without
     64 parenthesis is used instead of an inheritance list in a class definition.
     65 The duplication of the parentheses can be omitted only on calls.
     66 
     67 ..
     68 
     69 .. bpo: 32012
     70 .. date: 2017-11-13-00-37-11
     71 .. nonce: Kprjqe
     72 .. section: Core and Builtins
     73 
     74 SyntaxError is now correctly raised when a generator expression without
     75 parenthesis is passed as an argument, but followed by a trailing comma. A
     76 generator expression always needs to be directly inside a set of parentheses
     77 and cannot have a comma on either side.
     78 
     79 ..
     80 
     81 .. bpo: 28180
     82 .. date: 2017-11-12-11-44-22
     83 .. nonce: HQX000
     84 .. section: Core and Builtins
     85 
     86 A new internal ``_Py_SetLocaleFromEnv(category)`` helper function has been
     87 added in order to improve the consistency of behaviour across different
     88 ``libc`` implementations (e.g. Android doesn't support setting the locale
     89 from the environment by default).
     90 
     91 ..
     92 
     93 .. bpo: 31949
     94 .. date: 2017-11-05-16-11-07
     95 .. nonce: 2yNC_z
     96 .. section: Core and Builtins
     97 
     98 Fixed several issues in printing tracebacks (PyTraceBack_Print()).
     99 
    100 * Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.
    101 * Setting sys.tracebacklimit to None now causes using the default limit.
    102 * Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
    103   the limit LONG_MAX rather than the default limit.
    104 * Fixed integer overflows in the case of more than 2**31 traceback items on
    105   Windows.
    106 * Fixed output errors handling.
    107 
    108 ..
    109 
    110 .. bpo: 30696
    111 .. date: 2017-10-28-22-06-03
    112 .. nonce: lhC3HE
    113 .. section: Core and Builtins
    114 
    115 Fix the interactive interpreter looping endlessly when no memory.
    116 
    117 ..
    118 
    119 .. bpo: 20047
    120 .. date: 2017-10-28-19-11-05
    121 .. nonce: GuNAto
    122 .. section: Core and Builtins
    123 
    124 Bytearray methods partition() and rpartition() now accept only bytes-like
    125 objects as separator, as documented.  In particular they now raise TypeError
    126 rather of returning a bogus result when an integer is passed as a separator.
    127 
    128 ..
    129 
    130 .. bpo: 21720
    131 .. date: 2017-10-25-15-51-37
    132 .. nonce: BwIKLP
    133 .. section: Core and Builtins
    134 
    135 BytesWarning no longer emitted when the *fromlist* argument of
    136 ``__import__()`` or the ``__all__`` attribute of the module contain bytes
    137 instances.
    138 
    139 ..
    140 
    141 .. bpo: 31845
    142 .. date: 2017-10-24-21-27-32
    143 .. nonce: 8OS-k3
    144 .. section: Core and Builtins
    145 
    146 Environment variables are once more read correctly at interpreter startup.
    147 
    148 ..
    149 
    150 .. bpo: 28936
    151 .. date: 2017-10-23-23-39-26
    152 .. nonce: C288Jh
    153 .. section: Core and Builtins
    154 
    155 Ensure that lexically first syntax error involving a parameter and
    156 ``global`` or ``nonlocal`` is detected first at a given scope. Patch by Ivan
    157 Levkivskyi.
    158 
    159 ..
    160 
    161 .. bpo: 31825
    162 .. date: 2017-10-20-14-07-46
    163 .. nonce: gJvmGW
    164 .. section: Core and Builtins
    165 
    166 Fixed OverflowError in the 'unicode-escape' codec and in
    167 codecs.escape_decode() when decode an escaped non-ascii byte.
    168 
    169 ..
    170 
    171 .. bpo: 31618
    172 .. date: 2017-10-18-19-41-12
    173 .. nonce: liLDiS
    174 .. section: Core and Builtins
    175 
    176 The per-frame tracing logic added in 3.7a1 has been altered so that
    177 ``frame->f_lineno`` is updated before either ``"line"`` or ``"opcode"``
    178 events are emitted. Previously, opcode events were emitted first, and
    179 therefore would occasionally see stale line numbers on the frame. The
    180 behavior of this feature has changed slightly as a result: when both
    181 ``f_trace_lines`` and ``f_trace_opcodes`` are enabled, line events now occur
    182 first.
    183 
    184 ..
    185 
    186 .. bpo: 28603
    187 .. date: 2017-10-17-13-29-19
    188 .. nonce: _-oia3
    189 .. section: Core and Builtins
    190 
    191 Print the full context/cause chain of exceptions on interpreter exit, even
    192 if an exception in the chain is unhashable or compares equal to later ones.
    193 Patch by Zane Bitter.
    194 
    195 ..
    196 
    197 .. bpo: 31786
    198 .. date: 2017-10-15-23-44-57
    199 .. nonce: XwdEP4
    200 .. section: Core and Builtins
    201 
    202 Fix timeout rounding in the select module to round correctly negative
    203 timeouts between -1.0 and 0.0. The functions now block waiting for events as
    204 expected. Previously, the call was incorrectly non-blocking. Patch by Pablo
    205 Galindo.
    206 
    207 ..
    208 
    209 .. bpo: 31781
    210 .. date: 2017-10-13-20-01-47
    211 .. nonce: cXE9SM
    212 .. section: Core and Builtins
    213 
    214 Prevent crashes when calling methods of an uninitialized
    215 ``zipimport.zipimporter`` object. Patch by Oren Milman.
    216 
    217 ..
    218 
    219 .. bpo: 30399
    220 .. date: 2017-10-12-22-21-01
    221 .. nonce: 45f1gv
    222 .. section: Core and Builtins
    223 
    224 Standard repr() of BaseException with a single argument no longer contains
    225 redundant trailing comma.
    226 
    227 ..
    228 
    229 .. bpo: 31626
    230 .. date: 2017-10-01-15-48-03
    231 .. nonce: reLPxY
    232 .. section: Core and Builtins
    233 
    234 Fixed a bug in debug memory allocator.  There was a write to freed memory
    235 after shrinking a memory block.
    236 
    237 ..
    238 
    239 .. bpo: 30817
    240 .. date: 2017-07-01-15-11-13
    241 .. nonce: j7ZvN_
    242 .. section: Core and Builtins
    243 
    244 `PyErr_PrintEx()` clears now the ignored exception that may be raised by
    245 `_PySys_SetObjectId()`, for example when no memory.
    246 
    247 ..
    248 
    249 .. bpo: 28556
    250 .. date: 2017-12-05-02-03-07
    251 .. nonce: 9Z_PsJ
    252 .. section: Library
    253 
    254 Two minor fixes for ``typing`` module: allow shallow copying instances of
    255 generic classes, improve interaction of ``__init_subclass__`` with generics.
    256 Original PRs by Ivan Levkivskyi.
    257 
    258 ..
    259 
    260 .. bpo: 32214
    261 .. date: 2017-12-04-15-51-57
    262 .. nonce: uozdNj
    263 .. section: Library
    264 
    265 PEP 557, Data Classes. Provides a decorator which adds boilerplate methods
    266 to classes which use type annotations so specify fields.
    267 
    268 ..
    269 
    270 .. bpo: 27240
    271 .. date: 2017-12-02-16-06-00
    272 .. nonce: Kji34M
    273 .. section: Library
    274 
    275 The header folding algorithm for the new email policies has been rewritten,
    276 which also fixes bpo-30788, bpo-31831, and bpo-32182.  In particular,
    277 RFC2231 folding is now done correctly.
    278 
    279 ..
    280 
    281 .. bpo: 32186
    282 .. date: 2017-11-30-20-38-16
    283 .. nonce: O42bVe
    284 .. section: Library
    285 
    286 io.FileIO.readall() and io.FileIO.read() now release the GIL when getting
    287 the file size. Fixed hang of all threads with inaccessible NFS server. Patch
    288 by Nir Soffer.
    289 
    290 ..
    291 
    292 .. bpo: 321010
    293 .. date: 2017-11-29-00-42-47
    294 .. nonce: -axD5l
    295 .. section: Library
    296 
    297 Add :attr:`sys.flags.dev_mode` flag
    298 
    299 ..
    300 
    301 .. bpo: 32154
    302 .. date: 2017-11-28-15-27-10
    303 .. nonce: kDox7L
    304 .. section: Library
    305 
    306 The ``asyncio.windows_utils.socketpair()`` function has been removed: use
    307 directly :func:`socket.socketpair` which is available on all platforms since
    308 Python 3.5 (before, it wasn't available on Windows).
    309 ``asyncio.windows_utils.socketpair()`` was just an alias to
    310 ``socket.socketpair`` on Python 3.5 and newer.
    311 
    312 ..
    313 
    314 .. bpo: 32089
    315 .. date: 2017-11-27-11-29-34
    316 .. nonce: 6ydDYv
    317 .. section: Library
    318 
    319 warnings: In development (-X dev) and debug mode (pydebug build), use the
    320 "default" action for ResourceWarning, rather than the "always" action, in
    321 the default warnings filters.
    322 
    323 ..
    324 
    325 .. bpo: 32107
    326 .. date: 2017-11-26-18-48-17
    327 .. nonce: h2ph2K
    328 .. section: Library
    329 
    330 ``uuid.getnode()`` now preferentially returns universally administered MAC
    331 addresses if available, over locally administered MAC addresses.  This makes
    332 a better guarantee for global uniqueness of UUIDs returned from
    333 ``uuid.uuid1()``.  If only locally administered MAC addresses are available,
    334 the first such one found is returned.
    335 
    336 ..
    337 
    338 .. bpo: 23033
    339 .. date: 2017-11-26-17-00-52
    340 .. nonce: YGXRWT
    341 .. section: Library
    342 
    343 Wildcard is now supported in hostname when it is one and only character in
    344 the left most segment of hostname in second argument of
    345 :meth:`ssl.match_hostname`.  Patch by Mandeep Singh.
    346 
    347 ..
    348 
    349 .. bpo: 12239
    350 .. date: 2017-11-24-14-07-55
    351 .. nonce: Nj3A0x
    352 .. section: Library
    353 
    354 Make :meth:`msilib.SummaryInformation.GetProperty` return ``None`` when the
    355 value of property is ``VT_EMPTY``.  Initial patch by Mark Mc Mahon.
    356 
    357 ..
    358 
    359 .. bpo: 28334
    360 .. date: 2017-11-24-11-50-41
    361 .. nonce: 3gGGlt
    362 .. section: Library
    363 
    364 Use :func:`os.path.expanduser` to find the ``~/.netrc`` file in
    365 :class:`netrc.netrc`.  If it does not exist, :exc:`FileNotFoundError` is
    366 raised.  Patch by Dimitri Merejkowsky.
    367 
    368 ..
    369 
    370 .. bpo: 32121
    371 .. date: 2017-11-24-00-59-12
    372 .. nonce: ePbmwC
    373 .. section: Library
    374 
    375 Made ``tracemalloc.Traceback`` behave more like the traceback module,
    376 sorting the frames from oldest to most recent. ``Traceback.format()`` now
    377 accepts negative *limit*, truncating the result to the ``abs(limit)`` oldest
    378 frames. To get the old behaviour, one can use the new *most_recent_first*
    379 argument to ``Traceback.format()``. (Patch by Jesse Bakker.)
    380 
    381 ..
    382 
    383 .. bpo: 31325
    384 .. date: 2017-11-23-22-12-11
    385 .. nonce: 8jAUxN
    386 .. section: Library
    387 
    388 Fix wrong usage of :func:`collections.namedtuple` in the
    389 :meth:`RobotFileParser.parse() <urllib.robotparser.RobotFileParser.parse>`
    390 method.
    391 
    392 Initial patch by Robin Wellner.
    393 
    394 ..
    395 
    396 .. bpo: 12382
    397 .. date: 2017-11-23-21-47-36
    398 .. nonce: xWT9k0
    399 .. section: Library
    400 
    401 :func:`msilib.OpenDatabase` now raises a better exception message when it
    402 couldn't open or create an MSI file.  Initial patch by William Tister.
    403 
    404 ..
    405 
    406 .. bpo: 19610
    407 .. date: 2017-11-23-16-15-55
    408 .. nonce: Dlca2P
    409 .. section: Library
    410 
    411 ``setup()`` now warns about invalid types for some fields.
    412 
    413 The ``distutils.dist.Distribution`` class now warns when ``classifiers``,
    414 ``keywords`` and ``platforms`` fields are not specified as a list or a
    415 string.
    416 
    417 ..
    418 
    419 .. bpo: 32071
    420 .. date: 2017-11-22-19-52-17
    421 .. nonce: 4WNhUH
    422 .. section: Library
    423 
    424 Added the ``-k`` command-line option to ``python -m unittest`` to run only
    425 tests that match the given pattern(s).
    426 
    427 ..
    428 
    429 .. bpo: 10049
    430 .. date: 2017-11-22-17-21-01
    431 .. nonce: ttsBqb
    432 .. section: Library
    433 
    434 Added *nullcontext* no-op context manager to contextlib. This provides a
    435 simpler and faster alternative to ExitStack() when handling optional context
    436 managers.
    437 
    438 ..
    439 
    440 .. bpo: 28684
    441 .. date: 2017-11-22-12-54-46
    442 .. nonce: NLiDKZ
    443 .. section: Library
    444 
    445 The new test.support.skip_unless_bind_unix_socket() decorator is used here
    446 to skip asyncio tests that fail because the platform lacks a functional
    447 bind() function for unix domain sockets (as it is the case for non root
    448 users on the recent Android versions that run now SELinux in enforcing
    449 mode).
    450 
    451 ..
    452 
    453 .. bpo: 32110
    454 .. date: 2017-11-22-09-44-15
    455 .. nonce: VJa9bo
    456 .. section: Library
    457 
    458 ``codecs.StreamReader.read(n)`` now returns not more than *n*
    459 characters/bytes for non-negative *n*. This makes it compatible with
    460 ``read()`` methods of other file-like objects.
    461 
    462 ..
    463 
    464 .. bpo: 27535
    465 .. date: 2017-11-21-16-05-35
    466 .. nonce: JLhcNz
    467 .. section: Library
    468 
    469 The warnings module doesn't leak memory anymore in the hidden warnings
    470 registry for the "ignore" action of warnings filters. warn_explicit()
    471 function doesn't add the warning key to the registry anymore for the
    472 "ignore" action.
    473 
    474 ..
    475 
    476 .. bpo: 32088
    477 .. date: 2017-11-20-15-28-31
    478 .. nonce: mV-4Nu
    479 .. section: Library
    480 
    481 warnings:  When Python is build is debug mode (``Py_DEBUG``),
    482 :exc:`DeprecationWarning`, :exc:`PendingDeprecationWarning` and
    483 :exc:`ImportWarning` warnings are now displayed by default.
    484 
    485 ..
    486 
    487 .. bpo: 1647489
    488 .. date: 2017-11-20-01-29-46
    489 .. nonce: -ZNNkh
    490 .. section: Library
    491 
    492 Fixed searching regular expression patterns that could match an empty
    493 string. Non-empty string can now be correctly found after matching an empty
    494 string.
    495 
    496 ..
    497 
    498 .. bpo: 25054
    499 .. date: 2017-11-20-01-01-01
    500 .. nonce: rOlRV6
    501 .. section: Library
    502 
    503 Added support of splitting on a pattern that could match an empty string.
    504 
    505 ..
    506 
    507 .. bpo: 32072
    508 .. date: 2017-11-18-21-13-52
    509 .. nonce: nwDV8L
    510 .. section: Library
    511 
    512 Fixed issues with binary plists:
    513 
    514 * Fixed saving bytearrays.
    515 * Identical objects will be saved only once.
    516 * Equal references will be load as identical objects.
    517 * Added support for saving and loading recursive data structures.
    518 
    519 ..
    520 
    521 .. bpo: 32069
    522 .. date: 2017-11-18-17-09-01
    523 .. nonce: S0wyy4
    524 .. section: Library
    525 
    526 Drop legacy SSL transport from asyncio, ssl.MemoryBIO is always used anyway.
    527 
    528 ..
    529 
    530 .. bpo: 32066
    531 .. date: 2017-11-17-18-28-53
    532 .. nonce: OMQFLH
    533 .. section: Library
    534 
    535 asyncio: Support pathlib.Path in create_unix_connection; sock arg should be
    536 optional
    537 
    538 ..
    539 
    540 .. bpo: 32046
    541 .. date: 2017-11-16-20-09-45
    542 .. nonce: 9sGDtw
    543 .. section: Library
    544 
    545 Updates 2to3 to convert from operator.isCallable(obj) to callable(obj).
    546 Patch by Dong-hee Na.
    547 
    548 ..
    549 
    550 .. bpo: 32018
    551 .. date: 2017-11-16-02-32-41
    552 .. nonce: YMQ7Q2
    553 .. section: Library
    554 
    555 inspect.signature should follow PEP 8, if the parameter has an annotation
    556 and a default value. Patch by Dong-hee Na.
    557 
    558 ..
    559 
    560 .. bpo: 32025
    561 .. date: 2017-11-15-20-03-45
    562 .. nonce: lnIKYT
    563 .. section: Library
    564 
    565 Add time.thread_time() and time.thread_time_ns()
    566 
    567 ..
    568 
    569 .. bpo: 32037
    570 .. date: 2017-11-15-19-04-22
    571 .. nonce: r8-5Nk
    572 .. section: Library
    573 
    574 Integers that fit in a signed 32-bit integer will be now pickled with
    575 protocol 0 using the INT opcode.  This will decrease the size of a pickle,
    576 speed up pickling and unpickling, and make these integers be unpickled as
    577 int instances in Python 2.
    578 
    579 ..
    580 
    581 .. bpo: 32034
    582 .. date: 2017-11-15-13-44-28
    583 .. nonce: uHAOmu
    584 .. section: Library
    585 
    586 Make asyncio.IncompleteReadError and LimitOverrunError pickleable.
    587 
    588 ..
    589 
    590 .. bpo: 32015
    591 .. date: 2017-11-13-17-48-33
    592 .. nonce: 4nqRTD
    593 .. section: Library
    594 
    595 Fixed the looping of asyncio in the case of reconnection the socket during
    596 waiting async read/write from/to the socket.
    597 
    598 ..
    599 
    600 .. bpo: 32011
    601 .. date: 2017-11-12-20-47-59
    602 .. nonce: NzVDdZ
    603 .. section: Library
    604 
    605 Restored support of loading marshal files with the TYPE_INT64 code. These
    606 files can be produced in Python 2.7.
    607 
    608 ..
    609 
    610 .. bpo: 28369
    611 .. date: 2017-11-10-16-27-26
    612 .. nonce: IS74nd
    613 .. section: Library
    614 
    615 Enhance add_reader/writer check that socket is not used by some transport.
    616 Before, only cases when add_reader/writer were called with an int FD were
    617 supported.  Now the check is implemented correctly for all file-like
    618 objects.
    619 
    620 ..
    621 
    622 .. bpo: 31976
    623 .. date: 2017-11-09-21-36-32
    624 .. nonce: EOA7qY
    625 .. section: Library
    626 
    627 Fix race condition when flushing a file is slow, which can cause a segfault
    628 if closing the file from another thread.
    629 
    630 ..
    631 
    632 .. bpo: 31985
    633 .. date: 2017-11-08-16-51-52
    634 .. nonce: dE_fOB
    635 .. section: Library
    636 
    637 Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp. Since change
    638 7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the
    639 three modules had been pointing to that module's open function as a matter
    640 of backwards compatibility, though it had been both untested and
    641 undocumented.
    642 
    643 ..
    644 
    645 .. bpo: 21862
    646 .. date: 2017-11-07-15-19-52
    647 .. nonce: RwietE
    648 .. section: Library
    649 
    650 cProfile command line now accepts `-m module_name` as an alternative to
    651 script path. Patch by Sanyam Khurana.
    652 
    653 ..
    654 
    655 .. bpo: 31970
    656 .. date: 2017-11-07-14-20-09
    657 .. nonce: x4EN_9
    658 .. section: Library
    659 
    660 Reduce performance overhead of asyncio debug mode.
    661 
    662 ..
    663 
    664 .. bpo: 31843
    665 .. date: 2017-11-07-00-37-50
    666 .. nonce: lM2gkR
    667 .. section: Library
    668 
    669 *database* argument of sqlite3.connect() now accepts a :term:`path-like
    670 object`, instead of just a string.
    671 
    672 ..
    673 
    674 .. bpo: 31945
    675 .. date: 2017-11-05-01-17-12
    676 .. nonce: TLPBtS
    677 .. section: Library
    678 
    679 Add Configurable *blocksize* to ``HTTPConnection`` and ``HTTPSConnection``
    680 for improved upload throughput.  Patch by Nir Soffer.
    681 
    682 ..
    683 
    684 .. bpo: 31943
    685 .. date: 2017-11-04-19-28-08
    686 .. nonce: bxw5gM
    687 .. section: Library
    688 
    689 Add a ``cancelled()`` method to :class:`asyncio.Handle`.  Patch by Marat
    690 Sharafutdinov.
    691 
    692 ..
    693 
    694 .. bpo: 9678
    695 .. date: 2017-11-03-22-05-47
    696 .. nonce: oD51q6
    697 .. section: Library
    698 
    699 Fixed determining the MAC address in the uuid module:
    700 
    701 * Using ifconfig on NetBSD and OpenBSD.
    702 * Using arp on Linux, FreeBSD, NetBSD and OpenBSD.
    703 
    704 Based on patch by Takayuki Shimizukawa.
    705 
    706 ..
    707 
    708 .. bpo: 30057
    709 .. date: 2017-11-03-19-11-43
    710 .. nonce: NCaijI
    711 .. section: Library
    712 
    713 Fix potential missed signal in signal.signal().
    714 
    715 ..
    716 
    717 .. bpo: 31933
    718 .. date: 2017-11-03-08-36-03
    719 .. nonce: UrtoMP
    720 .. section: Library
    721 
    722 Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch
    723 by Jack O'Connor.
    724 
    725 ..
    726 
    727 .. bpo: 21423
    728 .. date: 2017-11-02-22-26-16
    729 .. nonce: hw5mEh
    730 .. section: Library
    731 
    732 Add an initializer argument to {Process,Thread}PoolExecutor
    733 
    734 ..
    735 
    736 .. bpo: 31927
    737 .. date: 2017-11-02-18-26-40
    738 .. nonce: 40K6kp
    739 .. section: Library
    740 
    741 Fixed compilation of the socket module on NetBSD 8.  Fixed assertion failure
    742 or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and
    743 DragonFly BSD.
    744 
    745 ..
    746 
    747 .. bpo: 27666
    748 .. date: 2017-11-01-18-13-42
    749 .. nonce: j2zRnF
    750 .. section: Library
    751 
    752 Fixed stack corruption in curses.box() and curses.ungetmouse() when the size
    753 of types chtype or mmask_t is less than the size of C long.  curses.box()
    754 now accepts characters as arguments.  Based on patch by Steve Fink.
    755 
    756 ..
    757 
    758 .. bpo: 31917
    759 .. date: 2017-11-01-03-28-24
    760 .. nonce: DYQL0g
    761 .. section: Library
    762 
    763 Add 3 new clock identifiers: :data:`time.CLOCK_BOOTTIME`,
    764 :data:`time.CLOCK_PROF` and :data:`time.CLOCK_UPTIME`.
    765 
    766 ..
    767 
    768 .. bpo: 31897
    769 .. date: 2017-10-30-11-04-56
    770 .. nonce: yjwdEb
    771 .. section: Library
    772 
    773 plistlib now catches more errors when read binary plists and raises
    774 InvalidFileException instead of unexpected exceptions.
    775 
    776 ..
    777 
    778 .. bpo: 25720
    779 .. date: 2017-10-29-17-52-40
    780 .. nonce: vSvb5h
    781 .. section: Library
    782 
    783 Fix the method for checking pad state of curses WINDOW. Patch by Masayuki
    784 Yamamoto.
    785 
    786 ..
    787 
    788 .. bpo: 31893
    789 .. date: 2017-10-29-13-51-01
    790 .. nonce: 8LZKEz
    791 .. section: Library
    792 
    793 Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed
    794 the comparison of the kqueue_event objects.
    795 
    796 ..
    797 
    798 .. bpo: 31891
    799 .. date: 2017-10-29-11-23-24
    800 .. nonce: 9kAPha
    801 .. section: Library
    802 
    803 Fixed building the curses module on NetBSD.
    804 
    805 ..
    806 
    807 .. bpo: 31884
    808 .. date: 2017-10-27
    809 .. nonce: bjhre9
    810 .. section: Library
    811 
    812 added required constants to subprocess module for setting priority on
    813 windows
    814 
    815 ..
    816 
    817 .. bpo: 28281
    818 .. date: 2017-10-26-14-54-38
    819 .. nonce: 7ZN5FG
    820 .. section: Library
    821 
    822 Remove year (1-9999) limits on the Calendar.weekday() function.
    823 
    824 Patch by Mark Gollahon.
    825 
    826 ..
    827 
    828 .. bpo: 31702
    829 .. date: 2017-10-24-21-10-44
    830 .. nonce: SfwJDI
    831 .. section: Library
    832 
    833 crypt.mksalt() now allows to specify the number of rounds for SHA-256 and
    834 SHA-512 hashing.
    835 
    836 ..
    837 
    838 .. bpo: 30639
    839 .. date: 2017-10-24-12-24-56
    840 .. nonce: ptNM9a
    841 .. section: Library
    842 
    843 :func:`inspect.getfile` no longer computes the repr of unknown objects to
    844 display in an error message, to protect against badly behaved custom reprs.
    845 
    846 ..
    847 
    848 .. bpo: 30768
    849 .. date: 2017-10-24-12-00-16
    850 .. nonce: Om8Yj_
    851 .. section: Library
    852 
    853 Fix the pthread+semaphore implementation of PyThread_acquire_lock_timed()
    854 when called with timeout > 0 and intr_flag=0: recompute the timeout if
    855 sem_timedwait() is interrupted by a signal (EINTR). See also the :pep:`475`.
    856 
    857 ..
    858 
    859 .. bpo: 31854
    860 .. date: 2017-10-23
    861 .. nonce: fh8334f
    862 .. section: Library
    863 
    864 Add ``mmap.ACCESS_DEFAULT`` constant.
    865 
    866 ..
    867 
    868 .. bpo: 31834
    869 .. date: 2017-10-23-23-27-52
    870 .. nonce: InwC6O
    871 .. section: Library
    872 
    873 Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2 implementation
    874 is slower than the pure C reference implementation.
    875 
    876 ..
    877 
    878 .. bpo: 28292
    879 .. date: 2017-10-23-20-03-36
    880 .. nonce: 1Gkim2
    881 .. section: Library
    882 
    883 Calendar.itermonthdates() will now consistently raise an exception when a
    884 date falls outside of the 0001-01-01 through 9999-12-31 range.  To support
    885 applications that cannot tolerate such exceptions, the new methods
    886 itermonthdays3() and itermonthdays4() are added.  The new methods return
    887 tuples and are not restricted by the range supported by datetime.date.
    888 
    889 ..
    890 
    891 .. bpo: 28564
    892 .. date: 2017-10-23-16-22-54
    893 .. nonce: Tx-l-I
    894 .. section: Library
    895 
    896 The shutil.rmtree() function has been sped up to 20--40%. This was done
    897 using the os.scandir() function.
    898 
    899 ..
    900 
    901 .. bpo: 28416
    902 .. date: 2017-10-23-12-05-33
    903 .. nonce: Ldnw8X
    904 .. section: Library
    905 
    906 Instances of pickle.Pickler subclass with the persistent_id() method and
    907 pickle.Unpickler subclass with the persistent_load() method no longer create
    908 reference cycles.
    909 
    910 ..
    911 
    912 .. bpo: 31653
    913 .. date: 2017-10-22-12-43-03
    914 .. nonce: ttfGvq
    915 .. section: Library
    916 
    917 Don't release the GIL if we can acquire a multiprocessing semaphore
    918 immediately.
    919 
    920 ..
    921 
    922 .. bpo: 28326
    923 .. date: 2017-10-22-11-06-02
    924 .. nonce: rxh7L4
    925 .. section: Library
    926 
    927 Fix multiprocessing.Process when stdout and/or stderr is closed or None.
    928 
    929 ..
    930 
    931 .. bpo: 20825
    932 .. date: 2017-10-21-09-13-16
    933 .. nonce: -1MBEy
    934 .. section: Library
    935 
    936 Add `subnet_of` and `superset_of` containment tests to
    937 :class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network`. Patch by
    938 Michel Albert and Cheryl Sabella.
    939 
    940 ..
    941 
    942 .. bpo: 31827
    943 .. date: 2017-10-20-16-12-01
    944 .. nonce: 7R8s8s
    945 .. section: Library
    946 
    947 Remove the os.stat_float_times() function. It was introduced in Python 2.3
    948 for backward compatibility with Python 2.2, and was deprecated since Python
    949 3.1.
    950 
    951 ..
    952 
    953 .. bpo: 31756
    954 .. date: 2017-10-20-12-57-52
    955 .. nonce: IxCvGB
    956 .. section: Library
    957 
    958 Add a ``subprocess.Popen(text=False)`` keyword argument to `subprocess`
    959 functions to be more explicit about when the library should attempt to
    960 decode outputs into text. Patch by Andrew Clegg.
    961 
    962 ..
    963 
    964 .. bpo: 31819
    965 .. date: 2017-10-19-20-03-13
    966 .. nonce: mw2wF9
    967 .. section: Library
    968 
    969 Add AbstractEventLoop.sock_recv_into().
    970 
    971 ..
    972 
    973 .. bpo: 31457
    974 .. date: 2017-10-18-19-05-17
    975 .. nonce: KlE6r8
    976 .. section: Library
    977 
    978 If nested log adapters are used, the inner ``process()`` methods are no
    979 longer omitted.
    980 
    981 ..
    982 
    983 .. bpo: 31457
    984 .. date: 2017-10-18-16-48-09
    985 .. nonce: _ovmzp
    986 .. section: Library
    987 
    988 The ``manager`` property on LoggerAdapter objects is now properly settable.
    989 
    990 ..
    991 
    992 .. bpo: 31806
    993 .. date: 2017-10-17-23-27-03
    994 .. nonce: TzphdL
    995 .. section: Library
    996 
    997 Fix timeout rounding in time.sleep(), threading.Lock.acquire() and
    998 socket.socket.settimeout() to round correctly negative timeouts between -1.0
    999 and 0.0. The functions now block waiting for events as expected. Previously,
   1000 the call was incorrectly non-blocking. Patch by Pablo Galindo.
   1001 
   1002 ..
   1003 
   1004 .. bpo: 31803
   1005 .. date: 2017-10-17-22-55-13
   1006 .. nonce: YLL1gJ
   1007 .. section: Library
   1008 
   1009 time.clock() and time.get_clock_info('clock') now emit a DeprecationWarning
   1010 warning.
   1011 
   1012 ..
   1013 
   1014 .. bpo: 31800
   1015 .. date: 2017-10-17-20-08-19
   1016 .. nonce: foOSCi
   1017 .. section: Library
   1018 
   1019 Extended support for parsing UTC offsets. strptime '%z' can now parse the
   1020 output generated by datetime.isoformat, including seconds and microseconds.
   1021 
   1022 ..
   1023 
   1024 .. bpo: 28603
   1025 .. date: 2017-10-17-12-29-18
   1026 .. nonce: tGuX2C
   1027 .. section: Library
   1028 
   1029 traceback: Fix a TypeError that occurred during printing of exception
   1030 tracebacks when either the current exception or an exception in its
   1031 context/cause chain is unhashable. Patch by Zane Bitter.
   1032 
   1033 ..
   1034 
   1035 .. bpo: 30541
   1036 .. date: 2017-10-17-12-04-37
   1037 .. nonce: q3BM6C
   1038 .. section: Library
   1039 
   1040 Add new function to seal a mock and prevent the automatically creation of
   1041 child mocks. Patch by Mario Corchero.
   1042 
   1043 ..
   1044 
   1045 .. bpo: 31784
   1046 .. date: 2017-10-13-23-35-47
   1047 .. nonce: 6e57bd
   1048 .. section: Library
   1049 
   1050 Implement the :pep:`564`, add new 6 new functions with nanosecond resolution
   1051 to the :mod:`time` module: :func:`~time.clock_gettime_ns`,
   1052 :func:`~time.clock_settime_ns`, :func:`~time.monotonic_ns`,
   1053 :func:`~time.perf_counter_ns`, :func:`~time.process_time_ns`,
   1054 :func:`~time.time_ns`.
   1055 
   1056 ..
   1057 
   1058 .. bpo: 30143
   1059 .. date: 2017-10-12-19-05-54
   1060 .. nonce: 25_hU1
   1061 .. section: Library
   1062 
   1063 2to3 now generates a code that uses abstract collection classes from
   1064 collections.abc rather than collections.
   1065 
   1066 ..
   1067 
   1068 .. bpo: 31770
   1069 .. date: 2017-10-12-18-45-38
   1070 .. nonce: GV3MPx
   1071 .. section: Library
   1072 
   1073 Prevent a crash when calling the ``__init__()`` method of a
   1074 ``sqlite3.Cursor`` object more than once. Patch by Oren Milman.
   1075 
   1076 ..
   1077 
   1078 .. bpo: 31764
   1079 .. date: 2017-10-11-22-18-04
   1080 .. nonce: EMyIkK
   1081 .. section: Library
   1082 
   1083 Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object
   1084 is uninitialized. Patch by Oren Milman.
   1085 
   1086 ..
   1087 
   1088 .. bpo: 31752
   1089 .. date: 2017-10-11-00-45-01
   1090 .. nonce: DhWevN
   1091 .. section: Library
   1092 
   1093 Fix possible crash in timedelta constructor called with custom integers.
   1094 
   1095 ..
   1096 
   1097 .. bpo: 31620
   1098 .. date: 2017-10-06-04-35-31
   1099 .. nonce: gksLA1
   1100 .. section: Library
   1101 
   1102 an empty asyncio.Queue now doesn't leak memory when queue.get pollers
   1103 timeout
   1104 
   1105 ..
   1106 
   1107 .. bpo: 31690
   1108 .. date: 2017-10-05-15-14-46
   1109 .. nonce: f0XteV
   1110 .. section: Library
   1111 
   1112 Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used as group
   1113 flags for regular expressions.
   1114 
   1115 ..
   1116 
   1117 .. bpo: 30349
   1118 .. date: 2017-10-05-12-45-29
   1119 .. nonce: 6zKJsF
   1120 .. section: Library
   1121 
   1122 FutureWarning is now emitted if a regular expression contains character set
   1123 constructs that will change semantically in the future (nested sets and set
   1124 operations).
   1125 
   1126 ..
   1127 
   1128 .. bpo: 31664
   1129 .. date: 2017-10-04-20-36-28
   1130 .. nonce: 4VDUzo
   1131 .. section: Library
   1132 
   1133 Added support for the Blowfish hashing in the crypt module.
   1134 
   1135 ..
   1136 
   1137 .. bpo: 31632
   1138 .. date: 2017-10-04-11-37-14
   1139 .. nonce: LiOC3C
   1140 .. section: Library
   1141 
   1142 Fix method set_protocol() of class _SSLProtocolTransport in asyncio module.
   1143 This method was previously modifying a wrong reference to the protocol.
   1144 
   1145 ..
   1146 
   1147 .. bpo: 15037
   1148 .. date: 2017-09-29-19-19-36
   1149 .. nonce: ykimLK
   1150 .. section: Library
   1151 
   1152 Added a workaround for getkey() in curses for ncurses 5.7 and earlier.
   1153 
   1154 ..
   1155 
   1156 .. bpo: 31307
   1157 .. date: 2017-09-07-12-50-28
   1158 .. nonce: AVBiNY
   1159 .. section: Library
   1160 
   1161 Allow use of bytes objects for arguments to
   1162 :meth:`configparser.ConfigParser.read`. Patch by Vincent Michel.
   1163 
   1164 ..
   1165 
   1166 .. bpo: 31334
   1167 .. date: 2017-09-04-00-22-31
   1168 .. nonce: 9WYRfi
   1169 .. section: Library
   1170 
   1171 Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative
   1172 timeouts on all OSes where it can only be a non-negative integer or -1.
   1173 Patch by Riccardo Coccioli.
   1174 
   1175 ..
   1176 
   1177 .. bpo: 31310
   1178 .. date: 2017-08-30-18-23-54
   1179 .. nonce: 7D1UNt
   1180 .. section: Library
   1181 
   1182 multiprocessing's semaphore tracker should be launched again if crashed.
   1183 
   1184 ..
   1185 
   1186 .. bpo: 31308
   1187 .. date: 2017-08-30-17-59-36
   1188 .. nonce: KbexyC
   1189 .. section: Library
   1190 
   1191 Make multiprocessing's forkserver process immune to Ctrl-C and other user
   1192 interruptions. If it crashes, restart it when necessary.
   1193 
   1194 ..
   1195 
   1196 .. bpo: 31245
   1197 .. date: 2017-08-22-11-05-35
   1198 .. nonce: AniZuz
   1199 .. section: Library
   1200 
   1201 Added support for AF_UNIX socket in asyncio `create_datagram_endpoint`.
   1202 
   1203 ..
   1204 
   1205 .. bpo: 30553
   1206 .. date: 2017-07-05-14-48-26
   1207 .. nonce: Oupsxo
   1208 .. section: Library
   1209 
   1210 Add HTTP/2 status code 421 (Misdirected Request) to
   1211 :class:`http.HTTPStatus`. Patch by Vitor Pereira.
   1212 
   1213 ..
   1214 
   1215 .. bpo: 32105
   1216 .. date: 2017-11-21-10-54-16
   1217 .. nonce: 91mhWm
   1218 .. section: Documentation
   1219 
   1220 Added asyncio.BaseEventLoop.connect_accepted_socket versionadded marker.
   1221 
   1222 ..
   1223 
   1224 .. bpo: 31380
   1225 .. date: 2017-12-04-23-19-16
   1226 .. nonce: VlMmHW
   1227 .. section: Tests
   1228 
   1229 Skip test_httpservers test_undecodable_file on macOS: fails on APFS.
   1230 
   1231 ..
   1232 
   1233 .. bpo: 31705
   1234 .. date: 2017-11-30-12-27-10
   1235 .. nonce: yULW7O
   1236 .. section: Tests
   1237 
   1238 Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test
   1239 fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the
   1240 kernel 4.5.
   1241 
   1242 ..
   1243 
   1244 .. bpo: 32138
   1245 .. date: 2017-11-27-16-18-58
   1246 .. nonce: QsTvf-
   1247 .. section: Tests
   1248 
   1249 Skip on Android test_faulthandler tests that raise SIGSEGV and remove the
   1250 test.support.requires_android_level decorator.
   1251 
   1252 ..
   1253 
   1254 .. bpo: 32136
   1255 .. date: 2017-11-26-17-11-27
   1256 .. nonce: Y11luJ
   1257 .. section: Tests
   1258 
   1259 The runtime embedding tests have been split out from
   1260 ``Lib/test/test_capi.py`` into a new ``Lib/test/test_embed.py`` file.
   1261 
   1262 ..
   1263 
   1264 .. bpo: 28668
   1265 .. date: 2017-11-25-14-53-29
   1266 .. nonce: Y1G6pA
   1267 .. section: Tests
   1268 
   1269 test.support.requires_multiprocessing_queue is removed. Skip tests with
   1270 test.support.import_module('multiprocessing.synchronize') instead when the
   1271 semaphore implementation is broken or missing.
   1272 
   1273 ..
   1274 
   1275 .. bpo: 32126
   1276 .. date: 2017-11-24-18-15-12
   1277 .. nonce: PLmNLn
   1278 .. section: Tests
   1279 
   1280 Skip test_get_event_loop_new_process in test.test_asyncio.test_events when
   1281 sem_open() is not functional.
   1282 
   1283 ..
   1284 
   1285 .. bpo: 31174
   1286 .. date: 2017-10-24-11-36-10
   1287 .. nonce: xCvXcr
   1288 .. section: Tests
   1289 
   1290 Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample
   1291 to always test the same files. It prevents false alarms when hunting
   1292 reference leaks.
   1293 
   1294 ..
   1295 
   1296 .. bpo: 28538
   1297 .. date: 2017-11-21-17-27-59
   1298 .. nonce: DsNBS7
   1299 .. section: Build
   1300 
   1301 Revert the previous changes, the if_nameindex structure is defined by
   1302 Unified Headers.
   1303 
   1304 ..
   1305 
   1306 .. bpo: 28762
   1307 .. date: 2017-11-21-17-12-24
   1308 .. nonce: R6uu8w
   1309 .. section: Build
   1310 
   1311 Revert the last commit, the F_LOCK macro is defined by Android Unified
   1312 Headers.
   1313 
   1314 ..
   1315 
   1316 .. bpo: 29040
   1317 .. date: 2017-11-21-16-56-24
   1318 .. nonce: 14lCSr
   1319 .. section: Build
   1320 
   1321 Support building Android with Unified Headers. The first NDK release to
   1322 support Unified Headers is android-ndk-r14.
   1323 
   1324 ..
   1325 
   1326 .. bpo: 32059
   1327 .. date: 2017-11-18-11-19-28
   1328 .. nonce: a0Hxgp
   1329 .. section: Build
   1330 
   1331 ``detect_modules()`` in ``setup.py`` now also searches the sysroot paths
   1332 when cross-compiling.
   1333 
   1334 ..
   1335 
   1336 .. bpo: 31957
   1337 .. date: 2017-11-06-11-53-39
   1338 .. nonce: S_1jFK
   1339 .. section: Build
   1340 
   1341 Fixes Windows SDK version detection when building for Windows.
   1342 
   1343 ..
   1344 
   1345 .. bpo: 31609
   1346 .. date: 2017-11-04-15-35-08
   1347 .. nonce: k7_nBR
   1348 .. section: Build
   1349 
   1350 Fixes quotes in PCbuild/clean.bat
   1351 
   1352 ..
   1353 
   1354 .. bpo: 31934
   1355 .. date: 2017-11-03-15-17-50
   1356 .. nonce: 8bUlpv
   1357 .. section: Build
   1358 
   1359 Abort the build when building out of a not clean source tree.
   1360 
   1361 ..
   1362 
   1363 .. bpo: 31926
   1364 .. date: 2017-11-03-10-07-14
   1365 .. nonce: 57wE98
   1366 .. section: Build
   1367 
   1368 Fixed Argument Clinic sometimes causing compilation errors when there was
   1369 more than one function and/or method in a .c file with the same name.
   1370 
   1371 ..
   1372 
   1373 .. bpo: 28791
   1374 .. date: 2017-11-02-20-30-57
   1375 .. nonce: VaE3o8
   1376 .. section: Build
   1377 
   1378 Update Windows builds to use SQLite 3.21.0.
   1379 
   1380 ..
   1381 
   1382 .. bpo: 28791
   1383 .. date: 2017-11-02-20-13-46
   1384 .. nonce: STt3jL
   1385 .. section: Build
   1386 
   1387 Update OS X installer to use SQLite 3.21.0.
   1388 
   1389 ..
   1390 
   1391 .. bpo: 28643
   1392 .. date: 2017-11-01-14-16-27
   1393 .. nonce: 9iPKJy
   1394 .. section: Build
   1395 
   1396 Record profile-opt build progress with stamp files.
   1397 
   1398 ..
   1399 
   1400 .. bpo: 31866
   1401 .. date: 2017-10-24-23-21-13
   1402 .. nonce: MkNO66
   1403 .. section: Build
   1404 
   1405 Finish removing support for AtheOS.
   1406 
   1407 ..
   1408 
   1409 .. bpo: 1102
   1410 .. date: 2017-11-19-09-46-27
   1411 .. nonce: NY-g1F
   1412 .. section: Windows
   1413 
   1414 Return ``None`` when ``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS``
   1415 instead of raising ``MSIError``.
   1416 
   1417 Initial patch by Anthony Tuininga.
   1418 
   1419 ..
   1420 
   1421 .. bpo: 31944
   1422 .. date: 2017-11-04-15-29-47
   1423 .. nonce: 0Bx8tZ
   1424 .. section: Windows
   1425 
   1426 Fixes Modify button in Apps and Features dialog.
   1427 
   1428 ..
   1429 
   1430 .. bpo: 20486
   1431 .. date: 2017-10-26-23-02-57
   1432 .. nonce: 3IdsZ1
   1433 .. section: Windows
   1434 
   1435 Implement the ``Database.Close()`` method to help closing MSI database
   1436 objects.
   1437 
   1438 ..
   1439 
   1440 .. bpo: 31857
   1441 .. date: 2017-10-23-18-35-50
   1442 .. nonce: YwhEvc
   1443 .. section: Windows
   1444 
   1445 Make the behavior of USE_STACKCHECK deterministic in a multi-threaded
   1446 environment.
   1447 
   1448 ..
   1449 
   1450 .. bpo: 31392
   1451 .. date: 2017-12-04-21-57-43
   1452 .. nonce: f8huBC
   1453 .. section: macOS
   1454 
   1455 Update macOS installer to use OpenSSL 1.0.2m
   1456 
   1457 ..
   1458 
   1459 .. bpo: 32207
   1460 .. date: 2017-12-04-15-04-43
   1461 .. nonce: IzyAJo
   1462 .. section: IDLE
   1463 
   1464 Improve tk event exception tracebacks in IDLE. When tk event handling is
   1465 driven by IDLE's run loop, a confusing and distracting queue.EMPTY traceback
   1466 context is no longer added to tk event exception tracebacks.  The traceback
   1467 is now the same as when event handling is driven by user code.  Patch based
   1468 on a suggestion by Serhiy Storchaka.
   1469 
   1470 ..
   1471 
   1472 .. bpo: 32164
   1473 .. date: 2017-11-28-21-47-15
   1474 .. nonce: 2T2Na8
   1475 .. section: IDLE
   1476 
   1477 Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in
   1478 configdialog was replaced by ttk.Notebook.
   1479 
   1480 ..
   1481 
   1482 .. bpo: 32100
   1483 .. date: 2017-11-21-08-26-08
   1484 .. nonce: P43qx2
   1485 .. section: IDLE
   1486 
   1487 IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by
   1488 Cheryl Sabella.
   1489 
   1490 ..
   1491 
   1492 .. bpo: 31858
   1493 .. date: 2017-10-26-20-20-19
   1494 .. nonce: VuSA_e
   1495 .. section: IDLE
   1496 
   1497 IDLE -- Restrict shell prompt manipulation to the shell. Editor and output
   1498 windows only see an empty last prompt line.  This simplifies the code and
   1499 fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on
   1500 Shell start-up, but is not set or changed.
   1501 
   1502 ..
   1503 
   1504 .. bpo: 31860
   1505 .. date: 2017-10-24-16-21-50
   1506 .. nonce: gECuWx
   1507 .. section: IDLE
   1508 
   1509 The font sample in the IDLE configuration dialog is now editable. Changes
   1510 persist while IDLE remains open
   1511 
   1512 ..
   1513 
   1514 .. bpo: 31836
   1515 .. date: 2017-10-21-15-41-53
   1516 .. nonce: fheLME
   1517 .. section: IDLE
   1518 
   1519 Test_code_module now passes if run after test_idle, which sets ps1.
   1520 
   1521 The code module uses sys.ps1 if present or sets it to '>>> ' if not.
   1522 Test_code_module now properly tests both behaviors.  Ditto for ps2.
   1523 
   1524 ..
   1525 
   1526 .. bpo: 28603
   1527 .. date: 2017-10-17-13-26-13
   1528 .. nonce: TMEQfp
   1529 .. section: IDLE
   1530 
   1531 Fix a TypeError that caused a shell restart when printing a traceback that
   1532 includes an exception that is unhashable. Patch by Zane Bitter.
   1533 
   1534 ..
   1535 
   1536 .. bpo: 13802
   1537 .. date: 2017-10-12-00-51-29
   1538 .. nonce: VwjZRD
   1539 .. section: IDLE
   1540 
   1541 Use non-Latin characters in the IDLE's Font settings sample. Even if one
   1542 selects a font that defines a limited subset of the unicode Basic
   1543 Multilingual Plane, tcl/tk will use other fonts that define a character. The
   1544 expanded example give users of non-Latin characters a better idea of what
   1545 they might see in IDLE's shell and editors.
   1546 
   1547 To make room for the expanded sample, frames on the Font tab are
   1548 re-arranged.  The Font/Tabs help explains a bit about the additions.
   1549 
   1550 ..
   1551 
   1552 .. bpo: 32159
   1553 .. date: 2017-11-28-21-24-41
   1554 .. nonce: RSl4QK
   1555 .. section: Tools/Demos
   1556 
   1557 Remove CVS and Subversion tools: remove svneol.py and treesync.py scripts.
   1558 CPython migrated from CVS to Subversion, to Mercurial, and then to Git. CVS
   1559 and Subversion are no longer used to develop CPython.
   1560 
   1561 ..
   1562 
   1563 .. bpo: 30722
   1564 .. date: 2017-10-23-19-45-52
   1565 .. nonce: ioRlAu
   1566 .. section: Tools/Demos
   1567 
   1568 Make redemo work with Python 3.6 and newer versions.
   1569 
   1570 Also, remove the ``LOCALE`` option since it doesn't work with string
   1571 patterns in Python 3.
   1572 
   1573 Patch by Christoph Sarnowski.
   1574 
   1575 ..
   1576 
   1577 .. bpo: 20891
   1578 .. date: 2017-11-30-18-13-45
   1579 .. nonce: wBnMdF
   1580 .. section: C API
   1581 
   1582 Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python
   1583 thread before PyEval_InitThreads(), only call PyEval_InitThreads() after
   1584 calling PyThreadState_New() to fix a crash.
   1585 
   1586 ..
   1587 
   1588 .. bpo: 32125
   1589 .. date: 2017-11-24-21-25-43
   1590 .. nonce: K8zWgn
   1591 .. section: C API
   1592 
   1593 The ``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated
   1594 and wasn't used anymore since Python 2.0.
   1595 
   1596 ..
   1597 
   1598 .. bpo: 25612
   1599 .. date: 2017-10-22-13-12-28
   1600 .. nonce: 1jnWKT
   1601 .. section: C API
   1602 
   1603 Move the current exception state from the frame object to the co-routine.
   1604 This simplifies the interpreter and fixes a couple of obscure bugs caused by
   1605 having swap exception state when entering or exiting a generator.
   1606 
   1607 ..
   1608 
   1609 .. bpo: 23699
   1610 .. date: 2017-10-19-15-27-04
   1611 .. nonce: -noVVc
   1612 .. section: C API
   1613 
   1614 Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich
   1615 comparison functions.
   1616 
   1617 ..
   1618 
   1619 .. bpo: 30697
   1620 .. date: 2017-06-30-11-58-01
   1621 .. nonce: Q3T_8n
   1622 .. section: C API
   1623 
   1624 The `PyExc_RecursionErrorInst` singleton is removed and
   1625 `PyErr_NormalizeException()` does not use it anymore. This singleton is
   1626 persistent and its members being never cleared may cause a segfault during
   1627 finalization of the interpreter. See also issue #22898.
   1628