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