1 .. bpo: 0 2 .. date: 7804 3 .. nonce: jherxT 4 .. release date: 2010-01-09 5 .. section: Core and Builtins 6 7 The ``__complex__()`` method is now looked up on the class of instances to 8 make it consistent with other special methods. 9 10 .. 11 12 .. bpo: 7462 13 .. date: 7803 14 .. nonce: E1r1bi 15 .. section: Core and Builtins 16 17 Implement 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 27 A number of functions and methods previously produced a DeprecationWarning 28 when passed a float argument where an integer was expected. These functions 29 and methods now raise TypeError instead. The majority of the effects of 30 this change are in the extension modules, but some core functions and 31 methods are affected: notably the 'chr', 'range' and 'xrange' builtins, and 32 many unicode/str methods. 33 34 .. 35 36 .. bpo: 7604 37 .. date: 7801 38 .. nonce: tTzdbD 39 .. section: Core and Builtins 40 41 Deleting 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 50 Fix handling of IEEE specials (infinities, nans, negative zero) in ** 51 operator. 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 60 The 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 69 Passing '\0' as the separator to datetime.datetime.isoformat() used to drop 70 the time part of the result. 71 72 .. 73 74 .. bpo: 1811 75 .. date: 7797 76 .. nonce: e1nd7g 77 .. section: Core and Builtins 78 79 Improve accuracy and cross-platform consistency for true division of 80 integers: the result of a/b is now correctly rounded for ints a and b (at 81 least on IEEE 754 platforms), and in particular does not depend on the 82 internal 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 92 when only ``__str__()`` (and not ``__unicode__()``) is overridden in the 93 subclass. 94 95 .. 96 97 .. bpo: 6834 98 .. date: 7795 99 .. nonce: iPCAPI 100 .. section: Core and Builtins 101 102 Replace the implementation for the 'python' and 'pythonw' executables on 103 OSX. 104 105 These executables now work properly with the arch(1) command: ``arch -ppc 106 python`` will start a universal binary version of python in PPC mode (unlike 107 previous releases). 108 109 .. 110 111 .. bpo: 1680159 112 .. date: 7794 113 .. nonce: zCoubo 114 .. section: Core and Builtins 115 116 Unicode coercion during an 'in' operation no longer masks the underlying 117 error 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 126 Metaclass's __cmp__ method was ignored. 127 128 .. 129 130 .. bpo: 7466 131 .. date: 7792 132 .. nonce: zrhYS4 133 .. section: Core and Builtins 134 135 Segmentation fault when the garbage collector is called in the middle of 136 populating a tuple. Patch by Florent Xicluna. 137 138 .. 139 140 .. bpo: 6963 141 .. date: 7791 142 .. nonce: TJvFT0 143 .. section: Library 144 145 Added "maxtasksperchild" argument to ``multiprocessing.Pool``, allowing for 146 a maximum number of tasks within the pool to be completed by the worker 147 before 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 156 Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc when it has a 157 fully qualified configuration prefix. Initial patch by Arfrever. 158 159 .. 160 161 .. bpo: 7092 162 .. date: 7789 163 .. nonce: 8Bxjpz 164 .. section: Library 165 166 Remove py3k warning when importing cPickle. 2to3 handles renaming of 167 `cPickle` to `pickle`. The warning was annoying since there's no 168 alternative to cPickle if you care about performance. Patch by Florent 169 Xicluna. 170 171 .. 172 173 .. bpo: 7455 174 .. date: 7788 175 .. nonce: 4QZ2RC 176 .. section: Library 177 178 Fix 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 187 Fix 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 197 Improve the performance of GzipFile's buffering mechanism, and make it 198 implement the ``io.BufferedIOBase`` ABC to allow for further speedups by 199 wrapping 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 209 to 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 219 parameter. 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 229 Brian Curtin. 230 231 .. 232 233 .. bpo: 0 234 .. date: 7782 235 .. nonce: jVBfGB 236 .. section: Library 237 238 Distutils now correctly identifies the build architecture as "x86_64" when 239 building on OSX 10.6 without "-arch" flags. 240 241 .. 242 243 .. bpo: 7556 244 .. date: 7781 245 .. nonce: 9TArd4 246 .. section: Library 247 248 Distutils' 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 257 Removed line feed in the base64 Authorization header in the Distutils upload 258 command to avoid an error when PyPI reads it. This occurs on long 259 passwords. Initial patch by JP St. Pierre. 260 261 .. 262 263 .. bpo: 7231 264 .. date: 7779 265 .. nonce: PtW-pZ 266 .. section: Library 267 268 urllib2 cannot handle https with proxy requiring auth. Patch by Tatsuhiro 269 Tsujikawa. 270 271 .. 272 273 .. bpo: 7349 274 .. date: 7778 275 .. nonce: qwbHfI 276 .. section: Library 277 278 Make methods of file objects in the io module accept None as an argument 279 where file-like objects (ie StringIO and BytesIO) accept them to mean the 280 same 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 290 other file objects. 291 292 .. 293 294 .. bpo: 7357 295 .. date: 7776 296 .. nonce: EteBpH 297 .. section: Library 298 299 tarfile 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 308 logging: Fix bug in Unicode encoding fallback. 309 310 .. 311 312 .. bpo: 5949 313 .. date: 7774 314 .. nonce: oAWtv2 315 .. section: Library 316 317 Fixed IMAP4_SSL hang when the IMAP server response is missing proper 318 end-of-line termination. 319 320 .. 321 322 .. bpo: 7457 323 .. date: 7773 324 .. nonce: n8Bkqb 325 .. section: Library 326 327 Added 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 336 Undo the 2.7a1 change to have hashlib to reject unicode and non buffer API 337 supporting 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 346 New 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 356 The argument parsing functions ``PyArg_ParseTuple()``, 357 ``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``, 358 ``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept 359 float arguments for integer format codes (other than 'L'): previously an 360 attempt to pass a float resulted in a DeprecationWarning; now it gives a 361 TypeError. For the 'L' format code (which previously had no warning) there 362 is now a DeprecationWarning. 363 364 .. 365 366 .. bpo: 7033 367 .. date: 7769 368 .. nonce: koLSHo 369 .. section: C API 370 371 Function ``PyErr_NewExceptionWithDoc()`` added. 372 373 .. 374 375 .. bpo: 6491 376 .. date: 7768 377 .. nonce: mDJ_mR 378 .. section: Build 379 380 Allow --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 389 Use pkg-config to find the libffi headers when the ``--with-system-ffi`` 390 flag is used. 391 392 .. 393 394 .. bpo: 7609 395 .. date: 7766 396 .. nonce: w1witS 397 .. section: Build 398 399 Add a ``--with-system-expat`` option that causes the system's expat library 400 to 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 409 Only 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 418 Switch 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 427 when using ``python-config`` with a framework install the compiler might use 428 the wrong library. 429 430 .. 431 432 .. bpo: 7376 433 .. date: 7762 434 .. nonce: Y0Cani 435 .. section: Tests 436 437 Instead of running a self-test (which was failing) when called with no 438 arguments, doctest.py now gives a usage message. 439 440 .. 441 442 .. bpo: 7396 443 .. date: 7761 444 .. nonce: WRRHMZ 445 .. section: Tests 446 447 Fix 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 456 test_multiprocessing now uses test_support.find_unused_port instead of a 457 hardcoded port number in test_rapid_restart. 458