1.. bpo: 36052 2.. date: 2019-02-20-17-57-31 3.. nonce: l8lJSi 4.. release date: 2019-02-25 5.. section: Core and Builtins 6 7Raise a :exc:`SyntaxError` when assigning a value to `__debug__` with the 8Assignment Operator. Contributed by Stéphane Wirtel and Pablo Galindo. 9 10.. 11 12.. bpo: 36012 13.. date: 2019-02-19-10-47-51 14.. nonce: xq7C9E 15.. section: Core and Builtins 16 17Doubled the speed of class variable writes. When a non-dunder attribute was 18updated, there was an unnecessary call to update slots. 19 20.. 21 22.. bpo: 35942 23.. date: 2019-02-18-09-30-55 24.. nonce: oLhL2v 25.. section: Core and Builtins 26 27The error message emitted when returning invalid types from ``__fspath__`` 28in interfaces that allow passing :class:`~os.PathLike` objects has been 29improved and now it does explain the origin of the error. 30 31.. 32 33.. bpo: 36016 34.. date: 2019-02-17-20-23-54 35.. nonce: 5Hns-f 36.. section: Core and Builtins 37 38``gc.get_objects`` can now receive an optional parameter indicating a 39generation to get objects from. Patch by Pablo Galindo. 40 41.. 42 43.. bpo: 1054041 44.. date: 2019-02-16-00-42-32 45.. nonce: BL-WLd 46.. section: Core and Builtins 47 48When the main interpreter exits due to an uncaught KeyboardInterrupt, the 49process now exits in the appropriate manner for its parent process to detect 50that a SIGINT or ^C terminated the process. This allows shells and batch 51scripts to understand that the user has asked them to stop. 52 53.. 54 55.. bpo: 35992 56.. date: 2019-02-14-12-01-44 57.. nonce: nG9e2L 58.. section: Core and Builtins 59 60Fix ``__class_getitem__()`` not being called on a class with a custom 61non-subscriptable metaclass. 62 63.. 64 65.. bpo: 35993 66.. date: 2019-02-14-09-17-54 67.. nonce: Bvm3fP 68.. section: Core and Builtins 69 70Fix a crash on fork when using subinterpreters. Contributed by Stéphane 71Wirtel 72 73.. 74 75.. bpo: 35991 76.. date: 2019-02-14-00-00-30 77.. nonce: xlbfSk 78.. section: Core and Builtins 79 80Fix a potential double free in Modules/_randommodule.c. 81 82.. 83 84.. bpo: 35961 85.. date: 2019-02-12-20-16-34 86.. nonce: 7f7Sne 87.. section: Core and Builtins 88 89Fix a crash in slice_richcompare(): use strong references rather than stolen 90references for the two temporary internal tuples. 91 92.. 93 94.. bpo: 35911 95.. date: 2019-02-06-17-50-59 96.. nonce: oiWE8 97.. section: Core and Builtins 98 99Enable the creation of cell objects by adding a ``cell.__new__`` method, and 100expose the type ``cell`` in ``Lib/types.py`` under the name CellType. Patch 101by Pierre Glaser. 102 103.. 104 105.. bpo: 12822 106.. date: 2019-02-05-12-48-23 107.. nonce: 0x2NDx 108.. section: Core and Builtins 109 110Use monotonic clock for ``pthread_cond_timedwait`` when 111``pthread_condattr_setclock`` and ``CLOCK_MONOTONIC`` are available. 112 113.. 114 115.. bpo: 15248 116.. date: 2019-02-04-21-10-17 117.. nonce: 2sXSZZ 118.. section: Core and Builtins 119 120The compiler emits now syntax warnings in the case when a comma is likely 121missed before tuple or list. 122 123.. 124 125.. bpo: 35886 126.. date: 2019-02-01-18-12-14 127.. nonce: 0Z-C0V 128.. section: Core and Builtins 129 130The implementation of PyInterpreterState has been moved into the internal 131header files (guarded by Py_BUILD_CORE). 132 133.. 134 135.. bpo: 31506 136.. date: 2019-01-22-02-06-39 137.. nonce: eJ5FpV 138.. section: Core and Builtins 139 140Clarify the errors reported when ``object.__new__`` and ``object.__init__`` 141receive more than one argument. Contributed by Sanyam Khurana. 142 143.. 144 145.. bpo: 35724 146.. date: 2019-01-11-14-46-08 147.. nonce: Wv79MG 148.. section: Core and Builtins 149 150Signal-handling is now guaranteed to happen relative to the main 151interpreter. 152 153.. 154 155.. bpo: 33608 156.. date: 2018-09-15-12-13-46 157.. nonce: avmvVP 158.. section: Core and Builtins 159 160We added a new internal _Py_AddPendingCall() that operates relative to the 161provided interpreter. This allows us to use the existing implementation to 162ask another interpreter to do work that cannot be done in the current 163interpreter, like decref an object the other interpreter owns. The existing 164Py_AddPendingCall() only operates relative to the main interpreter. 165 166.. 167 168.. bpo: 33989 169.. date: 2018-08-08-20-52-55 170.. nonce: TkLBui 171.. section: Core and Builtins 172 173Fix a possible crash in :meth:`list.sort` when sorting objects with 174``ob_type->tp_richcompare == NULL``. Patch by Zackery Spytz. 175 176.. 177 178.. bpo: 35512 179.. date: 2019-02-24-00-04-10 180.. nonce: eWDjCJ 181.. section: Library 182 183:func:`unittest.mock.patch.dict` used as a decorator with string target 184resolves the target during function call instead of during decorator 185construction. Patch by Karthikeyan Singaravelan. 186 187.. 188 189.. bpo: 36018 190.. date: 2019-02-21-15-47-00 191.. nonce: qt7QUe 192.. section: Library 193 194Add statistics.NormalDist, a tool for creating and manipulating normal 195distributions of random variable. Features a composite class that treats 196the mean and standard deviation of measurement data as single entity. 197 198.. 199 200.. bpo: 35904 201.. date: 2019-02-16-00-55-52 202.. nonce: V88MCD 203.. section: Library 204 205Added statistics.fmean() as a faster, floating point variant of the existing 206mean() function. 207 208.. 209 210.. bpo: 35918 211.. date: 2019-02-11-16-23-10 212.. nonce: oGDlpT 213.. section: Library 214 215Removed broken ``has_key`` method from 216multiprocessing.managers.SyncManager.dict. Contributed by Rémi Lapeyre. 217 218.. 219 220.. bpo: 18283 221.. date: 2019-02-11-09-24-08 222.. nonce: BT3Jhc 223.. section: Library 224 225Add support for bytes to :func:`shutil.which`. 226 227.. 228 229.. bpo: 35960 230.. date: 2019-02-10-20-57-12 231.. nonce: bh-6Ja 232.. section: Library 233 234Fix :func:`dataclasses.field` throwing away empty mapping objects passed as 235metadata. 236 237.. 238 239.. bpo: 35500 240.. date: 2019-02-10-00-00-13 241.. nonce: 1HOMmo 242.. section: Library 243 244Write expected and actual call parameters on separate lines in 245:meth:`unittest.mock.Mock.assert_called_with` assertion errors. Contributed 246by Susan Su. 247 248.. 249 250.. bpo: 35931 251.. date: 2019-02-07-16-22-50 252.. nonce: _63i7B 253.. section: Library 254 255The :mod:`pdb` ``debug`` command now gracefully handles syntax errors. 256 257.. 258 259.. bpo: 24209 260.. date: 2019-02-06-01-40-55 261.. nonce: awtwPD 262.. section: Library 263 264In http.server script, rely on getaddrinfo to bind to preferred address 265based on the bind parameter. Now default bind or binding to a name may bind 266to IPv6 or dual-stack, depending on the environment. 267 268.. 269 270.. bpo: 35321 271.. date: 2019-02-02-01-53-36 272.. nonce: 1Y4DU4 273.. section: Library 274 275Set ``__spec__.origin`` of ``_frozen_importlib`` to frozen so that it 276matches the behavior of ``_frozen_importlib_external``. Patch by Nina 277Zakharenko. 278 279.. 280 281.. bpo: 35378 282.. date: 2019-01-21-02-15-20 283.. nonce: 4oF03i 284.. section: Library 285 286Fix a reference issue inside :class:`multiprocessing.Pool` that caused the 287pool to remain alive if it was deleted without being closed or terminated 288explicitly. A new strong reference is added to the pool iterators to link 289the lifetime of the pool to the lifetime of its iterators so the pool does 290not get destroyed if a pool iterator is still alive. 291 292.. 293 294.. bpo: 34294 295.. date: 2019-01-14-11-53-10 296.. nonce: 3JFdg2 297.. section: Library 298 299re module, fix wrong capturing groups in rare cases. :func:`re.search`, 300:func:`re.findall`, :func:`re.sub` and other functions that scan through 301string looking for a match, should reset capturing groups between two match 302attempts. Patch by Ma Lin. 303 304.. 305 306.. bpo: 35615 307.. date: 2018-12-30-20-00-05 308.. nonce: Uz1SVh 309.. section: Library 310 311:mod:`weakref`: Fix a RuntimeError when copying a WeakKeyDictionary or a 312WeakValueDictionary, due to some keys or values disappearing while 313iterating. 314 315.. 316 317.. bpo: 35606 318.. date: 2018-12-29-21-59-03 319.. nonce: NjGjou 320.. section: Library 321 322Implement :func:`math.prod` as analogous function to :func:`sum` that 323returns the product of a 'start' value (default: 1) times an iterable of 324numbers. Patch by Pablo Galindo. 325 326.. 327 328.. bpo: 32417 329.. date: 2018-12-04-13-35-36 330.. nonce: _Y9SKM 331.. section: Library 332 333Performing arithmetic between :class:`datetime.datetime` subclasses and 334:class:`datetime.timedelta` now returns an object of the same type as the 335:class:`datetime.datetime` subclass. As a result, 336:meth:`datetime.datetime.astimezone` and alternate constructors like 337:meth:`datetime.datetime.now` and :meth:`datetime.fromtimestamp` called with 338a ``tz`` argument now *also* retain their subclass. 339 340.. 341 342.. bpo: 35153 343.. date: 2018-11-03-12-38-03 344.. nonce: 009pdF 345.. section: Library 346 347Add *headers* optional keyword-only parameter to 348:class:`xmlrpc.client.ServerProxy`, :class:`xmlrpc.client.Transport` and 349:class:`xmlrpc.client.SafeTransport`. Patch by Cédric Krier. 350 351.. 352 353.. bpo: 34572 354.. date: 2018-09-05-03-02-32 355.. nonce: ayisd2 356.. section: Library 357 358Fix C implementation of pickle.loads to use importlib's locking mechanisms, 359and thereby avoid using partially-loaded modules. Patch by Tim Burgess. 360 361.. 362 363.. bpo: 36083 364.. date: 2019-02-24-12-40-13 365.. nonce: JX7zbv 366.. section: Documentation 367 368Fix formatting of --check-hash-based-pycs options in the manpage Synopsis. 369 370.. 371 372.. bpo: 36007 373.. date: 2019-02-15-15-33-41 374.. nonce: OTFrza 375.. section: Documentation 376 377Bump minimum sphinx version to 1.8. Patch by Anthony Sottile. 378 379.. 380 381.. bpo: 22062 382.. date: 2018-07-28-12-41-01 383.. nonce: TaN2hn 384.. section: Documentation 385 386Update documentation and docstrings for pathlib. Original patch by Mike 387Short. 388 389.. 390 391.. bpo: 27313 392.. date: 2019-02-24-01-58-38 393.. nonce: Sj9veH 394.. section: Tests 395 396Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa Tk. 397 398.. 399 400.. bpo: 36019 401.. date: 2019-02-21-14-23-51 402.. nonce: zS_OUi 403.. section: Tests 404 405Add test.support.TEST_HTTP_URL and replace references of 406http://www.example.com by this new constant. Contributed by Stéphane Wirtel. 407 408.. 409 410.. bpo: 36037 411.. date: 2019-02-19-15-21-14 412.. nonce: 75wG9_ 413.. section: Tests 414 415Fix test_ssl for strict OpenSSL configuration like RHEL8 strict crypto 416policy. Use older TLS version for minimum TLS version of the server SSL 417context if needed, to test TLS version older than default minimum TLS 418version. 419 420.. 421 422.. bpo: 35798 423.. date: 2019-02-16-15-19-31 424.. nonce: JF16MP 425.. section: Tests 426 427Added :func:`test.support.check_syntax_warning`. 428 429.. 430 431.. bpo: 35505 432.. date: 2019-02-12-01-33-08 433.. nonce: N9ba_K 434.. section: Tests 435 436Make test_imap4_host_default_value independent on whether the local IMAP 437server is running. 438 439.. 440 441.. bpo: 35917 442.. date: 2019-02-06-18-06-16 443.. nonce: -Clv1L 444.. section: Tests 445 446multiprocessing: provide unit tests for SyncManager and SharedMemoryManager 447classes + all the shareable types which are supposed to be supported by 448them. (patch by Giampaolo Rodola) 449 450.. 451 452.. bpo: 35704 453.. date: 2019-01-10-09-14-58 454.. nonce: FLglYo 455.. section: Tests 456 457Skip ``test_shutil.test_unpack_archive_xztar`` to prevent a MemoryError on 45832-bit AIX when MAXDATA setting is less than 0x20000000. 459 460Patch by Michael Felt (aixtools) 461 462.. 463 464.. bpo: 34720 465.. date: 2018-12-26-12-31-16 466.. nonce: T268vz 467.. section: Tests 468 469Assert m_state != NULL to mimic GC traversal functions that do not correctly 470handle module creation when the module state has not been created. 471 472.. 473 474.. bpo: 35976 475.. date: 2019-02-11-20-07-43 476.. nonce: toap7O 477.. section: Windows 478 479Added ARM build support to Windows build files in PCBuild. 480 481.. 482 483.. bpo: 35692 484.. date: 2019-02-02-16-23-57 485.. nonce: cIiiE9 486.. section: Windows 487 488``pathlib`` no longer raises when checking file and directory existence on 489drives that are not ready 490 491.. 492 493.. bpo: 35872 494.. date: 2019-02-02-15-57-19 495.. nonce: Bba2n7 496.. section: Windows 497 498Uses the base Python executable when invoking venv in a virtual environment 499 500.. 501 502.. bpo: 35873 503.. date: 2019-02-02-15-56-50 504.. nonce: UW-qS9 505.. section: Windows 506 507Prevents venv paths being inherited by child processes 508 509.. 510 511.. bpo: 35299 512.. date: 2019-02-02-14-47-12 513.. nonce: 1rgEzd 514.. section: Windows 515 516Fix sysconfig detection of the source directory and distutils handling of 517pyconfig.h during PGO profiling 518 519.. 520 521.. bpo: 24310 522.. date: 2019-02-23-22-31-20 523.. nonce: j_vJQl 524.. section: IDLE 525 526IDLE -- Document settings dialog font tab sample. 527 528.. 529 530.. bpo: 35833 531.. date: 2019-02-08-22-14-24 532.. nonce: XKFRvF 533.. section: IDLE 534 535Revise IDLE doc for control codes sent to Shell. Add a code example block. 536 537.. 538 539.. bpo: 35689 540.. date: 2019-01-08-17-51-44 541.. nonce: LlaqR8 542.. section: IDLE 543 544Add docstrings and unittests for colorizer.py. 545