1.. bpo: 28414 2.. date: 2017-08-06-14-43-45 3.. nonce: mzZ6vD 4.. release date: 2018-02-27 5.. section: Security 6 7The ssl module now allows users to perform their own IDN en/decoding when 8using SNI. 9 10.. 11 12.. bpo: 32889 13.. date: 2018-02-20-21-53-48 14.. nonce: J6eWy5 15.. section: Core and Builtins 16 17Update Valgrind suppression list to account for the rename of 18``Py_ADDRESS_IN_RANG`` to ``address_in_range``. 19 20.. 21 22.. bpo: 31356 23.. date: 2018-02-02-08-50-46 24.. nonce: MNwUOQ 25.. section: Core and Builtins 26 27Remove the new API added in bpo-31356 (gc.ensure_disabled() context 28manager). 29 30.. 31 32.. bpo: 32305 33.. date: 2018-02-01-10-56-41 34.. nonce: dkU9Qa 35.. section: Core and Builtins 36 37For namespace packages, ensure that both ``__file__`` and 38``__spec__.origin`` are set to None. 39 40.. 41 42.. bpo: 32303 43.. date: 2018-02-01-10-16-28 44.. nonce: VsvhSl 45.. section: Core and Builtins 46 47Make sure ``__spec__.loader`` matches ``__loader__`` for namespace packages. 48 49.. 50 51.. bpo: 32711 52.. date: 2018-01-29-14-36-37 53.. nonce: 8hQFJP 54.. section: Core and Builtins 55 56Fix the warning messages for Python/ast_unparse.c. Patch by Stéphane Wirtel 57 58.. 59 60.. bpo: 32583 61.. date: 2018-01-26-21-20-21 62.. nonce: Fh3fau 63.. section: Core and Builtins 64 65Fix possible crashing in builtin Unicode decoders caused by write 66out-of-bound errors when using customized decode error handlers. 67 68.. 69 70.. bpo: 32960 71.. date: 2018-02-26-20-04-40 72.. nonce: 48r0Ml 73.. section: Library 74 75For dataclasses, disallow inheriting frozen from non-frozen classes, and 76also disallow inheriting non-frozen from frozen classes. This restriction 77will be relaxed at a future date. 78 79.. 80 81.. bpo: 32713 82.. date: 2018-02-26-13-16-36 83.. nonce: 55yegW 84.. section: Library 85 86Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey 87Fuhrer. 88 89.. 90 91.. bpo: 32951 92.. date: 2018-02-25-18-22-01 93.. nonce: gHrCXq 94.. section: Library 95 96Direct instantiation of SSLSocket and SSLObject objects is now prohibited. 97The constructors were never documented, tested, or designed as public 98constructors. Users were suppose to use ssl.wrap_socket() or SSLContext. 99 100.. 101 102.. bpo: 32929 103.. date: 2018-02-25-13-47-48 104.. nonce: X2gTDH 105.. section: Library 106 107Remove the tri-state parameter "hash", and add the boolean "unsafe_hash". If 108unsafe_hash is True, add a __hash__ function, but if a __hash__ exists, 109raise TypeError. If unsafe_hash is False, add a __hash__ based on the 110values of eq= and frozen=. The unsafe_hash=False behavior is the same as 111the old hash=None behavior. unsafe_hash=False is the default, just as 112hash=None used to be. 113 114.. 115 116.. bpo: 32947 117.. date: 2018-02-25-13-06-21 118.. nonce: mqStVW 119.. section: Library 120 121Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future 122compatibility with OpenSSL 1.1.1. 123 124.. 125 126.. bpo: 30622 127.. date: 2018-02-24-21-40-42 128.. nonce: dQjxSe 129.. section: Library 130 131The ssl module now detects missing NPN support in LibreSSL. 132 133.. 134 135.. bpo: 32922 136.. date: 2018-02-23-19-12-04 137.. nonce: u-xe0B 138.. section: Library 139 140dbm.open() now encodes filename with the filesystem encoding rather than 141default encoding. 142 143.. 144 145.. bpo: 32859 146.. date: 2018-02-19-17-46-31 147.. nonce: kAT-Xp 148.. section: Library 149 150In ``os.dup2``, don't check every call whether the ``dup3`` syscall exists 151or not. 152 153.. 154 155.. bpo: 32556 156.. date: 2018-02-19-14-27-51 157.. nonce: CsRsgr 158.. section: Library 159 160nt._getfinalpathname, nt._getvolumepathname and nt._getdiskusage now 161correctly convert from bytes. 162 163.. 164 165.. bpo: 25988 166.. date: 2018-02-18-13-04-59 167.. nonce: ACidKC 168.. section: Library 169 170Emit a :exc:`DeprecationWarning` when using or importing an ABC directly 171from :mod:`collections` rather than from :mod:`collections.abc`. 172 173.. 174 175.. bpo: 21060 176.. date: 2018-02-17-19-20-19 177.. nonce: S1Z-x6 178.. section: Library 179 180Rewrite confusing message from setup.py upload from "No dist file created in 181earlier command" to the more helpful "Must create and upload files in one 182command". 183 184.. 185 186.. bpo: 32852 187.. date: 2018-02-15-12-04-29 188.. nonce: HDqIxM 189.. section: Library 190 191Make sure sys.argv remains as a list when running trace. 192 193.. 194 195.. bpo: 31333 196.. date: 2018-02-15-08-18-52 197.. nonce: 4fF-gM 198.. section: Library 199 200``_abc`` module is added. It is a speedup module with C implementations for 201various functions and methods in ``abc``. Creating an ABC subclass and 202calling ``isinstance`` or ``issubclass`` with an ABC subclass are up to 1.5x 203faster. In addition, this makes Python start-up up to 10% faster. 204Note that the new implementation hides internal registry and caches, 205previously accessible via private attributes ``_abc_registry``, 206``_abc_cache``, and ``_abc_negative_cache``. There are three debugging 207helper methods that can be used instead ``_dump_registry``, 208``_abc_registry_clear``, and ``_abc_caches_clear``. 209 210.. 211 212.. bpo: 32841 213.. date: 2018-02-14-00-21-24 214.. nonce: bvHDOc 215.. section: Library 216 217Fixed `asyncio.Condition` issue which silently ignored cancellation after 218notifying and cancelling a conditional lock. Patch by Bar Harel. 219 220.. 221 222.. bpo: 32819 223.. date: 2018-02-11-15-54-41 224.. nonce: ZTRX2Q 225.. section: Library 226 227ssl.match_hostname() has been simplified and no longer depends on re and 228ipaddress module for wildcard and IP addresses. Error reporting for invalid 229wildcards has been improved. 230 231.. 232 233.. bpo: 32394 234.. date: 2018-02-10-13-51-56 235.. nonce: dFM9SI 236.. section: Library 237 238socket: Remove TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on 239older version Windows during run-time. 240 241.. 242 243.. bpo: 31787 244.. date: 2018-02-09-21-41-56 245.. nonce: owSZ2t 246.. section: Library 247 248Fixed refleaks of ``__init__()`` methods in various modules. (Contributed by 249Oren Milman) 250 251.. 252 253.. bpo: 30157 254.. date: 2018-02-09-14-44-43 255.. nonce: lEiiAK 256.. section: Library 257 258Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last 259field is quoted. Patch by Jake Davis. 260 261.. 262 263.. bpo: 32792 264.. date: 2018-02-08-00-47-07 265.. nonce: NtyDb4 266.. section: Library 267 268collections.ChainMap() preserves the order of the underlying mappings. 269 270.. 271 272.. bpo: 32775 273.. date: 2018-02-07-19-12-10 274.. nonce: -T77_c 275.. section: Library 276 277:func:`fnmatch.translate()` no longer produces patterns which contain set 278operations. Sets starting with '[' or containing '--', '&&', '~~' or '||' 279will be interpreted differently in regular expressions in future versions. 280Currently they emit warnings. fnmatch.translate() now avoids producing 281patterns containing such sets by accident. 282 283.. 284 285.. bpo: 32622 286.. date: 2018-02-06-17-58-15 287.. nonce: AE0Jz7 288.. section: Library 289 290Implement native fast sendfile for Windows proactor event loop. 291 292.. 293 294.. bpo: 32777 295.. date: 2018-02-05-21-28-28 296.. nonce: C-wIXF 297.. section: Library 298 299Fix a rare but potential pre-exec child process deadlock in subprocess on 300POSIX systems when marking file descriptors inheritable on exec in the child 301process. This bug appears to have been introduced in 3.4. 302 303.. 304 305.. bpo: 32647 306.. date: 2018-02-05-13-31-42 307.. nonce: ktmfR_ 308.. section: Library 309 310The ctypes module used to depend on indirect linking for dlopen. The shared 311extension is now explicitly linked against libdl on platforms with dl. 312 313.. 314 315.. bpo: 32741 316.. date: 2018-02-01-17-54-08 317.. nonce: KUvOPL 318.. section: Library 319 320Implement ``asyncio.TimerHandle.when()`` method. 321 322.. 323 324.. bpo: 32691 325.. date: 2018-02-01-15-53-35 326.. nonce: VLWVTq 327.. section: Library 328 329Use mod_spec.parent when running modules with pdb 330 331.. 332 333.. bpo: 32734 334.. date: 2018-02-01-01-34-47 335.. nonce: gCV9AD 336.. section: Library 337 338Fixed ``asyncio.Lock()`` safety issue which allowed acquiring and locking 339the same lock multiple times, without it being free. Patch by Bar Harel. 340 341.. 342 343.. bpo: 32727 344.. date: 2018-01-30-17-46-18 345.. nonce: aHVsRC 346.. section: Library 347 348Do not include name field in SMTP envelope from address. Patch by Stéphane 349Wirtel 350 351.. 352 353.. bpo: 31453 354.. date: 2018-01-21-15-01-50 355.. nonce: cZiZBe 356.. section: Library 357 358Add TLSVersion constants and SSLContext.maximum_version / minimum_version 359attributes. The new API wraps OpenSSL 1.1 360https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html 361feature. 362 363.. 364 365.. bpo: 24334 366.. date: 2018-01-20-23-17-25 367.. nonce: GZuQLv 368.. section: Library 369 370Internal implementation details of ssl module were cleaned up. The SSLSocket 371has one less layer of indirection. Owner and session information are now 372handled by the SSLSocket and SSLObject constructor. Channel binding 373implementation has been simplified. 374 375.. 376 377.. bpo: 31848 378.. date: 2018-01-18-23-34-17 379.. nonce: M2cldy 380.. section: Library 381 382Fix the error handling in Aifc_read.initfp() when the SSND chunk is not 383found. Patch by Zackery Spytz. 384 385.. 386 387.. bpo: 32585 388.. date: 2018-01-18-13-09-00 389.. nonce: qpeijr 390.. section: Library 391 392Add Ttk spinbox widget to :mod:`tkinter.ttk`. Patch by Alan D Moore. 393 394.. 395 396.. bpo: 32221 397.. date: 2017-12-06-10-10-10 398.. nonce: ideco_ 399.. section: Library 400 401Various functions returning tuple containing IPv6 addresses now omit 402``%scope`` part since the same information is already encoded in *scopeid* 403tuple item. Especially this speeds up :func:`socket.recvfrom` when it 404receives multicast packet since useless resolving of network interface name 405is omitted. 406 407.. 408 409.. bpo: 30693 410.. date: 2017-11-27-15-09-49 411.. nonce: yC4mJ8 412.. section: Library 413 414The TarFile class now recurses directories in a reproducible way. 415 416.. 417 418.. bpo: 30693 419.. date: 2017-11-27-15-09-49 420.. nonce: yC4mJ7 421.. section: Library 422 423The ZipFile class now recurses directories in a reproducible way. 424 425.. 426 427.. bpo: 28124 428.. date: 2018-02-25-16-33-35 429.. nonce: _uzkgq 430.. section: Documentation 431 432The ssl module function ssl.wrap_socket() has been de-emphasized and 433deprecated in favor of the more secure and efficient 434SSLContext.wrap_socket() method. 435 436.. 437 438.. bpo: 17232 439.. date: 2018-02-23-12-48-03 440.. nonce: tmuTKL 441.. section: Documentation 442 443Clarify docs for -O and -OO. Patch by Terry Reedy. 444 445.. 446 447.. bpo: 32436 448.. date: 2018-02-14-11-10-41 449.. nonce: TTJ2jb 450.. section: Documentation 451 452Add documentation for the contextvars module (PEP 567). 453 454.. 455 456.. bpo: 32800 457.. date: 2018-02-10-15-16-04 458.. nonce: FyrqCk 459.. section: Documentation 460 461Update link to w3c doc for xml default namespaces. 462 463.. 464 465.. bpo: 11015 466.. date: 2018-02-10-12-48-38 467.. nonce: -gUf34 468.. section: Documentation 469 470Update :mod:`test.support` documentation. 471 472.. 473 474.. bpo: 8722 475.. date: 2018-02-03-06-11-37 476.. nonce: MPyVyj 477.. section: Documentation 478 479Document :meth:`__getattr__` behavior when property :meth:`get` method 480raises :exc:`AttributeError`. 481 482.. 483 484.. bpo: 32614 485.. date: 2018-02-02-07-41-57 486.. nonce: LSqzGw 487.. section: Documentation 488 489Modify RE examples in documentation to use raw strings to prevent 490:exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight the 491deprecation. 492 493.. 494 495.. bpo: 31972 496.. date: 2018-01-25-14-23-12 497.. nonce: w1m_8r 498.. section: Documentation 499 500Improve docstrings for `pathlib.PurePath` subclasses. 501 502.. 503 504.. bpo: 31809 505.. date: 2017-10-18-18-07-45 506.. nonce: KlQrkE 507.. section: Tests 508 509Add tests to verify connection with secp ECDH curves. 510 511.. 512 513.. bpo: 32898 514.. date: 2018-02-21-12-46-00 515.. nonce: M15bZh 516.. section: Build 517 518Fix the python debug build when using COUNT_ALLOCS. 519 520.. 521 522.. bpo: 32901 523.. date: 2018-02-23-00-47-13 524.. nonce: mGKz5_ 525.. section: Windows 526 527Update Tcl and Tk versions to 8.6.8 528 529.. 530 531.. bpo: 31966 532.. date: 2018-02-19-13-54-42 533.. nonce: _Q3HPb 534.. section: Windows 535 536Fixed WindowsConsoleIO.write() for writing empty data. 537 538.. 539 540.. bpo: 32409 541.. date: 2018-02-19-10-00-57 542.. nonce: nocuDg 543.. section: Windows 544 545Ensures activate.bat can handle Unicode contents. 546 547.. 548 549.. bpo: 32457 550.. date: 2018-02-19-08-54-06 551.. nonce: vVP0Iz 552.. section: Windows 553 554Improves handling of denormalized executable path when launching Python. 555 556.. 557 558.. bpo: 32370 559.. date: 2018-02-10-15-38-19 560.. nonce: kcKuct 561.. section: Windows 562 563Use the correct encoding for ipconfig output in the uuid module. Patch by 564Segev Finer. 565 566.. 567 568.. bpo: 29248 569.. date: 2018-02-07-17-50-48 570.. nonce: Xzwj-6 571.. section: Windows 572 573Fix :func:`os.readlink` on Windows, which was mistakenly treating the 574``PrintNameOffset`` field of the reparse data buffer as a number of 575characters instead of bytes. Patch by Craig Holmquist and SSE4. 576 577.. 578 579.. bpo: 32901 580.. date: 2018-02-27-17-33-15 581.. nonce: hQu0w3 582.. section: macOS 583 584Update macOS 10.9+ installer to Tcl/Tk 8.6.8. 585 586.. 587 588.. bpo: 32916 589.. date: 2018-02-23-07-32-36 590.. nonce: 4MsQ5F 591.. section: IDLE 592 593Change ``str`` to ``code`` in pyparse. 594 595.. 596 597.. bpo: 32905 598.. date: 2018-02-22-00-09-27 599.. nonce: VlXj0x 600.. section: IDLE 601 602Remove unused code in pyparse module. 603 604.. 605 606.. bpo: 32874 607.. date: 2018-02-19-10-56-41 608.. nonce: 6pZ9Gv 609.. section: IDLE 610 611Add tests for pyparse. 612 613.. 614 615.. bpo: 32837 616.. date: 2018-02-12-17-22-48 617.. nonce: -33QPl 618.. section: IDLE 619 620Using the system and place-dependent default encoding for open() is a bad 621idea for IDLE's system and location-independent files. 622 623.. 624 625.. bpo: 32826 626.. date: 2018-02-12-11-05-22 627.. nonce: IxNZrk 628.. section: IDLE 629 630Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI test 631test_file_buttons() only looks at initial ascii-only lines, but failed on 632systems where open() defaults to 'ascii' because readline() internally reads 633and decodes far enough ahead to encounter a non-ascii character in 634CREDITS.txt. 635 636.. 637 638.. bpo: 32765 639.. date: 2018-02-04-17-52-54 640.. nonce: qm0eCu 641.. section: IDLE 642 643Update configdialog General tab docstring to add new widgets to the widget 644list. 645 646.. 647 648.. bpo: 32222 649.. date: 2017-12-07-20-51-20 650.. nonce: hPBcGT 651.. section: Tools/Demos 652 653Fix pygettext not extracting docstrings for functions with type annotated 654arguments. Patch by Toby Harradine. 655