1 .. bpo: 27095 2 .. date: 9332 3 .. nonce: 92UoyH 4 .. release date: 2016-06-13 5 .. section: Core and Builtins 6 7 Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes. Patch by Demur 8 Rumed. 9 10 .. 11 12 .. bpo: 27190 13 .. date: 9331 14 .. nonce: DHDFeD 15 .. section: Core and Builtins 16 17 Raise NotSupportedError if sqlite3 is older than 3.3.1. Patch by Dave 18 Sawyer. 19 20 .. 21 22 .. bpo: 27286 23 .. date: 9330 24 .. nonce: U8q6B1 25 .. section: Core and Builtins 26 27 Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling function with 28 generalized unpacking (PEP 448) and conflicting keyword names could cause 29 undefined behavior. 30 31 .. 32 33 .. bpo: 27140 34 .. date: 9329 35 .. nonce: uc39-1 36 .. section: Core and Builtins 37 38 Added BUILD_CONST_KEY_MAP opcode. 39 40 .. 41 42 .. bpo: 27186 43 .. date: 9328 44 .. nonce: EAnCS7 45 .. section: Core and Builtins 46 47 Add support for os.PathLike objects to open() (part of PEP 519). 48 49 .. 50 51 .. bpo: 27066 52 .. date: 9327 53 .. nonce: SNExZi 54 .. section: Core and Builtins 55 56 Fixed SystemError if a custom opener (for open()) returns a negative number 57 without setting an exception. 58 59 .. 60 61 .. bpo: 26983 62 .. date: 9326 63 .. nonce: A0f3fK 64 .. section: Core and Builtins 65 66 float() now always return an instance of exact float. The deprecation 67 warning is emitted if __float__ returns an instance of a strict subclass of 68 float. In a future versions of Python this can be an error. 69 70 .. 71 72 .. bpo: 27097 73 .. date: 9325 74 .. nonce: woRKey 75 .. section: Core and Builtins 76 77 Python interpreter is now about 7% faster due to optimized instruction 78 decoding. Based on patch by Demur Rumed. 79 80 .. 81 82 .. bpo: 26647 83 .. date: 9324 84 .. nonce: DLSzRi 85 .. section: Core and Builtins 86 87 Python interpreter now uses 16-bit wordcode instead of bytecode. Patch by 88 Demur Rumed. 89 90 .. 91 92 .. bpo: 23275 93 .. date: 9323 94 .. nonce: YGPb_y 95 .. section: Core and Builtins 96 97 Allow assigning to an empty target list in round brackets: () = iterable. 98 99 .. 100 101 .. bpo: 27243 102 .. date: 9322 103 .. nonce: U36M4E 104 .. section: Core and Builtins 105 106 Update the __aiter__ protocol: instead of returning an awaitable that 107 resolves to an asynchronous iterator, the asynchronous iterator should be 108 returned directly. Doing the former will trigger a 109 PendingDeprecationWarning. 110 111 .. 112 113 .. bpo: 0 114 .. date: 9321 115 .. nonce: nBpVM1 116 .. section: Library 117 118 Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants 119 exposed on the API which are not implemented on GNU/Hurd. They would not 120 work at runtime anyway. 121 122 .. 123 124 .. bpo: 27025 125 .. date: 9320 126 .. nonce: ffzxpX 127 .. section: Library 128 129 Generated names for Tkinter widgets are now more meaningful and recognizable. 130 131 .. 132 133 .. bpo: 25455 134 .. date: 9319 135 .. nonce: k10GoO 136 .. section: Library 137 138 Fixed crashes in repr of recursive ElementTree.Element and functools.partial 139 objects. 140 141 .. 142 143 .. bpo: 27294 144 .. date: 9318 145 .. nonce: XPCURr 146 .. section: Library 147 148 Improved repr for Tkinter event objects. 149 150 .. 151 152 .. bpo: 20508 153 .. date: 9317 154 .. nonce: 3NMbT2 155 .. section: Library 156 157 Improve exception message of IPv{4,6}Network.__getitem__. Patch by Gareth 158 Rees. 159 160 .. 161 162 .. bpo: 26556 163 .. date: 9316 164 .. nonce: v5j2uL 165 .. original section: Library 166 .. section: Security 167 168 Update expat to 2.1.1, fixes CVE-2015-1283. 169 170 .. 171 172 .. bpo: 0 173 .. date: 9315 174 .. nonce: PHOAdg 175 .. original section: Library 176 .. section: Security 177 178 Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team 179 Oststrom. 180 181 .. 182 183 .. bpo: 21386 184 .. date: 9314 185 .. nonce: DjV72U 186 .. section: Library 187 188 Implement missing IPv4Address.is_global property. It was documented since 189 07a5610bae9d. Initial patch by Roger Luethi. 190 191 .. 192 193 .. bpo: 27029 194 .. date: 9313 195 .. nonce: dmycvw 196 .. section: Library 197 198 Removed deprecated support of universal newlines mode from ZipFile.open(). 199 200 .. 201 202 .. bpo: 27030 203 .. date: 9312 204 .. nonce: p29J7m 205 .. section: Library 206 207 Unknown escapes consisting of ``'\'`` and an ASCII letter in regular 208 expressions now are errors. The re.LOCALE flag now can be used only with 209 bytes patterns. 210 211 .. 212 213 .. bpo: 27186 214 .. date: 9311 215 .. nonce: UYiwoh 216 .. section: Library 217 218 Add os.PathLike support to DirEntry (part of PEP 519). Initial patch by 219 Jelle Zijlstra. 220 221 .. 222 223 .. bpo: 20900 224 .. date: 9310 225 .. nonce: H5YQPR 226 .. section: Library 227 228 distutils register command now decodes HTTP responses correctly. Initial 229 patch by ingrid. 230 231 .. 232 233 .. bpo: 27186 234 .. date: 9309 235 .. nonce: Xo4c_F 236 .. section: Library 237 238 Add os.PathLike support to pathlib, removing its provisional status (part of 239 PEP 519). Initial patch by Dusty Phillips. 240 241 .. 242 243 .. bpo: 27186 244 .. date: 9308 245 .. nonce: ZD1wpp 246 .. section: Library 247 248 Add support for os.PathLike objects to os.fsencode() and os.fsdecode() (part 249 of PEP 519). 250 251 .. 252 253 .. bpo: 27186 254 .. date: 9307 255 .. nonce: y7YRfj 256 .. section: Library 257 258 Introduce os.PathLike and os.fspath() (part of PEP 519). 259 260 .. 261 262 .. bpo: 0 263 .. date: 9306 264 .. nonce: iYIeng 265 .. section: Library 266 267 A new version of typing.py provides several new classes and features: 268 @overload outside stubs, Reversible, DefaultDict, Text, ContextManager, 269 Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of 270 the new features are not yet implemented in mypy or other static analyzers). 271 Also classes for PEP 492 (Awaitable, AsyncIterable, AsyncIterator) have been 272 added (in fact they made it into 3.5.1 but were never mentioned). 273 274 .. 275 276 .. bpo: 25738 277 .. date: 9305 278 .. nonce: mED9w4 279 .. section: Library 280 281 Stop http.server.BaseHTTPRequestHandler.send_error() from sending a message 282 body for 205 Reset Content. Also, don't send Content header fields in 283 responses that don't have a body. Patch by Susumu Koshiba. 284 285 .. 286 287 .. bpo: 21313 288 .. date: 9304 289 .. nonce: W30MBr 290 .. section: Library 291 292 Fix the "platform" module to tolerate when sys.version contains truncated 293 build information. 294 295 .. 296 297 .. bpo: 26839 298 .. date: 9303 299 .. nonce: yVvy7R 300 .. original section: Library 301 .. section: Security 302 303 On Linux, :func:`os.urandom` now calls ``getrandom()`` with 304 ``GRND_NONBLOCK`` to fall back on reading ``/dev/urandom`` if the urandom 305 entropy pool is not initialized yet. Patch written by Colm Buckley. 306 307 .. 308 309 .. bpo: 23883 310 .. date: 9302 311 .. nonce: tsZUiM 312 .. section: Library 313 314 Added missing APIs to __all__ to match the documented APIs for the following 315 modules: cgi, mailbox, mimetypes, plistlib and smtpd. Patches by Jacek 316 Koodziej. 317 318 .. 319 320 .. bpo: 27164 321 .. date: 9301 322 .. nonce: 6wmjx2 323 .. section: Library 324 325 In the zlib module, allow decompressing raw Deflate streams with a 326 predefined zdict. Based on patch by Xiang Zhang. 327 328 .. 329 330 .. bpo: 24291 331 .. date: 9300 332 .. nonce: Ac6HvL 333 .. section: Library 334 335 Fix wsgiref.simple_server.WSGIRequestHandler to completely write data to the 336 client. Previously it could do partial writes and truncate data. Also, 337 wsgiref.handler.ServerHandler can now handle stdout doing partial writes, 338 but this is deprecated. 339 340 .. 341 342 .. bpo: 21272 343 .. date: 9299 344 .. nonce: unScIG 345 .. section: Library 346 347 Use _sysconfigdata.py to initialize distutils.sysconfig. 348 349 .. 350 351 .. bpo: 19611 352 .. date: 9298 353 .. nonce: MT-Qga 354 .. section: Library 355 356 :mod:`inspect` now reports the implicit ``.0`` parameters generated by the 357 compiler for comprehension and generator expression scopes as if they were 358 positional-only parameters called ``implicit0``. Patch by Jelle Zijlstra. 359 360 .. 361 362 .. bpo: 26809 363 .. date: 9297 364 .. nonce: ya7JMb 365 .. section: Library 366 367 Add ``__all__`` to :mod:`string`. Patch by Emanuel Barry. 368 369 .. 370 371 .. bpo: 26373 372 .. date: 9296 373 .. nonce: P6qz6o 374 .. section: Library 375 376 subprocess.Popen.communicate now correctly ignores BrokenPipeError when the 377 child process dies before .communicate() is called in more/all 378 circumstances. 379 380 .. 381 382 .. bpo: 0 383 .. date: 9295 384 .. nonce: eKchPz 385 .. section: Library 386 387 signal, socket, and ssl module IntEnum constant name lookups now return a 388 consistent name for values having multiple names. Ex: signal.Signals(6) now 389 refers to itself as signal.SIGALRM rather than flipping between that and 390 signal.SIGIOT based on the interpreter's hash randomization seed. 391 392 .. 393 394 .. bpo: 27167 395 .. date: 9294 396 .. nonce: orA_j0 397 .. section: Library 398 399 Clarify the subprocess.CalledProcessError error message text when the child 400 process died due to a signal. 401 402 .. 403 404 .. bpo: 25931 405 .. date: 9293 406 .. nonce: W7h6Am 407 .. section: Library 408 409 Don't define socketserver.Forking* names on platforms such as Windows that 410 do not support os.fork(). 411 412 .. 413 414 .. bpo: 21776 415 .. date: 9292 416 .. nonce: 04eQfa 417 .. section: Library 418 419 distutils.upload now correctly handles HTTPError. Initial patch by Claudiu 420 Popa. 421 422 .. 423 424 .. bpo: 26526 425 .. date: 9291 426 .. nonce: ScewjJ 427 .. section: Library 428 429 Replace custom parse tree validation in the parser module with a simple DFA 430 validator. 431 432 .. 433 434 .. bpo: 27114 435 .. date: 9290 436 .. nonce: bGCuAM 437 .. section: Library 438 439 Fix SSLContext._load_windows_store_certs fails with PermissionError 440 441 .. 442 443 .. bpo: 18383 444 .. date: 9289 445 .. nonce: jr-b0l 446 .. section: Library 447 448 Avoid creating duplicate filters when using filterwarnings and simplefilter. 449 Based on patch by Alex Shkop. 450 451 .. 452 453 .. bpo: 23026 454 .. date: 9288 455 .. nonce: V2rgYX 456 .. section: Library 457 458 winreg.QueryValueEx() now return an integer for REG_QWORD type. 459 460 .. 461 462 .. bpo: 26741 463 .. date: 9287 464 .. nonce: fsbb42 465 .. section: Library 466 467 subprocess.Popen destructor now emits a ResourceWarning warning if the child 468 process is still running. 469 470 .. 471 472 .. bpo: 27056 473 .. date: 9286 474 .. nonce: rk-BBL 475 .. section: Library 476 477 Optimize pickle.load() and pickle.loads(), up to 10% faster to deserialize a 478 lot of small objects. 479 480 .. 481 482 .. bpo: 21271 483 .. date: 9285 484 .. nonce: bHIfFA 485 .. section: Library 486 487 New keyword only parameters in reset_mock call. 488 489 .. 490 491 .. bpo: 5124 492 .. date: 9284 493 .. nonce: 4kwBvM 494 .. section: IDLE 495 496 Paste with text selected now replaces the selection on X11. This matches how 497 paste works on Windows, Mac, most modern Linux apps, and ttk widgets. 498 Original patch by Serhiy Storchaka. 499 500 .. 501 502 .. bpo: 24750 503 .. date: 9283 504 .. nonce: wA-pc9 505 .. section: IDLE 506 507 Switch all scrollbars in IDLE to ttk versions. Where needed, minimal tests 508 are added to cover changes. 509 510 .. 511 512 .. bpo: 24759 513 .. date: 9282 514 .. nonce: 76HB4w 515 .. section: IDLE 516 517 IDLE requires tk 8.5 and availability ttk widgets. Delete now unneeded tk 518 version tests and code for older versions. Add test for IDLE syntax 519 colorizer. 520 521 .. 522 523 .. bpo: 27239 524 .. date: 9281 525 .. nonce: fToURh 526 .. section: IDLE 527 528 idlelib.macosx.isXyzTk functions initialize as needed. 529 530 .. 531 532 .. bpo: 27262 533 .. date: 9280 534 .. nonce: t7ckly 535 .. section: IDLE 536 537 move Aqua unbinding code, which enable context menus, to macosx. 538 539 .. 540 541 .. bpo: 24759 542 .. date: 9279 543 .. nonce: ccmySu 544 .. section: IDLE 545 546 Make clear in idlelib.idle_test.__init__ that the directory is a private 547 implementation of test.test_idle and tool for maintainers. 548 549 .. 550 551 .. bpo: 27196 552 .. date: 9278 553 .. nonce: 3yp8TF 554 .. section: IDLE 555 556 Stop 'ThemeChanged' warnings when running IDLE tests. These persisted after 557 other warnings were suppressed in #20567. Apply Serhiy Storchaka's 558 update_idletasks solution to four test files. Record this additional advice 559 in idle_test/README.txt 560 561 .. 562 563 .. bpo: 20567 564 .. date: 9277 565 .. nonce: hhT32b 566 .. section: IDLE 567 568 Revise idle_test/README.txt with advice about avoiding tk warning messages 569 from tests. Apply advice to several IDLE tests. 570 571 .. 572 573 .. bpo: 24225 574 .. date: 9276 575 .. nonce: NxQCka 576 .. section: IDLE 577 578 Update idlelib/README.txt with new file names and event handlers. 579 580 .. 581 582 .. bpo: 27156 583 .. date: 9275 584 .. nonce: j1N9br 585 .. section: IDLE 586 587 Remove obsolete code not used by IDLE. 588 589 .. 590 591 .. bpo: 27117 592 .. date: 9274 593 .. nonce: YrLPf4 594 .. section: IDLE 595 596 Make colorizer htest and turtledemo work with dark themes. Move code for 597 configuring text widget colors to a new function. 598 599 .. 600 601 .. bpo: 24225 602 .. date: 9273 603 .. nonce: RbyFuV 604 .. section: IDLE 605 606 Rename many `idlelib/*.py` and `idle_test/test_*.py` files. Edit files to 607 replace old names with new names when the old name referred to the module 608 rather than the class it contained. See the issue and IDLE section in What's 609 New in 3.6 for more. 610 611 .. 612 613 .. bpo: 26673 614 .. date: 9272 615 .. nonce: dh0_Ij 616 .. section: IDLE 617 618 When tk reports font size as 0, change to size 10. Such fonts on Linux 619 prevented the configuration dialog from opening. 620 621 .. 622 623 .. bpo: 21939 624 .. date: 9271 625 .. nonce: pWz-OK 626 .. section: IDLE 627 628 Add test for IDLE's percolator. Original patch by Saimadhav Heblikar. 629 630 .. 631 632 .. bpo: 21676 633 .. date: 9270 634 .. nonce: hqy6Qh 635 .. section: IDLE 636 637 Add test for IDLE's replace dialog. Original patch by Saimadhav Heblikar. 638 639 .. 640 641 .. bpo: 18410 642 .. date: 9269 643 .. nonce: DLSPZo 644 .. section: IDLE 645 646 Add test for IDLE's search dialog. Original patch by Westley Martnez. 647 648 .. 649 650 .. bpo: 21703 651 .. date: 9268 652 .. nonce: bEU8sP 653 .. section: IDLE 654 655 Add test for undo delegator. Patch mostly by Saimadhav Heblikar . 656 657 .. 658 659 .. bpo: 27044 660 .. date: 9267 661 .. nonce: 4y7tyM 662 .. section: IDLE 663 664 Add ConfigDialog.remove_var_callbacks to stop memory leaks. 665 666 .. 667 668 .. bpo: 23977 669 .. date: 9266 670 .. nonce: miDjj8 671 .. section: IDLE 672 673 Add more asserts to test_delegator. 674 675 .. 676 677 .. bpo: 16484 678 .. date: 9265 679 .. nonce: ITzcGg 680 .. section: Documentation 681 682 Change the default PYTHONDOCS URL to "https:", and fix the resulting links 683 to use lowercase. Patch by Sean Rodman, test by Kaushik Nadikuditi. 684 685 .. 686 687 .. bpo: 24136 688 .. date: 9264 689 .. nonce: MUK0zK 690 .. section: Documentation 691 692 Document the new PEP 448 unpacking syntax of 3.5. 693 694 .. 695 696 .. bpo: 22558 697 .. date: 9263 698 .. nonce: Pk02YC 699 .. section: Documentation 700 701 Add remaining doc links to source code for Python-coded modules. Patch by 702 Yoni Lavi. 703 704 .. 705 706 .. bpo: 25285 707 .. date: 9262 708 .. nonce: 6CxIBo 709 .. section: Tests 710 711 regrtest now uses subprocesses when the -j1 command line option is used: 712 each test file runs in a fresh child process. Before, the -j1 option was 713 ignored. 714 715 .. 716 717 .. bpo: 25285 718 .. date: 9261 719 .. nonce: ENYqUQ 720 .. section: Tests 721 722 Tools/buildbot/test.bat script now uses -j1 by default to run each test file 723 in fresh child process. 724 725 .. 726 727 .. bpo: 27064 728 .. date: 9260 729 .. nonce: xeY1WF 730 .. section: Windows 731 732 The py.exe launcher now defaults to Python 3. The Windows launcher 733 ``py.exe`` no longer prefers an installed Python 2 version over Python 3 by 734 default when used interactively. 735 736 .. 737 738 .. bpo: 27229 739 .. date: 9259 740 .. nonce: C2NDch 741 .. section: Build 742 743 Fix the cross-compiling pgen rule for in-tree builds. Patch by Xavier de 744 Gaye. 745 746 .. 747 748 .. bpo: 26930 749 .. date: 9258 750 .. nonce: Sqz2O3 751 .. section: Build 752 753 Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 754 1.0.2h. 755 756 .. 757 758 .. bpo: 17500 759 .. date: 9257 760 .. nonce: QTZbRV 761 .. section: Windows 762 763 Remove unused and outdated icons. (See also: 764 https://github.com/python/pythondotorg/issues/945) 765 766 .. 767 768 .. bpo: 27186 769 .. date: 9256 770 .. nonce: Ll8R-t 771 .. section: C API 772 773 Add the PyOS_FSPath() function (part of PEP 519). 774 775 .. 776 777 .. bpo: 26282 778 .. date: 9255 779 .. nonce: Rp-R6L 780 .. section: C API 781 782 PyArg_ParseTupleAndKeywords() now supports positional-only parameters. 783 784 .. 785 786 .. bpo: 26282 787 .. date: 9254 788 .. nonce: DRRV-- 789 .. section: Tools/Demos 790 791 Argument Clinic now supports positional-only and keyword parameters in the 792 same function. 793