1.. bpo: 27473 2.. date: 9385 3.. nonce: _nOtTA 4.. release date: 2016-07-11 5.. section: Core and Builtins 6 7Fixed possible integer overflow in bytes and bytearray concatenations. 8Patch by Xiang Zhang. 9 10.. 11 12.. bpo: 23034 13.. date: 9384 14.. nonce: GWaUqn 15.. section: Core and Builtins 16 17The output of a special Python build with defined COUNT_ALLOCS, 18SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by default. It can 19be re-enabled using the "-X showalloccount" option. It now outputs to 20stderr instead of stdout. 21 22.. 23 24.. bpo: 27443 25.. date: 9383 26.. nonce: 87ZwZ1 27.. section: Core and Builtins 28 29__length_hint__() of bytearray iterators no longer return a negative integer 30for a resized bytearray. 31 32.. 33 34.. bpo: 27007 35.. date: 9382 36.. nonce: Gg8Um4 37.. section: Core and Builtins 38 39The fromhex() class methods of bytes and bytearray subclasses now return an 40instance of corresponding subclass. 41 42.. 43 44.. bpo: 26844 45.. date: 9381 46.. nonce: I0wdnY 47.. section: Library 48 49Fix error message for imp.find_module() to refer to 'path' instead of 50'name'. Patch by Lev Maximov. 51 52.. 53 54.. bpo: 23804 55.. date: 9380 56.. nonce: ipFvxc 57.. section: Library 58 59Fix SSL zero-length recv() calls to not block and not raise an error about 60unclean EOF. 61 62.. 63 64.. bpo: 27466 65.. date: 9379 66.. nonce: C_3a8E 67.. section: Library 68 69Change time format returned by http.cookie.time2netscape, confirming the 70netscape cookie format and making it consistent with documentation. 71 72.. 73 74.. bpo: 21708 75.. date: 9378 76.. nonce: RpPYiv 77.. section: Library 78 79Deprecated dbm.dumb behavior that differs from common dbm behavior: creating 80a database in 'r' and 'w' modes and modifying a database in 'r' mode. 81 82.. 83 84.. bpo: 26721 85.. date: 9377 86.. nonce: L37Y7r 87.. section: Library 88 89Change the socketserver.StreamRequestHandler.wfile attribute to implement 90BufferedIOBase. In particular, the write() method no longer does partial 91writes. 92 93.. 94 95.. bpo: 22115 96.. date: 9376 97.. nonce: vG5UQW 98.. section: Library 99 100Added methods trace_add, trace_remove and trace_info in the tkinter.Variable 101class. They replace old methods trace_variable, trace, trace_vdelete and 102trace_vinfo that use obsolete Tcl commands and might not work in future 103versions of Tcl. Fixed old tracing methods: trace_vdelete() with wrong mode 104no longer break tracing, trace_vinfo() now always returns a list of pairs of 105strings, tracing in the "u" mode now works. 106 107.. 108 109.. bpo: 26243 110.. date: 9375 111.. nonce: dBtlhI 112.. section: Library 113 114Only the level argument to zlib.compress() is keyword argument now. The 115first argument is positional-only. 116 117.. 118 119.. bpo: 27038 120.. date: 9374 121.. nonce: yGMV4h 122.. section: Library 123 124Expose the DirEntry type as os.DirEntry. Code patch by Jelle Zijlstra. 125 126.. 127 128.. bpo: 27186 129.. date: 9373 130.. nonce: OtorpF 131.. section: Library 132 133Update os.fspath()/PyOS_FSPath() to check the return value of __fspath__() 134to be either str or bytes. 135 136.. 137 138.. bpo: 18726 139.. date: 9372 140.. nonce: eIXHIl 141.. section: Library 142 143All optional parameters of the dump(), dumps(), load() and loads() functions 144and JSONEncoder and JSONDecoder class constructors in the json module are 145now keyword-only. 146 147.. 148 149.. bpo: 27319 150.. date: 9371 151.. nonce: vDl2zm 152.. section: Library 153 154Methods selection_set(), selection_add(), selection_remove() and 155selection_toggle() of ttk.TreeView now allow passing multiple items as 156multiple arguments instead of passing them as a tuple. Deprecated 157undocumented ability of calling the selection() method with arguments. 158 159.. 160 161.. bpo: 27079 162.. date: 9370 163.. nonce: c7d0Ym 164.. section: Library 165 166Fixed curses.ascii functions isblank(), iscntrl() and ispunct(). 167 168.. 169 170.. bpo: 27294 171.. date: 9369 172.. nonce: 0WSp9y 173.. section: Library 174 175Numerical state in the repr for Tkinter event objects is now represented as 176a combination of known flags. 177 178.. 179 180.. bpo: 27177 181.. date: 9368 182.. nonce: U6jRnd 183.. section: Library 184 185Match objects in the re module now support index-like objects as group 186indices. Based on patches by Jeroen Demeyer and Xiang Zhang. 187 188.. 189 190.. bpo: 26754 191.. date: 9367 192.. nonce: J3n0QW 193.. section: Library 194 195Some functions (compile() etc) accepted a filename argument encoded as an 196iterable of integers. Now only strings and byte-like objects are accepted. 197 198.. 199 200.. bpo: 26536 201.. date: 9366 202.. nonce: DgLWm- 203.. section: Library 204 205socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by Daniel Stokes. 206 207.. 208 209.. bpo: 27048 210.. date: 9365 211.. nonce: EVe-Bk 212.. section: Library 213 214Prevents distutils failing on Windows when environment variables contain 215non-ASCII characters 216 217.. 218 219.. bpo: 27330 220.. date: 9364 221.. nonce: GJaFCV 222.. section: Library 223 224Fixed possible leaks in the ctypes module. 225 226.. 227 228.. bpo: 27238 229.. date: 9363 230.. nonce: Q6v6Qv 231.. section: Library 232 233Got rid of bare excepts in the turtle module. Original patch by Jelle 234Zijlstra. 235 236.. 237 238.. bpo: 27122 239.. date: 9362 240.. nonce: 06t7zN 241.. section: Library 242 243When an exception is raised within the context being managed by a 244contextlib.ExitStack() and one of the exit stack generators catches and 245raises it in a chain, do not re-raise the original exception when exiting, 246let the new chained one through. This avoids the PEP 479 bug described in 247issue25782. 248 249.. 250 251.. bpo: 27278 252.. date: 9361 253.. nonce: y_HkGw 254.. original section: Library 255.. section: Security 256 257Fix os.urandom() implementation using getrandom() on Linux. Truncate size 258to INT_MAX and loop until we collected enough random bytes, instead of 259casting a directly Py_ssize_t to int. 260 261.. 262 263.. bpo: 16864 264.. date: 9360 265.. nonce: W7tJDa 266.. section: Library 267 268sqlite3.Cursor.lastrowid now supports REPLACE statement. Initial patch by 269Alex LordThorsen. 270 271.. 272 273.. bpo: 26386 274.. date: 9359 275.. nonce: 9L3Ut4 276.. section: Library 277 278Fixed ttk.TreeView selection operations with item id's containing spaces. 279 280.. 281 282.. bpo: 8637 283.. date: 9358 284.. nonce: lHiUSA 285.. section: Library 286 287Honor a pager set by the env var MANPAGER (in preference to one set by the 288env var PAGER). 289 290.. 291 292.. bpo: 22636 293.. date: 9357 294.. nonce: 3fQW_g 295.. original section: Library 296.. section: Security 297 298Avoid shell injection problems with ctypes.util.find_library(). 299 300.. 301 302.. bpo: 16182 303.. date: 9356 304.. nonce: RgFXyr 305.. section: Library 306 307Fix various functions in the "readline" module to use the locale encoding, 308and fix get_begidx() and get_endidx() to return code point indexes. 309 310.. 311 312.. bpo: 27392 313.. date: 9355 314.. nonce: obfni7 315.. section: Library 316 317Add loop.connect_accepted_socket(). Patch by Jim Fulton. 318 319.. 320 321.. bpo: 27477 322.. date: 9354 323.. nonce: iEuL-9 324.. section: IDLE 325 326IDLE search dialogs now use ttk widgets. 327 328.. 329 330.. bpo: 27173 331.. date: 9353 332.. nonce: M-fYaV 333.. section: IDLE 334 335Add 'IDLE Modern Unix' to the built-in key sets. Make the default key set 336depend on the platform. Add tests for the changes to the config module. 337 338.. 339 340.. bpo: 27452 341.. date: 9352 342.. nonce: dLxZ8W 343.. section: IDLE 344 345make command line "idle-test> python test_help.py" work. __file__ is 346relative when python is started in the file's directory. 347 348.. 349 350.. bpo: 27452 351.. date: 9351 352.. nonce: RtWnyR 353.. section: IDLE 354 355add line counter and crc to IDLE configHandler test dump. 356 357.. 358 359.. bpo: 27380 360.. date: 9350 361.. nonce: Q39r9U 362.. section: IDLE 363 364IDLE: add query.py with base Query dialog and ttk widgets. Module had 365subclasses SectionName, ModuleName, and HelpSource, which are used to get 366information from users by configdialog and file =>Load Module. Each subclass 367has itw own validity checks. Using ModuleName allows users to edit bad 368module names instead of starting over. Add tests and delete the two files 369combined into the new one. 370 371.. 372 373.. bpo: 27372 374.. date: 9349 375.. nonce: k3Wj2V 376.. section: IDLE 377 378Test_idle no longer changes the locale. 379 380.. 381 382.. bpo: 27365 383.. date: 9348 384.. nonce: y7ys_A 385.. section: IDLE 386 387Allow non-ascii chars in IDLE NEWS.txt, for contributor names. 388 389.. 390 391.. bpo: 27245 392.. date: 9347 393.. nonce: u9aKO1 394.. section: IDLE 395 396IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE 397was started from a console or by import, a cascade of warnings was emitted. 398Patch by Serhiy Storchaka. 399 400.. 401 402.. bpo: 24137 403.. date: 9346 404.. nonce: v8o-IT 405.. section: IDLE 406 407Run IDLE, test_idle, and htest with tkinter default root disabled. Fix code 408and tests that fail with this restriction. Fix htests to not create a 409second and redundant root and mainloop. 410 411.. 412 413.. bpo: 27310 414.. date: 9345 415.. nonce: KiURpC 416.. section: IDLE 417 418Fix IDLE.app failure to launch on OS X due to vestigial import. 419 420.. 421 422.. bpo: 26754 423.. date: 9344 424.. nonce: Qm_N79 425.. section: C API 426 427PyUnicode_FSDecoder() accepted a filename argument encoded as an iterable of 428integers. Now only strings and byte-like objects are accepted. 429 430.. 431 432.. bpo: 28066 433.. date: 9343 434.. nonce: _3xImV 435.. section: Build 436 437Fix the logic that searches build directories for generated include files 438when building outside the source tree. 439 440.. 441 442.. bpo: 27442 443.. date: 9342 444.. nonce: S2M0cz 445.. section: Build 446 447Expose the Android API level that python was built against, in 448sysconfig.get_config_vars() as 'ANDROID_API_LEVEL'. 449 450.. 451 452.. bpo: 27434 453.. date: 9341 454.. nonce: 4nRZmn 455.. section: Build 456 457The interpreter that runs the cross-build, found in PATH, must now be of the 458same feature version (e.g. 3.6) as the source being built. 459 460.. 461 462.. bpo: 26930 463.. date: 9340 464.. nonce: 9JUeSD 465.. section: Build 466 467Update Windows builds to use OpenSSL 1.0.2h. 468 469.. 470 471.. bpo: 23968 472.. date: 9339 473.. nonce: 7AuSK9 474.. section: Build 475 476Rename the platform directory from plat-$(MACHDEP) to 477plat-$(PLATFORM_TRIPLET). Rename the config directory (LIBPL) from 478config-$(LDVERSION) to config-$(LDVERSION)-$(PLATFORM_TRIPLET). Install the 479platform specific _sysconfigdata module into the platform directory and 480rename it to include the ABIFLAGS. 481 482.. 483 484.. bpo: 0 485.. date: 9338 486.. nonce: U46i2u 487.. section: Build 488 489Don't use largefile support for GNU/Hurd. 490 491.. 492 493.. bpo: 27332 494.. date: 9337 495.. nonce: OuRZp9 496.. section: Tools/Demos 497 498Fixed the type of the first argument of module-level functions generated by 499Argument Clinic. Patch by Petr Viktorin. 500 501.. 502 503.. bpo: 27418 504.. date: 9336 505.. nonce: W2m_8I 506.. section: Tools/Demos 507 508Fixed Tools/importbench/importbench.py. 509 510.. 511 512.. bpo: 19489 513.. date: 9335 514.. nonce: jvzuO7 515.. section: Documentation 516 517Moved the search box from the sidebar to the header and footer of each page. 518Patch by Ammar Askar. 519 520.. 521 522.. bpo: 27285 523.. date: 9334 524.. nonce: wZur0b 525.. section: Documentation 526 527Update documentation to reflect the deprecation of ``pyvenv`` and normalize 528on the term "virtual environment". Patch by Steve Piercy. 529 530.. 531 532.. bpo: 27027 533.. date: 9333 534.. nonce: 5oRSGL 535.. section: Tests 536 537Added test.support.is_android that is True when this is an Android build. 538