1.. bpo: 0 2.. date: 7804 3.. nonce: jherxT 4.. release date: 2010-01-09 5.. section: Core and Builtins 6 7The ``__complex__()`` method is now looked up on the class of instances to 8make it consistent with other special methods. 9 10.. 11 12.. bpo: 7462 13.. date: 7803 14.. nonce: E1r1bi 15.. section: Core and Builtins 16 17Implement the stringlib fast search algorithm for the `rfind`, `rindex`, 18`rsplit` and `rpartition` methods. Patch by Florent Xicluna. 19 20.. 21 22.. bpo: 5080 23.. date: 7802 24.. nonce: Wb4q9j 25.. section: Core and Builtins 26 27A number of functions and methods previously produced a DeprecationWarning 28when passed a float argument where an integer was expected. These functions 29and methods now raise TypeError instead. The majority of the effects of 30this change are in the extension modules, but some core functions and 31methods are affected: notably the 'chr', 'range' and 'xrange' builtins, and 32many unicode/str methods. 33 34.. 35 36.. bpo: 7604 37.. date: 7801 38.. nonce: tTzdbD 39.. section: Core and Builtins 40 41Deleting an unset slotted attribute did not raise an AttributeError. 42 43.. 44 45.. bpo: 7534 46.. date: 7800 47.. nonce: UJiEZi 48.. section: Core and Builtins 49 50Fix handling of IEEE specials (infinities, nans, negative zero) in ** 51operator. The behaviour now conforms to that described in C99 Annex F. 52 53.. 54 55.. bpo: 7579 56.. date: 7799 57.. nonce: cmOrYb 58.. section: Core and Builtins 59 60The msvcrt module now has docstrings for all its functions. 61 62.. 63 64.. bpo: 7413 65.. date: 7798 66.. nonce: g6Euap 67.. section: Core and Builtins 68 69Passing '\0' as the separator to datetime.datetime.isoformat() used to drop 70the time part of the result. 71 72.. 73 74.. bpo: 1811 75.. date: 7797 76.. nonce: e1nd7g 77.. section: Core and Builtins 78 79Improve accuracy and cross-platform consistency for true division of 80integers: the result of a/b is now correctly rounded for ints a and b (at 81least on IEEE 754 platforms), and in particular does not depend on the 82internal representation of a long. 83 84.. 85 86.. bpo: 6108 87.. date: 7796 88.. nonce: j3A6pp 89.. section: Core and Builtins 90 91``unicode(exception)`` and ``str(exception)`` should return the same message 92when only ``__str__()`` (and not ``__unicode__()``) is overridden in the 93subclass. 94 95.. 96 97.. bpo: 6834 98.. date: 7795 99.. nonce: iPCAPI 100.. section: Core and Builtins 101 102Replace the implementation for the 'python' and 'pythonw' executables on 103OSX. 104 105These executables now work properly with the arch(1) command: ``arch -ppc 106python`` will start a universal binary version of python in PPC mode (unlike 107previous releases). 108 109.. 110 111.. bpo: 1680159 112.. date: 7794 113.. nonce: zCoubo 114.. section: Core and Builtins 115 116Unicode coercion during an 'in' operation no longer masks the underlying 117error when the coercion fails for the left hand operand. 118 119.. 120 121.. bpo: 7491 122.. date: 7793 123.. nonce: bGallI 124.. section: Core and Builtins 125 126Metaclass's __cmp__ method was ignored. 127 128.. 129 130.. bpo: 7466 131.. date: 7792 132.. nonce: zrhYS4 133.. section: Core and Builtins 134 135Segmentation fault when the garbage collector is called in the middle of 136populating a tuple. Patch by Florent Xicluna. 137 138.. 139 140.. bpo: 6963 141.. date: 7791 142.. nonce: TJvFT0 143.. section: Library 144 145Added "maxtasksperchild" argument to ``multiprocessing.Pool``, allowing for 146a maximum number of tasks within the pool to be completed by the worker 147before that worker is terminated, and a new one created to replace it. 148 149.. 150 151.. bpo: 7617 152.. date: 7790 153.. nonce: duSdpP 154.. section: Library 155 156Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc when it has a 157fully qualified configuration prefix. Initial patch by Arfrever. 158 159.. 160 161.. bpo: 7092 162.. date: 7789 163.. nonce: 8Bxjpz 164.. section: Library 165 166Remove py3k warning when importing cPickle. 2to3 handles renaming of 167`cPickle` to `pickle`. The warning was annoying since there's no 168alternative to cPickle if you care about performance. Patch by Florent 169Xicluna. 170 171.. 172 173.. bpo: 7455 174.. date: 7788 175.. nonce: 4QZ2RC 176.. section: Library 177 178Fix possible crash in cPickle on invalid input. Patch by Victor Stinner. 179 180.. 181 182.. bpo: 7092 183.. date: 7787 184.. nonce: z80fv1 185.. section: Library 186 187Fix the DeprecationWarnings emitted by the standard library when using the 188-3 flag. Patch by Florent Xicluna. 189 190.. 191 192.. bpo: 7471 193.. date: 7786 194.. nonce: Flh7OS 195.. section: Library 196 197Improve the performance of GzipFile's buffering mechanism, and make it 198implement the ``io.BufferedIOBase`` ABC to allow for further speedups by 199wrapping it in an ``io.BufferedReader``. Patch by Nir Aides. 200 201.. 202 203.. bpo: 3972 204.. date: 7785 205.. nonce: T0AsF9 206.. section: Library 207 208``httplib.HTTPConnection`` now accepts an optional source_address parameter 209to allow specifying where your connections come from. 210 211.. 212 213.. bpo: 0 214.. date: 7784 215.. nonce: VuT7xt 216.. section: Library 217 218``socket.create_connection()`` now accepts an optional source_address 219parameter. 220 221.. 222 223.. bpo: 5511 224.. date: 7783 225.. nonce: qXXb66 226.. section: Library 227 228``zipfile.ZipFile`` can now be used as a context manager. Initial patch by 229Brian Curtin. 230 231.. 232 233.. bpo: 0 234.. date: 7782 235.. nonce: jVBfGB 236.. section: Library 237 238Distutils now correctly identifies the build architecture as "x86_64" when 239building on OSX 10.6 without "-arch" flags. 240 241.. 242 243.. bpo: 7556 244.. date: 7781 245.. nonce: 9TArd4 246.. section: Library 247 248Distutils' msvc9compiler now opens the MSVC Manifest file in text mode. 249 250.. 251 252.. bpo: 7552 253.. date: 7780 254.. nonce: cuagLV 255.. section: Library 256 257Removed line feed in the base64 Authorization header in the Distutils upload 258command to avoid an error when PyPI reads it. This occurs on long 259passwords. Initial patch by JP St. Pierre. 260 261.. 262 263.. bpo: 7231 264.. date: 7779 265.. nonce: PtW-pZ 266.. section: Library 267 268urllib2 cannot handle https with proxy requiring auth. Patch by Tatsuhiro 269Tsujikawa. 270 271.. 272 273.. bpo: 7349 274.. date: 7778 275.. nonce: qwbHfI 276.. section: Library 277 278Make methods of file objects in the io module accept None as an argument 279where file-like objects (ie StringIO and BytesIO) accept them to mean the 280same as passing no argument. 281 282.. 283 284.. bpo: 7348 285.. date: 7777 286.. nonce: 47KswH 287.. section: Library 288 289``StringIO.StringIO.readline(-1)`` now acts as if it got no argument like 290other file objects. 291 292.. 293 294.. bpo: 7357 295.. date: 7776 296.. nonce: EteBpH 297.. section: Library 298 299tarfile no longer suppresses fatal extraction errors by default. 300 301.. 302 303.. bpo: 7470 304.. date: 7775 305.. nonce: IW_7wI 306.. section: Library 307 308logging: Fix bug in Unicode encoding fallback. 309 310.. 311 312.. bpo: 5949 313.. date: 7774 314.. nonce: oAWtv2 315.. section: Library 316 317Fixed IMAP4_SSL hang when the IMAP server response is missing proper 318end-of-line termination. 319 320.. 321 322.. bpo: 7457 323.. date: 7773 324.. nonce: n8Bkqb 325.. section: Library 326 327Added a read_pkg_file method to ``distutils.dist.DistributionMetadata``. 328 329.. 330 331.. bpo: 3745 332.. date: 7772 333.. nonce: 1on7AT 334.. section: Library 335 336Undo the 2.7a1 change to have hashlib to reject unicode and non buffer API 337supporting objects as input. That behavior is for 3.x only. 338 339.. 340 341.. bpo: 7767 342.. date: 7771 343.. nonce: XmNIZJ 344.. section: C API 345 346New function ``PyLong_AsLongLongAndOverflow()`` added, analogous to 347``PyLong_AsLongAndOverflow()``. 348 349.. 350 351.. bpo: 5080 352.. date: 7770 353.. nonce: bMlEGy 354.. section: C API 355 356The argument parsing functions ``PyArg_ParseTuple()``, 357``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``, 358``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept 359float arguments for integer format codes (other than 'L'): previously an 360attempt to pass a float resulted in a DeprecationWarning; now it gives a 361TypeError. For the 'L' format code (which previously had no warning) there 362is now a DeprecationWarning. 363 364.. 365 366.. bpo: 7033 367.. date: 7769 368.. nonce: koLSHo 369.. section: C API 370 371Function ``PyErr_NewExceptionWithDoc()`` added. 372 373.. 374 375.. bpo: 6491 376.. date: 7768 377.. nonce: mDJ_mR 378.. section: Build 379 380Allow --with-dbmliborder to specify that no dbms will be built. 381 382.. 383 384.. bpo: 6943 385.. date: 7767 386.. nonce: HhHPsy 387.. section: Build 388 389Use pkg-config to find the libffi headers when the ``--with-system-ffi`` 390flag is used. 391 392.. 393 394.. bpo: 7609 395.. date: 7766 396.. nonce: w1witS 397.. section: Build 398 399Add a ``--with-system-expat`` option that causes the system's expat library 400to be used for the pyexpat module instead of the one included with Python. 401 402.. 403 404.. bpo: 7589 405.. date: 7765 406.. nonce: uh9YyY 407.. section: Build 408 409Only build the nis module when the correct header files are found. 410 411.. 412 413.. bpo: 0 414.. date: 7764 415.. nonce: 6WvEdi 416.. section: Build 417 418Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows. 419 420.. 421 422.. bpo: 7541 423.. date: 7763 424.. nonce: V8g0W6 425.. section: Build 426 427when using ``python-config`` with a framework install the compiler might use 428the wrong library. 429 430.. 431 432.. bpo: 7376 433.. date: 7762 434.. nonce: Y0Cani 435.. section: Tests 436 437Instead of running a self-test (which was failing) when called with no 438arguments, doctest.py now gives a usage message. 439 440.. 441 442.. bpo: 7396 443.. date: 7761 444.. nonce: WRRHMZ 445.. section: Tests 446 447Fix regrtest -s, which was broken by the -j enhancement. 448 449.. 450 451.. bpo: 7498 452.. date: 7760 453.. nonce: Cpaz-t 454.. section: Tests 455 456test_multiprocessing now uses test_support.find_unused_port instead of a 457hardcoded port number in test_rapid_restart. 458