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