1.. bpo: 23573 2.. date: 9042 3.. nonce: ZpM4D- 4.. release date: 2015-03-28 5.. section: Core and Builtins 6 7Increased performance of string search operations (str.find, str.index, 8str.count, the in operator, str.split, str.partition) with arguments of 9different kinds (UCS1, UCS2, UCS4). 10 11.. 12 13.. bpo: 23753 14.. date: 9041 15.. nonce: CREjLC 16.. section: Core and Builtins 17 18Python doesn't support anymore platforms without stat() or fstat(), these 19functions are always required. 20 21.. 22 23.. bpo: 23681 24.. date: 9040 25.. nonce: kh02TF 26.. section: Core and Builtins 27 28The -b option now affects comparisons of bytes with int. 29 30.. 31 32.. bpo: 23632 33.. date: 9039 34.. nonce: UVdIZY 35.. section: Core and Builtins 36 37Memoryviews now allow tuple indexing (including for multi-dimensional 38memoryviews). 39 40.. 41 42.. bpo: 23192 43.. date: 9038 44.. nonce: QKqdow 45.. section: Core and Builtins 46 47Fixed generator lambdas. Patch by Bruno Cauet. 48 49.. 50 51.. bpo: 23629 52.. date: 9037 53.. nonce: r9Mt2C 54.. section: Core and Builtins 55 56Fix the default __sizeof__ implementation for variable-sized objects. 57 58.. 59 60.. bpo: 14260 61.. date: 9036 62.. nonce: b5M04V 63.. section: Library 64 65The groupindex attribute of regular expression pattern object now is 66non-modifiable mapping. 67 68.. 69 70.. bpo: 23792 71.. date: 9035 72.. nonce: Kfm9-f 73.. section: Library 74 75Ignore KeyboardInterrupt when the pydoc pager is active. This mimics the 76behavior of the standard unix pagers, and prevents pipepager from shutting 77down while the pager itself is still running. 78 79.. 80 81.. bpo: 23775 82.. date: 9034 83.. nonce: xKGrSQ 84.. section: Library 85 86pprint() of OrderedDict now outputs the same representation as repr(). 87 88.. 89 90.. bpo: 23765 91.. date: 9033 92.. nonce: 2ta_C4 93.. section: Library 94 95Removed IsBadStringPtr calls in ctypes 96 97.. 98 99.. bpo: 22364 100.. date: 9032 101.. nonce: ejtoKl 102.. section: Library 103 104Improved some re error messages using regex for hints. 105 106.. 107 108.. bpo: 23742 109.. date: 9031 110.. nonce: _EkAIa 111.. section: Library 112 113ntpath.expandvars() no longer loses unbalanced single quotes. 114 115.. 116 117.. bpo: 21717 118.. date: 9030 119.. nonce: pKndpx 120.. section: Library 121 122The zipfile.ZipFile.open function now supports 'x' (exclusive creation) 123mode. 124 125.. 126 127.. bpo: 21802 128.. date: 9029 129.. nonce: ygSM2A 130.. section: Library 131 132The reader in BufferedRWPair now is closed even when closing writer failed 133in BufferedRWPair.close(). 134 135.. 136 137.. bpo: 23622 138.. date: 9028 139.. nonce: 9-ZRqj 140.. section: Library 141 142Unknown escapes in regular expressions that consist of ``'\'`` and ASCII 143letter now raise a deprecation warning and will be forbidden in Python 3.6. 144 145.. 146 147.. bpo: 23671 148.. date: 9027 149.. nonce: zWPm-a 150.. section: Library 151 152string.Template now allows specifying the "self" parameter as a keyword 153argument. string.Formatter now allows specifying the "self" and the 154"format_string" parameters as keyword arguments. 155 156.. 157 158.. bpo: 23502 159.. date: 9026 160.. nonce: AH20IQ 161.. section: Library 162 163The pprint module now supports mapping proxies. 164 165.. 166 167.. bpo: 17530 168.. date: 9025 169.. nonce: PUp8rL 170.. section: Library 171 172pprint now wraps long bytes objects and bytearrays. 173 174.. 175 176.. bpo: 22687 177.. date: 9024 178.. nonce: zEJPd9 179.. section: Library 180 181Fixed some corner cases in breaking words in tetxtwrap. Got rid of quadratic 182complexity in breaking long words. 183 184.. 185 186.. bpo: 4727 187.. date: 9023 188.. nonce: iDQSpi 189.. section: Library 190 191The copy module now uses pickle protocol 4 (PEP 3154) and supports copying 192of instances of classes whose __new__ method takes keyword-only arguments. 193 194.. 195 196.. bpo: 23491 197.. date: 9022 198.. nonce: P_WKrt 199.. section: Library 200 201Added a zipapp module to support creating executable zip file archives of 202Python code. Registered ".pyz" and ".pyzw" extensions on Windows for these 203archives (PEP 441). 204 205.. 206 207.. bpo: 23657 208.. date: 9021 209.. nonce: y1OaV- 210.. section: Library 211 212Avoid explicit checks for str in zipapp, adding support for pathlib.Path 213objects as arguments. 214 215.. 216 217.. bpo: 23688 218.. date: 9020 219.. nonce: d6LVy3 220.. section: Library 221 222Added support of arbitrary bytes-like objects and avoided unnecessary 223copying of memoryview in gzip.GzipFile.write(). Original patch by Wolfgang 224Maier. 225 226.. 227 228.. bpo: 23252 229.. date: 9019 230.. nonce: Goi18g 231.. section: Library 232 233Added support for writing ZIP files to unseekable streams. 234 235.. 236 237.. bpo: 23647 238.. date: 9018 239.. nonce: pX2qrx 240.. section: Library 241 242Increase imaplib's MAXLINE to accommodate modern mailbox sizes. 243 244.. 245 246.. bpo: 23539 247.. date: 9017 248.. nonce: 5BVUim 249.. section: Library 250 251If body is None, http.client.HTTPConnection.request now sets Content-Length 252to 0 for PUT, POST, and PATCH headers to avoid 411 errors from some web 253servers. 254 255.. 256 257.. bpo: 22351 258.. date: 9016 259.. nonce: agB8Y3 260.. section: Library 261 262The nntplib.NNTP constructor no longer leaves the connection and socket open 263until the garbage collector cleans them up. Patch by Martin Panter. 264 265.. 266 267.. bpo: 23704 268.. date: 9015 269.. nonce: LTyyxL 270.. section: Library 271 272collections.deque() objects now support methods for index(), insert(), and 273copy(). This allows deques to be registered as a MutableSequence and it 274improves their substitutability for lists. 275 276.. 277 278.. bpo: 23715 279.. date: 9014 280.. nonce: Yap3tU 281.. section: Library 282 283:func:`signal.sigwaitinfo` and :func:`signal.sigtimedwait` are now retried 284when interrupted by a signal not in the *sigset* parameter, if the signal 285handler does not raise an exception. signal.sigtimedwait() recomputes the 286timeout with a monotonic clock when it is retried. 287 288.. 289 290.. bpo: 23001 291.. date: 9013 292.. nonce: YSFnam 293.. section: Library 294 295Few functions in modules mmap, ossaudiodev, socket, ssl, and codecs, that 296accepted only read-only bytes-like object now accept writable bytes-like 297object too. 298 299.. 300 301.. bpo: 23646 302.. date: 9012 303.. nonce: Tljc1S 304.. section: Library 305 306If time.sleep() is interrupted by a signal, the sleep is now retried with 307the recomputed delay, except if the signal handler raises an exception (PEP 308475). 309 310.. 311 312.. bpo: 23136 313.. date: 9011 314.. nonce: 1bnpnb 315.. section: Library 316 317_strptime now uniformly handles all days in week 0, including Dec 30 of 318previous year. Based on patch by Jim Carroll. 319 320.. 321 322.. bpo: 23700 323.. date: 9010 324.. nonce: VfnWwi 325.. section: Library 326 327Iterator of NamedTemporaryFile now keeps a reference to NamedTemporaryFile 328instance. Patch by Bohuslav Kabrda. 329 330.. 331 332.. bpo: 22903 333.. date: 9009 334.. nonce: 2GjTHY 335.. section: Library 336 337The fake test case created by unittest.loader when it fails importing a test 338module is now picklable. 339 340.. 341 342.. bpo: 22181 343.. date: 9008 344.. nonce: 7mnxea 345.. section: Library 346 347On Linux, os.urandom() now uses the new getrandom() syscall if available, 348syscall introduced in the Linux kernel 3.17. It is more reliable and more 349secure, because it avoids the need of a file descriptor and waits until the 350kernel has enough entropy. 351 352.. 353 354.. bpo: 2211 355.. date: 9007 356.. nonce: 17Iz5U 357.. section: Library 358 359Updated the implementation of the http.cookies.Morsel class. Setting 360attributes key, value and coded_value directly now is deprecated. update() 361and setdefault() now transform and check keys. Comparing for equality now 362takes into account attributes key, value and coded_value. copy() now returns 363a Morsel, not a dict. repr() now contains all attributes. Optimized 364checking keys and quoting values. Added new tests. Original patch by Demian 365Brecht. 366 367.. 368 369.. bpo: 18983 370.. date: 9006 371.. nonce: vF4i2S 372.. section: Library 373 374Allow selection of output units in timeit. Patch by Julian Gindi. 375 376.. 377 378.. bpo: 23631 379.. date: 9005 380.. nonce: GfSqNI 381.. section: Library 382 383Fix traceback.format_list when a traceback has been mutated. 384 385.. 386 387.. bpo: 23568 388.. date: 9004 389.. nonce: ffzJc7 390.. section: Library 391 392Add rdivmod support to MagicMock() objects. Patch by Håkan Lövdahl. 393 394.. 395 396.. bpo: 2052 397.. date: 9003 398.. nonce: ujNgna 399.. section: Library 400 401Add charset parameter to HtmlDiff.make_file(). 402 403.. 404 405.. bpo: 23668 406.. date: 9002 407.. nonce: nF_jnN 408.. section: Library 409 410Support os.truncate and os.ftruncate on Windows. 411 412.. 413 414.. bpo: 23138 415.. date: 9001 416.. nonce: 4vMoMZ 417.. section: Library 418 419Fixed parsing cookies with absent keys or values in cookiejar. Patch by 420Demian Brecht. 421 422.. 423 424.. bpo: 23051 425.. date: 9000 426.. nonce: Vi5tCZ 427.. section: Library 428 429multiprocessing.Pool methods imap() and imap_unordered() now handle 430exceptions raised by an iterator. Patch by Alon Diamant and Davin Potts. 431 432.. 433 434.. bpo: 23581 435.. date: 8999 436.. nonce: D4Lknl 437.. section: Library 438 439Add matmul support to MagicMock. Patch by Håkan Lövdahl. 440 441.. 442 443.. bpo: 23566 444.. date: 8998 445.. nonce: F6LSyk 446.. section: Library 447 448enable(), register(), dump_traceback() and dump_traceback_later() functions 449of faulthandler now accept file descriptors. Patch by Wei Wu. 450 451.. 452 453.. bpo: 22928 454.. date: 8997 455.. nonce: q2TmY0 456.. section: Library 457 458Disabled HTTP header injections in http.client. Original patch by Demian 459Brecht. 460 461.. 462 463.. bpo: 23615 464.. date: 8996 465.. nonce: 5Kx9k5 466.. section: Library 467 468Modules bz2, tarfile and tokenize now can be reloaded with imp.reload(). 469Patch by Thomas Kluyver. 470 471.. 472 473.. bpo: 23605 474.. date: 8995 475.. nonce: JUOA_X 476.. section: Library 477 478os.walk() now calls os.scandir() instead of os.listdir(). The usage of 479os.scandir() reduces the number of calls to os.stat(). Initial patch written 480by Ben Hoyt. 481 482.. 483 484.. bpo: 23585 485.. date: 8994 486.. nonce: DTIIoI 487.. section: Build 488 489make patchcheck will ensure the interpreter is built. 490 491.. 492 493.. bpo: 23583 494.. date: 8993 495.. nonce: bY8AbM 496.. section: Tests 497 498Added tests for standard IO streams in IDLE. 499 500.. 501 502.. bpo: 22289 503.. date: 8992 504.. nonce: ybGcC- 505.. section: Tests 506 507Prevent test_urllib2net failures due to ftp connection timeout. 508 509.. 510 511.. bpo: 22826 512.. date: 8991 513.. nonce: 3bcoDL 514.. section: Tools/Demos 515 516The result of open() in Tools/freeze/bkfile.py is now better compatible with 517regular files (in particular it now supports the context management 518protocol). 519