1.. bpo: 5677 2.. date: 7847 3.. nonce: b0Qejz 4.. release date: 2010-02-06 5.. section: Core and Builtins 6 7Explicitly forbid write operations on read-only file objects, and read 8operations on write-only file objects. On Windows, the system C library 9would return a bogus result; on Solaris, it was possible to crash the 10interpreter. Patch by Stefan Krah. 11 12.. 13 14.. bpo: 7853 15.. date: 7846 16.. nonce: 7BnJKC 17.. section: Core and Builtins 18 19Normalize exceptions before they are passed to a context manager's 20``__exit__()`` method. 21 22.. 23 24.. bpo: 7385 25.. date: 7845 26.. nonce: OVCbWd 27.. section: Core and Builtins 28 29Fix a crash in ``PyMemoryView_FromObject()`` when ``PyObject_GetBuffer()`` 30fails. Patch by Florent Xicluna. 31 32.. 33 34.. bpo: 7819 35.. date: 7844 36.. nonce: tGsOrJ 37.. section: Core and Builtins 38 39Check ``sys.call_tracing()`` arguments types. 40 41.. 42 43.. bpo: 7788 44.. date: 7843 45.. nonce: 4T4M13 46.. section: Core and Builtins 47 48Fix an interpreter crash produced by deleting a list slice with very large 49step value. 50 51.. 52 53.. bpo: 7766 54.. date: 7842 55.. nonce: aejr9M 56.. section: Core and Builtins 57 58Change ``sys.getwindowsversion()`` return value to a named tuple and add the 59additional members returned in an OSVERSIONINFOEX structure. The new 60members are service_pack_major, service_pack_minor, suite_mask, and 61product_type. 62 63.. 64 65.. bpo: 7561 66.. date: 7841 67.. nonce: dYmand 68.. section: Core and Builtins 69 70Operations on empty bytearrays (such as ``int(bytearray())``) could crash in 71many places because of the ``PyByteArray_AS_STRING()`` macro returning NULL. 72The macro now returns a statically allocated empty string instead. 73 74.. 75 76.. bpo: 7622 77.. date: 7840 78.. nonce: yL5cXb 79.. section: Core and Builtins 80 81Improve the split(), rsplit(), splitlines() and replace() methods of bytes, 82bytearray and unicode objects by using a common implementation based on 83stringlib's fast search. Patch by Florent Xicluna. 84 85.. 86 87.. bpo: 7632 88.. date: 7839 89.. nonce: djAkIG 90.. section: Core and Builtins 91 92Fix various str -> float conversion bugs present in 2.7 alpha 2, including: 93 94(1) a serious 'wrong output' bug that could occur for long (> 40 digit) 95input strings, (2) a crash in dtoa.c that occurred in debug builds when 96parsing certain long numeric strings corresponding to subnormal values, 97(3) a memory leak for some values large enough to cause overflow, and (4) a 98number of flaws that could lead to incorrectly rounded results. 99 100.. 101 102.. bpo: 7319 103.. date: 7838 104.. nonce: CIP64d 105.. section: Core and Builtins 106 107Silence ``DeprecationWarning`` by default when the -3 option is not used. 108(See also: bpo-7770) 109 110.. 111 112.. bpo: 2335 113.. date: 7837 114.. nonce: NB-Xpf 115.. section: Core and Builtins 116 117Backport set literals syntax from Python 3.x. 118 119.. 120 121.. bpo: 2333 122.. date: 7836 123.. nonce: yWLBy3 124.. section: Core and Builtins 125 126Backport set and dict comprehensions syntax from Python 3.x. 127 128.. 129 130.. bpo: 1967 131.. date: 7835 132.. nonce: RryGx3 133.. section: Core and Builtins 134 135Backport dictionary views from Python 3.x. 136 137.. 138 139.. bpo: 9137 140.. date: 7834 141.. nonce: DgWODo 142.. section: Library 143 144Fix issue in MutableMapping.update, which incorrectly treated keyword 145arguments called 'self' or 'other' specially. 146 147.. 148 149.. bpo: 7835 150.. date: 7833 151.. nonce: jlbrK8 152.. section: Library 153 154shelve should no longer produce mysterious warnings during interpreter 155shutdown. 156 157.. 158 159.. bpo: 2746 160.. date: 7832 161.. nonce: F6UqCX 162.. section: Library 163 164Don't escape ampersands and angle brackets ("&", "<", ">") in XML processing 165instructions and comments. These raw characters are allowed by the XML 166specification, and are necessary when outputting e.g. PHP code in a 167processing instruction. Patch by Neil Muller. 168 169.. 170 171.. bpo: 7869 172.. date: 7831 173.. nonce: 1QS851 174.. section: Library 175 176logging: Improved diagnostic for format-time errors. 177 178.. 179 180.. bpo: 7868 181.. date: 7830 182.. nonce: PXTr9t 183.. section: Library 184 185logging: Added loggerClass attribute to Manager. 186 187.. 188 189.. bpo: 7851 190.. date: 7829 191.. nonce: 7OtUnx 192.. section: Library 193 194logging: Clarification on logging configuration files. 195 196.. 197 198.. bpo: 4772 199.. date: 7828 200.. nonce: 9_Y3av 201.. section: Library 202 203Raise a ValueError when an unknown Bluetooth protocol is specified, rather 204than fall through to AF_PACKET (in the ``socket`` module). Also, raise 205ValueError rather than TypeError when an unknown TIPC address type is 206specified. Patch by Brian Curtin. 207 208.. 209 210.. bpo: 0 211.. date: 7827 212.. nonce: DG4Srd 213.. section: Library 214 215logging: Implemented PEP 391. 216 217.. 218 219.. bpo: 6939 220.. date: 7826 221.. nonce: 8fBhhK 222.. section: Library 223 224Fix file I/O objects in the `io` module to keep the original file position 225when calling `truncate()`. It would previously change the file position to 226the given argument, which goes against the tradition of ftruncate() and 227other truncation APIs. Patch by Pascal Chambon. 228 229.. 230 231.. bpo: 7610 232.. date: 7825 233.. nonce: 2DXmYZ 234.. section: Library 235 236Reworked implementation of the internal ``zipfile.ZipExtFile`` class used to 237represent files stored inside an archive. The new implementation is 238significantly faster and can be wrapped in an ``io.BufferedReader`` object 239for more speedups. It also solves an issue where interleaved calls to 240``read()`` and ``readline()`` give wrong results. Patch by Nir Aides. 241 242.. 243 244.. bpo: 7792 245.. date: 7824 246.. nonce: ncH8BS 247.. section: Library 248 249Registering non-classes to ABCs raised an obscure error. 250 251.. 252 253.. bpo: 0 254.. date: 7823 255.. nonce: RpNACh 256.. section: Library 257 258Removed the deprecated functions ``verify()`` and ``vereq()`` from 259Lib/test/test_support.py. 260 261.. 262 263.. bpo: 7773 264.. date: 7822 265.. nonce: x2tWld 266.. section: Library 267 268Fix an UnboundLocalError in ``platform.linux_distribution()`` when the 269release file is empty. 270 271.. 272 273.. bpo: 7748 274.. date: 7821 275.. nonce: YlAgV- 276.. section: Library 277 278Since unicode values are supported for some metadata options in Distutils, 279the DistributionMetadata get_* methods will now return a utf-8 encoded 280string for them. This ensures that the upload and register commands send 281the correct values to PyPI without any error. 282 283.. 284 285.. bpo: 1670765 286.. date: 7820 287.. nonce: 9eCqJl 288.. section: Library 289 290Prevent ``email.generator.Generator`` from re-wrapping headers in 291multipart/signed MIME parts, which fixes one of the sources of invalid 292modifications to such parts by Generator. 293 294.. 295 296.. bpo: 7701 297.. date: 7819 298.. nonce: e9a5VO 299.. section: Library 300 301Fix crash in ``binascii.b2a_uu()`` in debug mode when given a 1-byte 302argument. Patch by Victor Stinner. 303 304.. 305 306.. bpo: 3299 307.. date: 7818 308.. nonce: AzzK85 309.. section: Library 310 311Fix possible crash in the _sre module when given bad argument values in 312debug mode. Patch by Victor Stinner. 313 314.. 315 316.. bpo: 7703 317.. date: 7817 318.. nonce: FNoqUO 319.. section: Library 320 321Add support for the new buffer API to functions of the binascii module. 322Backported from py3k by Florent Xicluna, with some additional tests. 323 324.. 325 326.. bpo: 2846 327.. date: 7816 328.. nonce: 1yXo1U 329.. section: Library 330 331Add support for gzip.GzipFile reading zero-padded files. Patch by Brian 332Curtin. 333 334.. 335 336.. bpo: 5827 337.. date: 7815 338.. nonce: HqdXuX 339.. section: Library 340 341Make sure that normpath preserves unicode. Initial patch by Matt Giuca. 342 343.. 344 345.. bpo: 5372 346.. date: 7814 347.. nonce: t3pYj8 348.. section: Library 349 350Drop the reuse of .o files in Distutils' ccompiler (since Extension extra 351options may change the output without changing the .c file). Initial patch 352by Collin Winter. 353 354.. 355 356.. bpo: 0 357.. date: 7813 358.. nonce: nL49In 359.. section: Library 360 361Expat: Fix DoS via XML document with malformed UTF-8 sequences 362(CVE_2009_3560). 363 364.. 365 366.. bpo: 7632 367.. date: 7812 368.. nonce: AWDxJU 369.. section: Build 370 371When Py_USING_MEMORY_DEBUGGER is defined, disable the private memory 372allocation scheme in dtoa.c and use PyMem_Malloc and PyMem_Free instead. 373Also disable caching of powers of 5. 374 375.. 376 377.. bpo: 7658 378.. date: 7811 379.. nonce: oUBbSZ 380.. section: Build 381 382Ensure that the new pythonw executable works on OSX 10.4 383 384.. 385 386.. bpo: 7714 387.. date: 7810 388.. nonce: 27wQ2M 389.. section: Build 390 391Use ``gcc -dumpversion`` to detect the version of GCC on MacOSX. 392 393.. 394 395.. bpo: 7661 396.. date: 7809 397.. nonce: ggMDHr 398.. section: Build 399 400Allow ctypes to be built from a non-ASCII directory path. Patch by Florent 401Xicluna. 402 403.. 404 405.. bpo: 0 406.. date: 7808 407.. nonce: KgUrLn 408.. section: Tools/Demos 409 410iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were 411added to the ``Tools`` directory. They were previously living in the 412sandbox. 413 414.. 415 416.. bpo: 7728 417.. date: 7807 418.. nonce: f9wo4c 419.. section: Tests 420 421test_timeout was changed to use ``test_support.bind_port()`` instead of a 422hard coded port. 423 424.. 425 426.. bpo: 0 427.. date: 7806 428.. nonce: Dx9g36 429.. section: Documentation 430 431Updated "Using Python" documentation to include description of CPython's -J, 432-U and -X options. 433 434.. 435 436.. bpo: 0 437.. date: 7805 438.. nonce: vllYdR 439.. section: Documentation 440 441Updated Python manual page (options -B, -O0, -s, environment variables 442PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE). 443