1.. bpo: 2719 2.. date: 6897 3.. nonce: 4NH_Xn 4.. release date: 08-May-2008 5.. section: Core and Builtins 6 7backported the ``next()`` builtin from Python 3. 8 9.. 10 11.. bpo: 2681 12.. date: 6896 13.. nonce: 8UXx90 14.. section: Core and Builtins 15 16The octal literal ``0o8`` was incorrecly acctepted. Now it properly raises a 17SyntaxError. 18 19.. 20 21.. bpo: 2617 22.. date: 6895 23.. nonce: 1gTS6r 24.. section: Core and Builtins 25 26Reserved -J and -X arguments for Jython, IronPython and other 27implementations of Python. 28 29.. 30 31.. bpo: 0 32.. date: 6894 33.. nonce: aRO9gE 34.. section: Core and Builtins 35 36Implemented PEP 370: Per user site-packages directory. 37 38.. 39 40.. bpo: 2670 41.. date: 6893 42.. nonce: VM2Luj 43.. section: Library 44 45Fix a failure in urllib2.build_opener(), when passed two handlers that 46derive the same default base class. 47 48.. 49 50.. bpo: 0 51.. date: 6892 52.. nonce: 7fblHZ 53.. section: Library 54 55Added kill, terminate and send_signal(sig) to subprocess.Popen. 56 57.. 58 59.. bpo: 0 60.. date: 6891 61.. nonce: 88WSiY 62.. section: Library 63 64Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to the cmath 65module. 66 67.. 68 69.. bpo: 0 70.. date: 6890 71.. nonce: 6dejMd 72.. section: Library 73 74Four new methods were added to the math and cmath modules: acosh, asinh, 75atanh and log1p. 76 77.. 78 79.. bpo: 0 80.. date: 6889 81.. nonce: v-VAd8 82.. section: Library 83 84zlib.decompressobj().flush(value) no longer crashes the interpreter when 85passed a value less than or equal to zero. 86 87.. 88 89.. bpo: 1631171 90.. date: 6888 91.. nonce: 8Bc0Zl 92.. section: Library 93 94Re-implement the 'warnings' module in C (the original Python code has been 95kept as backup). This will allow for using the 'warning's machinery in such 96places as the parser where use of pure Python code is not possible. Both 97the ``showarning()`` and ``formatwarning()`` gain an optional 'line' 98argument which is not called by default for backwards-compatibility reasons. 99Setting ``warnings.showwarning()`` to an implementation that lacks support 100for the ``line`` argument will raise a DeprecationWarning. 101 102.. 103 104.. bpo: 0 105.. date: 6887 106.. nonce: CNqdrb 107.. section: Library 108 109The audiodev module has been deprecated for removal in Python 3.0. 110 111.. 112 113.. bpo: 2750 114.. date: 6886 115.. nonce: nv-hkg 116.. section: Library 117 118Add the 'json' package. Based on simplejson 1.9 and contributed by Bob 119Ippolito. 120 121.. 122 123.. bpo: 1734346 124.. date: 6885 125.. nonce: lfR8ca 126.. section: Library 127 128Support Unicode file names for zipfiles. 129 130.. 131 132.. bpo: 2581 133.. date: 6884 134.. nonce: fOkdCT 135.. section: Library 136 137distutils: Vista UAC/elevation support for bdist_wininst. 138 139.. 140 141.. bpo: 2635 142.. date: 6883 143.. nonce: F8Y92w 144.. section: Library 145 146Fix bug in 'fix_sentence_endings' textwrap.fill option, where an extra space 147was added after a word containing (but not ending in) '.', '!' or '?'. 148 149.. 150 151.. bpo: 0 152.. date: 6882 153.. nonce: lYk3LA 154.. section: Library 155 156Add from_buffer() and from_buffer_copy() class methods to ctypes data types. 157 158.. 159 160.. bpo: 2682 161.. date: 6881 162.. nonce: NLrJe2 163.. section: Library 164 165ctypes callback functions no longer contain a cyclic reference to 166themselves. 167 168.. 169 170.. bpo: 0 171.. date: 6880 172.. nonce: TTWJof 173.. section: Library 174 175The getpass module has been improved on Unix. It now uses /dev/tty by 176default and uses stderr instead of stdout. A GetPassWarning is issued when 177input echo cannot be controlled. 178 179.. 180 181.. bpo: 2014 182.. date: 6879 183.. nonce: CKvu6Y 184.. section: Library 185 186Allow XML-RPC datetime objects to have dates before 1900-01-01. 187 188.. 189 190.. bpo: 2439 191.. date: 6878 192.. nonce: Kwwv4U 193.. section: Library 194 195Added new function pkgutil.get_data(), which is a convenience wrapper for 196the PEP 302 get_data() API. 197 198.. 199 200.. bpo: 2616 201.. date: 6877 202.. nonce: UHPY7r 203.. section: Library 204 205The ctypes.pointer() and ctypes.POINTER() functions are now implemented in C 206for better performance. 207 208.. 209 210.. bpo: 2408 211.. date: 6876 212.. nonce: GhLvZ5 213.. section: Library 214 215The ``_types`` module, which was used as in implementation detail of the 216public ``types`` module, has been removed and replaced by pure python code. 217 218.. 219 220.. bpo: 2513 221.. date: 6875 222.. nonce: x3Kj5E 223.. section: Library 224 225distutils on Windows is now capable of cross-compiling extension modules 226between 32 and 64 bit platforms. See the distutls build documentation for 227more information. 228 229.. 230 231.. bpo: 815646 232.. date: 6874 233.. nonce: GhCmJD 234.. section: Library 235 236Individual file objects may now be used from multiple threads at once 237without fear of crashing the Python interpreter. If file.close() is called 238while an object is in use by another thread an IOError exception will be 239raised and the file will not be closed. 240 241.. 242 243.. bpo: 0 244.. date: 6873 245.. nonce: NdBuEp 246.. section: Library 247 248The bundled libffi copy is now in sync with the recently released 249libffi3.0.5 version, apart from some small changes to 250Modules/_ctypes/libffi/configure.ac. 251 252.. 253 254.. bpo: 2385 255.. date: 6872 256.. nonce: qIBVVF 257.. section: Library 258 259distutils.core.run_script() makes __file__ available, so the controlled 260environment will more closely mirror the typical script environment. This 261supports setup.py scripts that refer to data files. 262 263.. 264 265.. bpo: 2550 266.. date: 6871 267.. nonce: wbV22J 268.. section: Tests 269 270The approach used by client/server code for obtaining ports to listen on in 271network-oriented tests has been refined in an effort to facilitate running 272multiple instances of the entire regression test suite in parallel without 273issue. test_support.bind_port() has been fixed such that it will always 274return a unique port -- which wasn't always the case with the previous 275implementation, especially if socket options had been set that affected 276address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT). The new implementation of 277bind_port() will actually raise an exception if it is passed an 278AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or SO_REUSEPORT 279socket option set. Furthermore, if available, bind_port() will set the 280SO_EXCLUSIVEADDRUSE option on the socket it's been passed. This currently 281only applies to Windows. This option prevents any other sockets from 282binding to the host/port we've bound to, thus removing the possibility of 283the 'non-deterministic' behaviour, as Microsoft puts it, that occurs when a 284second SOCK_STREAM socket binds and accepts to a host/port that's already 285been bound by another socket. The optional preferred port parameter to 286bind_port() has been removed. Under no circumstances should tests be hard 287coding ports! 288 289test_support.find_unused_port() has also been introduced, which will pass a 290temporary socket object to bind_port() in order to obtain an unused port. 291The temporary socket object is then closed and deleted, and the port is 292returned. This method should only be used for obtaining an unused port in 293order to pass to an external program (i.e. the -accept [port] argument to 294openssl's s_server mode) or as a parameter to a server-oriented class that 295doesn't give you direct access to the underlying socket used. 296 297Finally, test_support.HOST has been introduced, which should be used for the 298host argument of any relevant socket calls (i.e. bind and connect). 299 300The following tests were updated to following the new conventions: 301test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib, 302test_poplib, test_ftplib, test_telnetlib, test_socketserver, test_asynchat 303and test_socket_ssl. 304 305It is now possible for multiple instances of the regression test suite to 306run in parallel without issue. 307 308.. 309 310.. bpo: 1496032 311.. date: 6870 312.. nonce: DcJtNu 313.. section: Build 314 315On alpha, use -mieee when gcc is the compiler. 316 317.. 318 319.. bpo: 2544 320.. date: 6869 321.. nonce: -H_NZm 322.. section: Build 323 324On HP-UX systems, use 'gcc -shared' for linking when gcc is used as 325compiler. 326 327.. 328 329.. bpo: 2573 330.. date: 6868 331.. nonce: 4wDeJ7 332.. section: Build 333 334On MacOS X it is now possible to install the framework with a different name 335using --with-framework-name=NAME. 336 337.. 338 339.. bpo: 0 340.. date: 6867 341.. nonce: yznsKq 342.. section: C API 343 344Added implementation of copysign, acosh, asinh, atanh and log1p to the new 345files Include/pymath.h and Python/pymath.h for platforms which provide the 346functions through their libm. The files also contains several helpers and 347constants for math. 348 349.. 350 351.. bpo: 0 352.. date: 6866 353.. nonce: Kr65an 354.. section: C API 355 356Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings. 357