symbian-qemu-0.9.1-12/python-2.6.1/Misc/NEWS
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 +++++++++++
       
     2 Python News
       
     3 +++++++++++
       
     4 
       
     5 (editors: check NEWS.help for information about editing NEWS using ReST.)
       
     6 
       
     7 What's New in Python 2.6.1
       
     8 ==========================
       
     9 
       
    10 *Release date: 04-Dec-2008*
       
    11 
       
    12 Core and Builtins
       
    13 -----------------
       
    14 
       
    15 - Issue #3996: On Windows, the PyOS_CheckStack function would cause the
       
    16   interpreter to abort ("Fatal Python error: Could not reset the stack!")
       
    17   instead of throwing a MemoryError.
       
    18 
       
    19 - Issue #4367: Python would segfault during compiling when the unicodedata
       
    20   module couldn't be imported and \N escapes were present.
       
    21 
       
    22 - Issue #4348: Some bytearray methods returned that didn't cause any change to
       
    23   the bytearray, returned the same bytearray instead of a copy.
       
    24 
       
    25 - Issue #4317: Fixed a crash in the imageop.rgb2rgb8() function.
       
    26 
       
    27 - Issue #4230: If ``__getattr__`` is a descriptor, it now functions correctly.
       
    28 
       
    29 - Issue #4048: The parser module now correctly validates relative imports.
       
    30 
       
    31 - Issue #4225: ``from __future__ import unicode_literals`` didn't work in an
       
    32   exec statement.
       
    33 
       
    34 - Issue #4176: Fixed a crash when pickling an object which ``__reduce__``
       
    35   method does not return iterators for the 4th and 5th items.
       
    36 
       
    37 - Issue #4209: Enabling unicode_literals and the print_function in the same
       
    38   __future__ import didn't work.
       
    39 
       
    40 - On windows, os.chdir given unicode was not working if GetCurrentDirectoryW
       
    41   returned a path longer than MAX_PATH. (But It's doubtful this code path is
       
    42   really executed because I cannot move to such directory on win2k)
       
    43 
       
    44 - Issue #4069: When set.remove(element) is used with a set element, the element
       
    45   is temporarily replaced with an equivalent frozenset.  But the eventual
       
    46   KeyError would always report the empty frozenset([]) as the missing key. Now
       
    47   it correctly refers to the initial element.
       
    48 
       
    49 - Fixed C99 style comments in several files. Python is now C89 compatible
       
    50   again.
       
    51 
       
    52 Library
       
    53 -------
       
    54 
       
    55 - Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an
       
    56   exception.
       
    57 
       
    58 - Issue #4363: The uuid.uuid1() and uuid.uuid4() functions now work even if
       
    59   the ctypes module is not present.
       
    60 
       
    61 - Issue #4116: Resolve member name conflict in ScrolledCanvas.__init__.
       
    62 
       
    63 - Issue #3774: Fixed an error when create a Tkinter menu item without command
       
    64   and then remove it.
       
    65 
       
    66 - Fixed a modulefinder crash on certain relative imports.
       
    67 
       
    68 - Issue #4150: Pdb's "up" command now works for generator frames in post-mortem
       
    69   debugging.
       
    70 
       
    71 - Issue #4092: Return ArgInfo as promised in the documentation from
       
    72   inspect.getargvalues.
       
    73 
       
    74 - Issue #3935: Properly support list subclasses in bisect's C implementation.
       
    75 
       
    76 - Issue #4014: Don't claim that Python has an Alpha release status, in addition
       
    77   to claiming it is Mature.
       
    78 
       
    79 Build
       
    80 -----
       
    81 
       
    82 - Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs".
       
    83 
       
    84 - Issue #4289: Remove Cancel button from AdvancedDlg.
       
    85 
       
    86 - Issue #1656675: Register a drop handler for .py* files on Windows.
       
    87 
       
    88 - Issue #4120: Exclude manifest from extension modules in VS2008.
       
    89 
       
    90 - Issue #4091: Install pythonxy.dll in system32 again.
       
    91 
       
    92 - Issue #4018: Disable "for me" installations on Vista.
       
    93 
       
    94 - Issue #3758: Add ``patchcheck`` build target to .PHONY.
       
    95 
       
    96 - Issue #4204: Fixed module build errors on FreeBSD 4.
       
    97 
       
    98 C-API
       
    99 -----
       
   100 
       
   101 - Issue #4122: On Windows, fix a compilation error when using the
       
   102   Py_UNICODE_ISSPACE macro in an extension module.
       
   103 
       
   104 Extension Modules
       
   105 -----------------
       
   106 
       
   107 - Issue #4365: Add crtassem.h constants to the msvcrt module.
       
   108 
       
   109 - Issue #4396: The parser module now correctly validates the with statement.
       
   110 
       
   111 
       
   112 What's New in Python 2.6 final
       
   113 ==============================
       
   114 
       
   115 *Release date: 01-Oct-2008*
       
   116 
       
   117 Core and Builtins
       
   118 -----------------
       
   119 
       
   120 - Issue #3967: Fixed a crash in the count() and find() methods of string-like
       
   121   objects, when the "start" parameter is a huge value.
       
   122 
       
   123 - Issue #3965: Fixed a crash on Windows when open() is given an invalid
       
   124   filename or mode, and the filename is a unicode string.
       
   125 
       
   126 - Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default.
       
   127 
       
   128 Library
       
   129 -------
       
   130 
       
   131 - Issue #3965: Allow repeated calls to turtle.Screen, by making it a
       
   132   true singleton object.
       
   133 
       
   134 - Issue #3895: It was possible to crash the interpreter when an external timer
       
   135   was used with cProfile that returned an object that could not be converted
       
   136   into a float.
       
   137 
       
   138 - Issue #3950: Made turtle respect scale factors.
       
   139 
       
   140 - Issue #3547: Fixed ctypes structures bitfields of varying integer
       
   141   sizes.
       
   142 
       
   143 - Issue #3879: A regression in urllib.getproxies_enviroment was fixed.
       
   144 
       
   145 - Issue #3863: Disabled a unit test of fork being called from a thread
       
   146   when running on platforms known to exhibit OS bugs when attempting that.
       
   147 
       
   148 Build
       
   149 -----
       
   150 
       
   151 - Bug #3989: Package the 2to3 script (as 2to3.py) in the Windows
       
   152   installer.
       
   153 
       
   154 - Bug #3887: Package x64 version of CRT for AMD64 Windows binaries.
       
   155 
       
   156 
       
   157 What's New in Python 2.6 release candidate 2?
       
   158 =============================================
       
   159 
       
   160 *Release date: 17-Sep-2008*
       
   161 
       
   162 Core and Builtins
       
   163 -----------------
       
   164 
       
   165 Extension Modules
       
   166 -----------------
       
   167 
       
   168 - Security Issue #2: imageop did not validate arguments correctly and could
       
   169   segfault as a result.
       
   170 
       
   171 - Issue #3886: Possible integer overflows in the _hashopenssl module were
       
   172   closed.
       
   173 
       
   174 Tools/Demos
       
   175 -----------
       
   176 
       
   177 - Issue #3850: recursion tests in Misc/find_recursion_limit.py can raise
       
   178   AttributeError instead of RuntimeError, depending in which C API call
       
   179   exactly the recursion limit is exceeded. Consequently, both exception types
       
   180   are caught and silenced.
       
   181 
       
   182 Build
       
   183 -----
       
   184 
       
   185 - Issue #3617: Include a licensing statement regarding the Microsoft
       
   186   C runtime in the Windows installer.
       
   187 
       
   188 
       
   189 What's New in Python 2.6 release candidate 1?
       
   190 =============================================
       
   191 
       
   192 *Release date: 12-Sep-2008*
       
   193 
       
   194 Core and Builtins
       
   195 -----------------
       
   196 
       
   197 - Issue #3642: Suppress warning in obmalloc when size_t is larger than uint.
       
   198 
       
   199 - Issue #3743: In a few places, PY_FORMAT_SIZE_T was incorrectly used with
       
   200   PyString_FromFormat or PyErr_Format to display size_t values. The macro
       
   201   PY_FORMAT_SIZE_T is designed to select the correct format for the OS
       
   202   ``printf`` function, whereas PyString_FromFormat has an independent
       
   203   implementation and uses "%zd" on all platforms for size_t values.
       
   204   This makes a difference on win64, where ``printf`` needs "%Id" to display
       
   205   64bit values.
       
   206 
       
   207 - Issue #3634: _weakref.ref(Exception).__init__() gave invalid return value on
       
   208   error.
       
   209 
       
   210 - Issue #3777: long() applied to a float object now always return a long
       
   211   object; previously an int would be returned for small values. the __long__
       
   212   method is allowed to return either an int or a long, but the behaviour of
       
   213   float objects should not change to respect backward compatibility.
       
   214 
       
   215 - Issue #3751: str.rpartition would perform a left-partition when called with
       
   216   a unicode argument.
       
   217 
       
   218 - Issue #3683: Fix compilation when --without-threads is given.
       
   219 
       
   220 - Issue #3668: Fix a memory leak with the "s*" argument parser in
       
   221   PyArg_ParseTuple and friends, which occurred when the argument for "s*"
       
   222   was correctly parsed but parsing of subsequent arguments failed.
       
   223 
       
   224 - Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
       
   225   match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__
       
   226   mechanism. In the process, fix a bug where isinstance() and issubclass(),
       
   227   when given a tuple of classes as second argument, were looking up
       
   228   __instancecheck__ / __subclasscheck__ on the tuple rather than on each
       
   229   type object.
       
   230 
       
   231 - Fix crashes on memory allocation failure found with failmalloc.
       
   232 
       
   233 - Fix memory leaks found with valgrind and update suppressions file.
       
   234 
       
   235 - Fix compiler warnings in opt mode which would lead to invalid memory reads.
       
   236 
       
   237 - Fix problem using wrong name in decimal module reported by pychecker.
       
   238 
       
   239 - Silenced another compiler warning about a used but not defined
       
   240   function 'stringlib_contains_obj'.
       
   241 
       
   242 - Added warnings on the use of ``__getslice__``, ``__setslice__``, or
       
   243   ``__delslice__``.
       
   244 
       
   245 - Issue #3678: Correctly pass LDFLAGS and LDLAST to the linker on shared
       
   246   library targets in the Makefile.
       
   247 
       
   248 - Issue #1204: The configure script now tests for additional libraries
       
   249   that may be required when linking against readline.  This fixes issues
       
   250   with x86_64 builds on some platforms (a few Linux flavors and OpenBSD).
       
   251 
       
   252 C-API
       
   253 -----
       
   254 
       
   255 - Aliased PyObject_Bytes to PyObject_Str.
       
   256 
       
   257 Library
       
   258 -------
       
   259 
       
   260 - Issue #3640: Pickling a list or a dict uses less local variables, to reduce
       
   261   stack usage in the case of deeply nested objects.
       
   262 
       
   263 - Issue #3629: Fix sre "bytecode" validator for an end case.
       
   264 
       
   265 - Issue #3811: The Unicode database was updated to 5.1.
       
   266 
       
   267 - Issue #3781: Further warnings.catch_warnings() cleanup to prevent
       
   268   silent misbehaviour when a single instance is nested in multiple
       
   269   with statements, or when the methods are invoked in the wrong order.
       
   270 
       
   271 - Issue #3809: Fixed spurious 'test.blah' file left behind by test_logging.
       
   272 
       
   273 - Issue #3781: Clean up the API for warnings.catch_warnings() by having it
       
   274   return a list or None rather than a custom object.
       
   275 
       
   276 - Issue #1638033: Cookie.Morsel gained the httponly attribute.
       
   277 
       
   278 - Issue #3535: zipfile couldn't read some zip files larger than 2GB.
       
   279 
       
   280 - Issue #3776: Deprecate the bsddb package for removal in 3.0.
       
   281 
       
   282 - Issue #3762: platform.architecture() fails if python is lanched via
       
   283   its symbolic link.
       
   284 
       
   285 - Issue #3772: Fixed regression problem in StreamHandler.emit().
       
   286 
       
   287 - Issue 600362: Relocated parse_qs() and parse_qsl(), from the cgi module
       
   288   to the urlparse one.  Added a PendingDeprecationWarning in the old
       
   289   module, it will be deprecated in the future.
       
   290 
       
   291 - Issue #2562: Fix distutils PKG-INFO writing logic to allow having
       
   292   non-ascii characters and Unicode in setup.py meta-data.
       
   293 
       
   294 - Issue #3726: Allow spaces in separators in logging configuration files.
       
   295 
       
   296 - Issue #3719: platform.architecture() fails if there are spaces in the
       
   297   path to the Python binary.
       
   298 
       
   299 - Issue 3602: Moved test.test_support.catch_warning() to
       
   300   warnings.catch_warnings() along with some API cleanup. Expanding the tests
       
   301   for catch_warnings() also led to an improvement in the raising of a
       
   302   DeprecationWarning related to warnings.warn_explicit().
       
   303 
       
   304 - The deprecation warnings for the old camelCase threading API were removed.
       
   305 
       
   306 - logging: fixed lack of use of encoding attribute specified on a stream.
       
   307 
       
   308 - Silenced a trivial compiler warning in the sqlite module.
       
   309 
       
   310 - Fixed two format strings in the _collections module.
       
   311 
       
   312 - Issue #3703: _fileio.FileIO gave unhelpful error message when trying to open a
       
   313   directory.
       
   314 
       
   315 - Issue #3708: os.urandom no longer goes into an infinite loop when passed a
       
   316   non-integer floating point number.
       
   317 
       
   318 - Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing
       
   319   SEM_VALUE_MAX.
       
   320 
       
   321 Extension Modules
       
   322 -----------------
       
   323 
       
   324 - Issue #2975: When compiling several extension modules with Visual Studio 2008
       
   325   from the same python interpreter, some environment variables would grow
       
   326   without limit.
       
   327 
       
   328 - Issue #3643: Added a few more checks to _testcapi to prevent segfaults by
       
   329   exploitation of poor argument checking.
       
   330 
       
   331 - sqlite3: Changed docstring of iterdump() to mark method as "Non-standard".
       
   332 
       
   333 - Issue #3103: Reduced globals symbols used by sqlite3 module and made sure all
       
   334   remaining ones have "pysqlite_" prefix.
       
   335 
       
   336 - Issue #3846: Release the GIL during sqlite3_prepare calls. This improves
       
   337   concurrent access to the same SQLite database from multiple
       
   338   threads/processes.
       
   339 
       
   340 Tests
       
   341 -----
       
   342 
       
   343 - Issue #3781: Add test.test_support.check_warnings() as a convenience
       
   344   wrapper for warnings.catch_warnings() that makes it easier to check
       
   345   that expected warning messages are being reported.
       
   346 
       
   347 - Issue #3796: Some tests functions were not enabled in test_float.
       
   348 
       
   349 - Issue #3768: Move test_py3kwarn over to the new API for catch_warnings().
       
   350 
       
   351 Build
       
   352 -----
       
   353 
       
   354 - Issue #3833: Use a different upgrade code for Win64 installers.
       
   355 
       
   356 - Issue #2271: Set SecureCustomProperties so that installation will properly
       
   357   use the TARGETDIR even for unprivileged users.
       
   358 
       
   359 - Allow passing the MSI file name to merge.py.
       
   360 
       
   361 - Issue #3758: Rename the 'check' target to 'patchcheck' so as to not clash
       
   362   with GNU build target guidelines.
       
   363 
       
   364 
       
   365 What's New in Python 2.6 beta 3?
       
   366 ================================
       
   367 
       
   368 *Release date: 20-Aug-2008*
       
   369 
       
   370 Core and Builtins
       
   371 -----------------
       
   372 
       
   373 - Issue #1878: Remove Py_TPFLAGS_HAVE_VERSION_TAG from
       
   374   Py_TPFLAGS_DEFAULT when not building the core.  This means 3rd party
       
   375   extensions do not automatically benefit from the class attribute
       
   376   cache; they will have to explicitly add Py_TPFLAGS_HAVE_VERSION_TAG
       
   377   to their tp_flags field if they care.  This is a backwards
       
   378   compatibility feature; in 3.0, all types will use the cache by
       
   379   default.
       
   380 
       
   381 - Keyword arguments can now follow starred arguments. (``f(a, *args,
       
   382   keyword=23)`` is now valid syntax.)
       
   383 
       
   384 - ctypes function pointers that are COM methods have a boolean True
       
   385   value again.
       
   386 
       
   387 - Issue #3139: Make buffer-interface thread-safe wrt. PyArg_ParseTuple,
       
   388   by denying s# to parse objects that have a releasebuffer procedure,
       
   389   and introducing s*.
       
   390 
       
   391 - Issue #3537: Fix an assertion failure when an empty but presized dict
       
   392   object was stored in the freelist.
       
   393 
       
   394 - Issue #1481296: Make long(float('nan')) and int(float('nan')) raise
       
   395   ValueError consistently across platforms.
       
   396 
       
   397 - Issue #3479: On platforms where sizeof(int) is smaller than sizeof(long)
       
   398   (64bit Unix, for example), unichr() would truncate its argument and return
       
   399   u'\x00' for unichr(2**32). Now it properly raises an OverflowError.
       
   400 
       
   401 - Apply security patches from Apple.
       
   402 
       
   403 - Issue #2542: Now that issubclass() may call arbitrary code, ensure that
       
   404   PyErr_ExceptionMatches returns 0 when an exception occurs there.
       
   405 
       
   406 - Issue #1819: function calls with several named parameters are now on
       
   407   average 35% faster (as measured by pybench).
       
   408 
       
   409 - Issue #2378: An unexpected UnboundLocalError or NameError could appear when
       
   410   the python debugger steps into a class statement: the free variables (local
       
   411   variables defined in an outer scope) would be deleted from the outer scope.
       
   412 
       
   413 - Issue #2620: Overflow checking when allocating or reallocating memory
       
   414   was not always being done properly in some python types and extension
       
   415   modules.  PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have
       
   416   all been updated to perform better checks and places in the code that
       
   417   would previously leak memory on the error path when such an allocation
       
   418   failed have been fixed.
       
   419 
       
   420 Library
       
   421 -------
       
   422 
       
   423 - Issue #3612: Added some missing basic types in ctypes.wintypes.
       
   424 
       
   425 - The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of
       
   426   symtable.Symbol have been deprecated for removal in 3.0 and the next release.
       
   427 
       
   428 - Issue #2234: distutils failed for some versions of the cygwin compiler. The
       
   429   version reported by these tools does not necessarily follow the python
       
   430   version numbering scheme, so the module is less strict when parsing it.
       
   431 
       
   432 - Issue #2235: Added Py3k warnings for types which will become unhashable
       
   433   under the stricter __hash__ inheritance rules in 3.0. Several types
       
   434   which did not meet the rules for hash invariants and were already
       
   435   unhashable in 3.0 have now been explicitly flagged as unhashable in
       
   436   2.6 as well (collections.Mapping, collections.Set, unittest.TestSuite,
       
   437   xml.dom.minidom.NamedNodeMap, numbers.Number, UserList.UserList)
       
   438 
       
   439 - Update __all__ for cookielib, csv, os, urllib2, and weakref to include things
       
   440   imported into the module but exposed as part of the module's API.
       
   441 
       
   442 - Remove an unneeded import of abc.ABCMeta from 'inspect'.
       
   443 
       
   444 - Remove unneeded imports of 'sys' and 'warnings' from 'io'.
       
   445 
       
   446 - Remove unneeded imports of 'warnings' from shelve, filecmp, and dummy_thread.
       
   447 
       
   448 - Issue #3575: Incremental decoder's decode function now takes bytearray
       
   449   by using 's*' instead of 't#'.
       
   450 
       
   451 - Issue #2222: Fixed reference leak when occured os.rename()
       
   452   fails unicode conversion on 2nd parameter. (windows only)
       
   453 
       
   454 - Issue 2464. urllib2 now supports a malformation in the URL received
       
   455   in a redirect.
       
   456 
       
   457 - Silence the DeprecationWarning raised when importing mimetools in
       
   458   BaseHTTPServer, cgi (and rfc822), httplib.
       
   459 
       
   460 - Issue #2776: fixed small issue when handling an URL with double slash
       
   461   after a 302 response in the case of not going through a proxy.
       
   462 
       
   463 - Issue #2676: in the email package, content-type parsing was hanging on
       
   464   pathological input because of quadratic or exponential behaviour of a
       
   465   regular expression.
       
   466 
       
   467 - Issue #3476: binary buffered reading through the new "io" library is now
       
   468   thread-safe.
       
   469 
       
   470 - Silence the DeprecationWarning of rfc822 when it is imported by mimetools
       
   471   since mimetools itself is deprecated. Because modules are cached, all
       
   472   subsequent imports of rfc822 will not raise a visible DeprecationWarning.
       
   473 
       
   474 - Issue #3134: shutil referenced undefined WindowsError symbol.
       
   475 
       
   476 - Issue #1342811: Fix leak in Tkinter.Menu.delete. Commands associated to
       
   477   menu entries were not deleted.
       
   478 
       
   479 - Copied the implementation of reduce() to _functools.reduce() to have a
       
   480   version that did not raise a DeprecationWarning under -3.
       
   481 
       
   482 - Issue #3205: When iterating over a BZ2File fails allocating memory, raise
       
   483   a MemoryError rather than silently stop the iteration.
       
   484 
       
   485 - Issue #3487: sre "bytecode" validator.  Passing invalid "re-bytecode"
       
   486   to _sre.compile() will now be rejected.  This should not affect anybody
       
   487   since the re.compile() function never generates invalid re-bytecode.
       
   488 
       
   489 - Issue #3436: Make csv.DictReader's fieldnames attribute a property so that
       
   490   upon first access it can be automatically initialized from the csv file if
       
   491   it wasn't initialized during instantiation.
       
   492 
       
   493 - Issue #2338: Create imp.reload() to help with transitioning to Python 3.0 as
       
   494   the reload() built-in has been removed.
       
   495 
       
   496 - Changed code in the following modules/packages to remove warnings raised
       
   497   while running under the ``-3`` flag: aifc, asynchat, asyncore, bdb, bsddb,
       
   498   ConfigParser, cookielib, csv, difflib, distutils, DocXMLRPCServer, email,
       
   499   filecmp, fileinput, inspect, logging, modulefinder, pdb, pickle, profile,
       
   500   pstats, pydoc, re, rlcompleter, SimpleXMLRPCServer, shelve, socket,
       
   501   subprocess, sqlite3, tarfile, Tkinter, test.test_support, textwrap,
       
   502   threading, tokenize, traceback, urlparse, wsgiref, xml, xmlrpclib.
       
   503 
       
   504 - Issue #3039: Fix tarfile.TarFileCompat.writestr() which always
       
   505   raised an AttributeError.
       
   506 
       
   507 - Issue #2523: Fix quadratic behaviour when read()ing a binary file without
       
   508   asking for a specific length. This problem only affected files opened
       
   509   using the new "io" module, not the built-in open() function.
       
   510 
       
   511 - Issue #3449: Update decimal module to use most recent specification
       
   512   (v. 1.68) and tests (v. 2.58) from IBM.
       
   513 
       
   514 - Issue 3437: Bug fix in robotparser parsing of Allow: lines.
       
   515 
       
   516 - Issue 1592:  Improve error reporting when operations are attempted
       
   517   on a closed shelf.
       
   518 
       
   519 - Deprecate the "ast" parser function aliases.
       
   520 
       
   521 - Issue #3120: On 64-bit Windows the subprocess module was truncating handles.
       
   522 
       
   523 - Issue #3303: Fix a crash in locale.strcoll() when calling it with
       
   524   invalid arguments.
       
   525 
       
   526 - Issue #3302: Fix several crashes when calling locale's gettext functions
       
   527   with None arguments.
       
   528 
       
   529 - Issue #3389: Allow resolving dotted names for handlers in logging
       
   530   configuration files.
       
   531 
       
   532 - Deprecate the sunaudio module for removal in Python 3.0.
       
   533 
       
   534 - Issue #3394: zipfile.writestr sets external attributes when passed a
       
   535   file name rather than a ZipInfo instance, so files are extracted with
       
   536   mode 0600 rather than 000 under Unix.
       
   537 
       
   538 - Issue #1857: subprocess.Popen.poll gained an additional _deadstate keyword
       
   539   argument in python 2.5, this broke code that subclassed Popen to include its
       
   540   own poll method.  Fixed my moving _deadstate to an _internal_poll method.
       
   541 
       
   542 Build
       
   543 -----
       
   544 
       
   545 - Generate the PatternGrammar pickle during "make install".
       
   546 
       
   547 Documentation
       
   548 -------------
       
   549 
       
   550 - Issue #2235: the C API function PyObject_HashNotImplemented and its
       
   551   interaction with the tp_hash slot (added in 2.6b2) are now documented
       
   552 
       
   553 - Issue #643841: The language reference now provides more detailed
       
   554   coverage of the lookup process for special methods. The disclaimers
       
   555   regarding lack of coverage of new-style classes have also been
       
   556   removed, since the coverage is now fairly reasonable.
       
   557 
       
   558 
       
   559 What's New in Python 2.6 beta 2?
       
   560 ================================
       
   561 
       
   562 *Release date: 17-Jul-2008*
       
   563 
       
   564 Core and Builtins
       
   565 -----------------
       
   566 
       
   567 - Issue #3156: Fix inconsistent behavior of the bytearray type: all
       
   568   its methods now allow for items objects that can be converted to
       
   569   an integer using operator.index().
       
   570 
       
   571 - Issue #3360: Fix incorrect parsing of '020000000000.0', which
       
   572   produced a ValueError instead of giving the correct float.
       
   573 
       
   574 - Issue #3083: Add alternate (#) formatting for bin, oct, hex output
       
   575   for str.format().  This adds the prefix 0b, 0o, or 0x, respectively.
       
   576 
       
   577 - Issue #3008: the float type has a new instance method 'float.hex'
       
   578   and a new class method 'float.fromhex' to convert floating-point
       
   579   numbers to and from hexadecimal strings, respectively.
       
   580 
       
   581 - Issue #2235: __hash__ is once again inherited by default. To allow
       
   582   collections.Hashable to remain meaningful in the presence of the
       
   583   default hash implementation (object.__hash__), it is now possible
       
   584   to explicit block inheritance of hash by setting __hash__=None at
       
   585   the Python level, or tp_hash=PyObject_HashNotImplemented at the C
       
   586   level.
       
   587 
       
   588 - Issue #3221: Issue a RuntimeWarning instead of raising SystemError if
       
   589   the parent module cannot be found while performing an absolute import.
       
   590   This means that an incorrectly defined __package__ attribute will
       
   591   now only prevent relative imports in that module rather than causing
       
   592   all imports from that module to fail.
       
   593 
       
   594 - Issue #2517: Allow unicode messages in Exceptions again by correctly
       
   595   bypassing the instance dictionary when looking up __unicode__ on
       
   596   new-style classes.
       
   597 
       
   598 - Issue #3242: Fix a crash inside the print statement, if sys.stdout is
       
   599   set to a custom object whose write() method happens to install
       
   600   another file in sys.stdout.
       
   601 
       
   602 - Issue #3088: Corrected a race condition in classes derived from
       
   603   threading.local: the first member set by a thread could be saved in
       
   604   another thread's dictionary.
       
   605 
       
   606 - Issue #3004: Minor change to slice.indices(): the start and stop
       
   607   arguments are now treated identically, making the behaviour easier
       
   608   to describe and understand.  For example, slice(None, -10,
       
   609   1).indices(9) now returns (0, 0, 1) instead of (0, -1, 1), and
       
   610   slice(None, 10, -1).indices(10) returns (9, 9, -1) instead of (9,
       
   611   10, -1).
       
   612 
       
   613 - Issue #3219: Calling a function with repeated keyword arguments,
       
   614   f(a=2, a=23), would not cause a syntax error.  This was a regression
       
   615   from 2.4 caused by the switch to the new compiler.
       
   616 
       
   617 - Issue #2862: Make int and float freelist management consistent with
       
   618   other freelists.  Changes their CompactFreeList apis into
       
   619   ClearFreeList apis and calls them via gc.collect().
       
   620 
       
   621 Library
       
   622 -------
       
   623 
       
   624 - Issue #3554: ctypes.string_at and ctypes.wstring_at did call Python
       
   625   api functions without holding the GIL, which could lead to a fatal
       
   626   error when they failed.
       
   627 
       
   628 - Issue #799428: Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects.
       
   629 
       
   630 - Issue #3395: fix reference in test_multiprocessing to old debugInfo method
       
   631 
       
   632 - Issue #3312: Fix two crashes in sqlite3.
       
   633 
       
   634 - Issue #1608818: Fix misbehavior in os.listdir() if readdir() fails.
       
   635 
       
   636 - Issue #3125: Remove copy_reg in multiprocessing and replace it with
       
   637   ForkingPickler.register() to resolve conflict with ctypes.
       
   638 
       
   639 - Issue #3090: Fixed ARCHFLAGS parsing on OS/X
       
   640 
       
   641 - Issue #3313: Fixed a crash when a failed dlopen() call does not set
       
   642   a valid dlerror() message.
       
   643 
       
   644 - Issue #3258: Fixed a crash when a ctypes POINTER type to an
       
   645   incomplete structure was created.
       
   646 
       
   647 - Issue #3339: dummy_thread.acquire() should not return None.
       
   648 
       
   649 - Issue #3285: Fractions from_float() and from_decimal() accept Integral arguments.
       
   650 
       
   651 - Issue #3301: Bisect module behaved badly when lo was negative.
       
   652 
       
   653 - Issue #839496: SimpleHTTPServer used to open text files in text mode. This is
       
   654   both unnecessary (HTTP allows text content to be sent in several forms) and
       
   655   wrong because the actual transmitted size could differ from the
       
   656   content-length.  The problem had been corrected in the 2.4 branch, but never
       
   657   merged into trunk.
       
   658 
       
   659 - Issue #2663: add filtering capability to shutil.copytree().
       
   660 
       
   661 - Issue #1622: Correct interpretation of various ZIP header fields.
       
   662 
       
   663 - Issue #1526: Allow more than 64k files to be added to Zip64 file.
       
   664 
       
   665 - Issue #1746: Correct handling of zipfile archive comments (previously
       
   666   archives with comments over 4k were flagged as invalid). Allow writing
       
   667   Zip files with archives by setting the 'comment' attribute of a ZipFile.
       
   668 
       
   669 - Issue #449227: The rlcompleter module now adds "(" to callable objects
       
   670   when completed.
       
   671 
       
   672 - Issue #3190: Pydoc now hides the automatic module attribute __package__ (the
       
   673   handling is now the same as that of other special attributes like __name__).
       
   674 
       
   675 - Issue #2885 (partial): The urllib.urlopen() function has been deprecated for
       
   676   removal in Python 3.0 in favor of urllib2.urlopen().
       
   677 
       
   678 - Issue #2113: Fix error in subprocess.Popen if the select system call is
       
   679   interrupted by a signal.
       
   680 
       
   681 - Issue #3309: Fix bz2.BZFile iterator to release its internal lock
       
   682   properly when raising an exception due to the bz2file being closed.
       
   683   Prevents a deadlock.
       
   684 
       
   685 - Issue #3094: httplib.HTTPSConnection Host: headers no longer include the
       
   686   redundant ":443" port number designation when the connection is using the
       
   687   default https port (443).
       
   688 
       
   689 - Issue #874900: after an os.fork() call the threading module state is cleaned
       
   690   up in the child process to prevent deadlock and report proper thread counts
       
   691   if the new process uses the threading module.
       
   692 
       
   693 Tests
       
   694 -----
       
   695 
       
   696 - test.test_support.catch_warning now keeps track of all warnings it sees
       
   697   and is now better documented. Explicit unit tests for this context manager
       
   698   have been added to test_warnings.
       
   699 
       
   700 Build
       
   701 -----
       
   702 
       
   703 - Issue #3215: Build sqlite3 as sqlite3.dll, not sqlite3.pyd.
       
   704 
       
   705 
       
   706 Documentation
       
   707 -------------
       
   708 
       
   709 - Document that robotparser has been renamed to urllib.robotparser in
       
   710   Python 3.0.
       
   711 
       
   712 - Document that urlparse has been renamed to urllib.parse in Python 3.0.
       
   713 
       
   714 - Document that urllib2 is split across multiple modules and renamed in
       
   715   Python 3.0.
       
   716 
       
   717 - Document that urllib is split across multiple modules and renamed in
       
   718   Python 3.0.
       
   719 
       
   720 
       
   721 What's New in Python 2.6 beta 1?
       
   722 ================================
       
   723 
       
   724 *Release date: 18-June-2008*
       
   725 
       
   726 Core and Builtins
       
   727 -----------------
       
   728 
       
   729 - Issue #3211: warnings.warn_explicit() did not guard against its 'registry'
       
   730   argument being anything other than a dict or None. Also fixed a bug in error
       
   731   handling when 'message' and 'category' were both set to None, triggering a
       
   732   bus error.
       
   733 
       
   734 - Issue #3100: Corrected a crash on deallocation of a subclassed weakref which
       
   735   holds the last (strong) reference to its referent.
       
   736 
       
   737 - Add future_builtins.ascii().
       
   738 
       
   739 - Several set methods now accept multiple arguments:  update(), union(),
       
   740   intersection(), intersection_update(), difference(), and difference_update().
       
   741 
       
   742 - Issue #2898: Added sys.getsizeof() to retrieve size of objects in bytes.
       
   743 
       
   744 - New environment variable PYTHONIOENCODING.
       
   745 
       
   746 - Patch #2488: Add sys.maxsize.
       
   747 
       
   748 - Issue #2353: file.xreadlines() now emits a Py3k warning.
       
   749 
       
   750 - Issue #2863: generators now have a ``gen.__name__`` attribute that
       
   751   equals ``gen.gi_code.co_name``, like ``func.__name___`` that equals
       
   752   ``func.func_code.co_name``.  The repr() of a generator now also
       
   753   contains this name.
       
   754 
       
   755 - Issue #2831: enumerate() now has a ``start`` argument.
       
   756 
       
   757 - Issue #2801: fix bug in the float.is_integer method where a
       
   758   ValueError was sometimes incorrectly raised.
       
   759 
       
   760 - Issue #2790: sys.flags was not properly exposing its bytes_warning
       
   761   attribute.
       
   762 
       
   763 - Issue #2196: hasattr() now lets exceptions which do not inherit
       
   764   Exception (KeyboardInterrupt, and SystemExit) propagate instead of
       
   765   ignoring them.
       
   766 
       
   767 - Added checks for integer overflows, contributed by Google. Some are
       
   768   only available if asserts are left in the code, in cases where they
       
   769   can't be triggered from Python code.
       
   770 
       
   771 
       
   772 Extension Modules
       
   773 -----------------
       
   774 - Issue #1179: [CVE-2007-4965] Integer overflow in imageop module.
       
   775 
       
   776 - Issue #3116:  marshal.dumps() had quadratic behavior for strings > 32Mb.
       
   777 
       
   778 - Issue #2138: Add factorial() to the math module.
       
   779 
       
   780 - The heapq module does comparisons using LT instead of LE.  This
       
   781   makes its implementation match that used by list.sort().
       
   782 
       
   783 - Issue #2819: add full-precision summation function to math module,
       
   784   based on Hettinger's ASPN Python Cookbook recipe.
       
   785 
       
   786 - Issue #2592: delegate nb_index and the floor/truediv slots in
       
   787   weakref.proxy.
       
   788 
       
   789 - Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the
       
   790   platform.
       
   791 
       
   792 - Support for Windows 9x has been removed from the winsound module.
       
   793 
       
   794 - bsddb module updated to version 4.7.3.
       
   795   http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.7.3. This
       
   796   code should be compatible with Python 3.0.
       
   797 
       
   798 - Issue #2858: Fix potential memory corruption when
       
   799   bsddb.db.DBEnv.lock_get and other bsddb.db object constructors
       
   800   raised an exception.
       
   801 
       
   802 - Issue #2669: bsddb/__init__.py iteration no longer silently fails when
       
   803   the database has changed size during iteration.  It now raises a
       
   804   RuntimeError in the same manner as a dictionary.
       
   805 
       
   806 - Issue #2870: cmathmodule.c compile error.
       
   807 
       
   808 - Added a threading.Thread.ident property.
       
   809 
       
   810 Library
       
   811 -------
       
   812 
       
   813 - logging.config: Removed out-of-date comment in _install_handlers and
       
   814   used issubclass in place of equality comparison of classes.
       
   815 
       
   816 - Issue #2722: Now the os.getcwd() supports very long path names.
       
   817 
       
   818 - Issue #2888: Fixed the behaviour of pprint when working with nested
       
   819   structures, to match the behaviour of 2.5 and 3.0 (now follows the common
       
   820   sense).
       
   821 
       
   822 - Issue #1817: cgi now correctly handles the querystring on POST requests
       
   823 
       
   824 - Issue #3136: fileConfig()'s disabling of old loggers is now conditional via
       
   825   an optional disable_existing_loggers parameter, but the default value is
       
   826   such that the old behaviour is preserved. Thanks to Leandro Lucarella for
       
   827   the patch.
       
   828 
       
   829 - Issue #3126: StreamHandler and FileHandler check before calling "flush" and
       
   830   "close" that the stream object has these, using hasattr (thanks to bobf for
       
   831   the patch).
       
   832 
       
   833 - Issue #2912: platform.uname now tries to determine unknown information even if
       
   834   os.uname exists.
       
   835 
       
   836 - The rfc822 module has been deprecated for removal in 3.0.
       
   837 
       
   838 - The mimetools module has been deprecated for removal in 3.0.
       
   839 
       
   840 - The ctypes.byref function now takes an optional second parameter
       
   841   which allows to specify an offset in bytes for the constructed
       
   842   pointer-like object.
       
   843 
       
   844 - Added the ast module.
       
   845 
       
   846 - Added the multiprocessing module, PEP 371.
       
   847 
       
   848 - Factored out the indentation cleaning from inspect.getdoc() into
       
   849   inspect.cleandoc() to ease standalone use.
       
   850 
       
   851 - Issue #1798: Add ctypes calling convention that allows safe access
       
   852   to errno.
       
   853 
       
   854 - Issue #2404: ctypes objects support the new pep3118 buffer interface.
       
   855 
       
   856 - Patch #2125: Add GetInteger and GetString methods for
       
   857   msilib.Record objects.
       
   858 
       
   859 - Issue #2782: The datetime module's strftime methods now accept
       
   860   unicode format strings just as time.strftime always has.
       
   861 
       
   862 - The sgmllib and htmllib modules have been deprecated for removal
       
   863   in Python 3.0.
       
   864 
       
   865 - Issue #3011: locale module alias table was updated to the latest
       
   866   version from the X.org locale.alias file.
       
   867 
       
   868 - Issue #1797 (partial fix): ctypes NULL function pointers have a
       
   869   False boolean value now.
       
   870 
       
   871 - Issue #2985: Allow 64-bit integer responses (``<i8>``) in XMLRPC
       
   872   transfers.
       
   873 
       
   874 - Issue #2877: The UserString.MutableString class has been removed in
       
   875   Python 3.0.
       
   876 
       
   877 - Do not close external file objects passed to tarfile.open(mode='w:bz2')
       
   878   when the TarFile is closed.
       
   879 
       
   880 - Issue #2959: For consistency with other file-like objects, gzip's
       
   881   GzipFile.close() can now be called multiple times without raising
       
   882   an exception.
       
   883 
       
   884 - Issue #1390: Raise ValueError in toxml when an invalid comment would
       
   885   otherwise be produced.
       
   886 
       
   887 - Issue #2914: TimedRotatingFileHandler now takes an optional keyword
       
   888   argument "utc" to use UTC time rather than local time.
       
   889 
       
   890 - Issue #2929: TimedRotatingFileHandler was using the wrong path when
       
   891   deleting old log files (filename only instead of full path).
       
   892 
       
   893 - Issue #1775025: You can now specify zipfile members to open(),
       
   894   read() or extract() via a ZipInfo instance.  This allows handling
       
   895   duplicate filenames in zipfiles.
       
   896 
       
   897 - Issue #961805: Fix Text.edit_modified() in Tkinter.
       
   898 
       
   899 - Issue #1793: Function ctypes.util.find_msvcrt() added that returns
       
   900   the name of the C runtime library that Python uses.
       
   901   ctypes.util.find_library(name) now call this function when name is
       
   902   'm' or 'c'.
       
   903 
       
   904 - The statvfs module has been deprecated for removal in Python 3.0.
       
   905 
       
   906 - The sunaudiodev and SUNAUDIODEV modules have been deprecated for
       
   907   removal in Python 3.0.
       
   908 
       
   909 - The WAIT module from IRIX has been deprecated for removal in Python
       
   910   3.0.
       
   911 
       
   912 - The torgb module from IRIX has been deprecated for removal in Python
       
   913   3.0.
       
   914 
       
   915 - The SV module from IRIX has been deprecated for removal in Python
       
   916   3.0.
       
   917 
       
   918 - The readcd module from IRIX has been deprecated for removal in
       
   919   Python 3.0.
       
   920 
       
   921 - The panelparser module from IRIX has been deprecated for removal in
       
   922   Python 3.0.
       
   923 
       
   924 - The panel module from IRIX has been deprecated for removal in Python
       
   925   3.0.
       
   926 
       
   927 - The jpeg module from IRIX has been deprecated for removal in Python
       
   928   3.0.
       
   929 
       
   930 - The IOCTL module from IRIX has been deprecated for removal in Python
       
   931   3.0.
       
   932 
       
   933 - The IN module from IRIX has been deprecated for removal in Python
       
   934   3.0.
       
   935 
       
   936 - The imgfile module from IRIX has been deprecated for removal in
       
   937   Python 3.0.
       
   938 
       
   939 - The GLWS module from IRIX has been deprecated for removal in Python
       
   940   3.0.
       
   941 
       
   942 - The GET module from IRIX has been deprecated for removal in Python
       
   943   3.0.
       
   944 
       
   945 - The fm module from IRIX has been deprecated for removal in Python
       
   946   3.0.
       
   947 
       
   948 - The FL, flp, and fl modules from IRIX have been deprecated for
       
   949   removal in Python 3.0.
       
   950 
       
   951 - The FILE module on IRIX has been deprecated for removal in Python
       
   952   3.0.
       
   953 
       
   954 - The ERRNO module on IRIX has been deprecated for removal in Python
       
   955   3.0.
       
   956 
       
   957 - The DEVICE, GL, gl, and cgen modules (which indirectly includes
       
   958   cgensupport) have been deprecated for removal in Python 3.0.
       
   959 
       
   960 - The CL, CL_old, and cl modules for IRIX have been deprecated for
       
   961   removal in Python 3.0.
       
   962 
       
   963 - The cdplayer module for IRIX has been deprecated for removal in
       
   964   Python 3.0.
       
   965 
       
   966 - The cddb module for IRIX has been deprecated for removal in Python
       
   967   3.0.
       
   968 
       
   969 - The cd and CD modules for IRIX have been deprecated for removal in
       
   970   Python 3.0.
       
   971 
       
   972 - The al and AL modules for IRIX have been deprecated for removal in
       
   973   Python 3.0.
       
   974 
       
   975 - Issue #1713041: fix pprint's handling of maximum depth.
       
   976 
       
   977 - The timing module has been deprecated for removal in Python 3.0.
       
   978 
       
   979 - The sv module has been deprecated for removal in Python 3.0.
       
   980 
       
   981 - The multifile module has been deprecated as per PEP 4.
       
   982 
       
   983 - The imageop module has been deprecated for removal in Python 3.0.
       
   984 
       
   985 - Issue #2250: Exceptions raised during evaluation of names in
       
   986   rlcompleter's ``Completer.complete()`` method are now caught and
       
   987   ignored.
       
   988 
       
   989 - Issue #2659: Added ``break_on_hyphens`` option to textwrap
       
   990   TextWrapper class.
       
   991 
       
   992 - The mhlib module has been deprecated for removal in Python 3.0.
       
   993 
       
   994 - The linuxaudiodev module has been deprecated for removal in Python
       
   995   3.0.
       
   996 
       
   997 - The ihooks module has been deprecated for removal in Python 3.0.
       
   998 
       
   999 - The fpformat module has been deprecated for removal in Python 3.0.
       
  1000 
       
  1001 - The dl module has been deprecated for removal in Python 3.0.
       
  1002 
       
  1003 - The Canvas module has been deprecated for removal in Python 3.0.
       
  1004 
       
  1005 - The compiler package has been deprecated for removal in Python 3.0.
       
  1006 
       
  1007 - The Bastion and rexec modules have been deprecated for removal in
       
  1008   Python 3.0.
       
  1009 
       
  1010 - The bsddb185 module has been deprecated for removal in Python 3.0.
       
  1011 
       
  1012 - The pure module has been deprecated for removal in Python 3.0.
       
  1013 
       
  1014 - Issue #2487: change the semantics of math.ldexp(x, n) when n is too
       
  1015   large to fit in a C long.  ldexp(x, n) now returns a zero (with
       
  1016   suitable sign) if n is large and negative; previously, it raised
       
  1017   OverflowError.
       
  1018 
       
  1019 - The toaiff module has been deprecated for removal in Python 3.0.
       
  1020 
       
  1021 - The test.testall module has been deprecated for removal in Python
       
  1022   3.0.
       
  1023 
       
  1024 - The new module has been deprecated for removal in Python 3.0.
       
  1025 
       
  1026 - The user module has been deprecated for removal in Python 3.0.
       
  1027 
       
  1028 - The stringold module has been deprecated for removal in Python 3.0.
       
  1029 
       
  1030 - The mutex module has been deprecated for removal in Python 3.0.
       
  1031 
       
  1032 - The imputil module has been deprecated for removal in Python 3.0.
       
  1033 
       
  1034 - test.test_support.catch_warning() gained a 'record' argument.
       
  1035 
       
  1036 - os.path.walk is deprecated in favor of os.walk.
       
  1037 
       
  1038 - pdb gained the "until" command.
       
  1039 
       
  1040 - The Mac Modules (including Carbon) have been deprecated for removal
       
  1041   in Python 3.0.
       
  1042 
       
  1043 - Library: on MacOS X you can now set ``ARCHFLAGS`` in the shell
       
  1044   environment to control the '-arch' flags that are used to build
       
  1045   an extension. This was added for compatibility with Apple's build
       
  1046   of Python.
       
  1047 
       
  1048 - The bundled OSX-specific copy of libbffi is now in sync with the version
       
  1049   shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
       
  1050 
       
  1051 - The threading module gained aliases for names that will be removed in the
       
  1052   3.x series.
       
  1053 
       
  1054 Build
       
  1055 -----
       
  1056 
       
  1057 - The Windows installer now includes Tk 8.5, bzip2 1.0.5, and SQLite 3.5.9.
       
  1058 
       
  1059 - Patch #1722225: Support QNX 6.
       
  1060 
       
  1061 - ``Lib/lib-old`` is now added to sys.path.
       
  1062 
       
  1063 - On MacOS X it is now possible to install the framework in 64-bit
       
  1064   mode or even as a 4-way universal binary (that is, PPC, i386,
       
  1065   PPC64 and x86_64 support in one binary).
       
  1066 
       
  1067   This is controlled by the configure argument ``--with-universal-archs``:
       
  1068 
       
  1069   - ``--with-universal-archs=all``: install 4-way universal
       
  1070 
       
  1071   - ``--with-universal-archs=32-bit``: install 2-way universal, 32-bit (the default)
       
  1072 
       
  1073   - ``--with-universal-archs=64-bit``: install 2-way universal, 64-bit
       
  1074 
       
  1075   This option should be used in combination with ``--enable-universalsdk=``.
       
  1076 
       
  1077   NOTE: 64-bit and 4-way builds are only suppported on Mac OS X 10.5 (or later).
       
  1078 
       
  1079 
       
  1080 C API
       
  1081 -----
       
  1082 
       
  1083 - Add ``PyType_Modified()`` as a public API to clear the type cache.
       
  1084 
       
  1085 - The PyBytes functions have been renamed to PyByteArray.
       
  1086 
       
  1087 - The PyString functions have been renamed to PyBytes. A batch of
       
  1088   defines were added so that the linker still sees the original
       
  1089   PyString names.
       
  1090 
       
  1091 
       
  1092 What's New in Python 2.6 alpha 3?
       
  1093 =================================
       
  1094 
       
  1095 *Release date: 08-May-2008*
       
  1096 
       
  1097 Core and builtins
       
  1098 -----------------
       
  1099 
       
  1100 - Issue #2719: backported the ``next()`` builtin from Python 3.
       
  1101 
       
  1102 - Issue #2681: The octal literal ``0o8`` was incorrecly acctepted. Now
       
  1103   it properly raises a SyntaxError.
       
  1104 
       
  1105 - Issue #2617: Reserved -J and -X arguments for Jython, IronPython and
       
  1106   other implementations of Python.
       
  1107 
       
  1108 - Implemented PEP 370: Per user site-packages directory.
       
  1109 
       
  1110 Extension Modules
       
  1111 -----------------
       
  1112 
       
  1113 - Issue #2670: Fix a failure in urllib2.build_opener(), when passed
       
  1114   two handlers that derive the same default base class.
       
  1115 
       
  1116 - Added kill, terminate and send_signal(sig) to subprocess.Popen.
       
  1117 
       
  1118 - Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to
       
  1119   the cmath module.
       
  1120 
       
  1121 - Four new methods were added to the math and cmath modules: acosh,
       
  1122   asinh, atanh and log1p.
       
  1123 
       
  1124 - zlib.decompressobj().flush(value) no longer crashes the interpreter
       
  1125   when passed a value less than or equal to zero.
       
  1126 
       
  1127 - Issue #1631171: Re-implement the 'warnings' module in C (the
       
  1128   original Python code has been kept as backup). This will allow for
       
  1129   using the 'warning's machinery in such places as the parser where
       
  1130   use of pure Python code is not possible.  Both the ``showarning()``
       
  1131   and ``formatwarning()`` gain an optional 'line' argument which is
       
  1132   not called by default for backwards-compatibility reasons. Setting
       
  1133   ``warnings.showwarning()`` to an implementation that lacks support
       
  1134   for the ``line`` argument will raise a DeprecationWarning.
       
  1135 
       
  1136 Library
       
  1137 -------
       
  1138 
       
  1139 - The audiodev module has been deprecated for removal in Python 3.0.
       
  1140 
       
  1141 - Issue #2750: Add the 'json' package. Based on simplejson 1.9 and
       
  1142   contributed by Bob Ippolito.
       
  1143 
       
  1144 - Issue #1734346: Support Unicode file names for zipfiles.
       
  1145 
       
  1146 - Issue #2581: distutils: Vista UAC/elevation support for
       
  1147   bdist_wininst.
       
  1148 
       
  1149 - Issue #2635: Fix bug in 'fix_sentence_endings' textwrap.fill option,
       
  1150   where an extra space was added after a word containing (but not
       
  1151   ending in) '.', '!' or '?'.
       
  1152 
       
  1153 - Add from_buffer() and from_buffer_copy() class methods to ctypes
       
  1154   data types.
       
  1155 
       
  1156 - Issue #2682: ctypes callback functions no longer contain a cyclic
       
  1157   reference to themselves.
       
  1158 
       
  1159 - The getpass module has been improved on Unix.  It now uses /dev/tty
       
  1160   by default and uses stderr instead of stdout.  A GetPassWarning is
       
  1161   issued when input echo cannot be controlled.
       
  1162 
       
  1163 - Issue #2014: Allow XML-RPC datetime objects to have dates before
       
  1164   1900-01-01.
       
  1165 
       
  1166 - Issue #2439: Added new function pkgutil.get_data(), which is a
       
  1167   convenience wrapper for the PEP 302 get_data() API.
       
  1168 
       
  1169 - Issue #2616: The ctypes.pointer() and ctypes.POINTER() functions are
       
  1170   now implemented in C for better performance.
       
  1171 
       
  1172 - Issue #2408: The ``_types`` module, which was used as in
       
  1173   implementation detail of the public ``types`` module, has been
       
  1174   removed and replaced by pure python code.
       
  1175 
       
  1176 - Issue #2513: distutils on Windows is now capable of cross-compiling
       
  1177   extension modules between 32 and 64 bit platforms.  See the distutls
       
  1178   build documentation for more information.
       
  1179 
       
  1180 - Issue #815646: Individual file objects may now be used from multiple
       
  1181   threads at once without fear of crashing the Python interpreter.  If
       
  1182   file.close() is called while an object is in use by another thread
       
  1183   an IOError exception will be raised and the file will not be closed.
       
  1184 
       
  1185 - The bundled libffi copy is now in sync with the recently released
       
  1186   libffi3.0.5 version, apart from some small changes to
       
  1187   Modules/_ctypes/libffi/configure.ac.
       
  1188 
       
  1189 - Issue #2385: distutils.core.run_script() makes __file__ available,
       
  1190   so the controlled environment will more closely mirror the typical
       
  1191   script environment.  This supports setup.py scripts that refer to
       
  1192   data files.
       
  1193 
       
  1194 Tests
       
  1195 -----
       
  1196 
       
  1197 - Issue #2550: The approach used by client/server code for obtaining
       
  1198   ports to listen on in network-oriented tests has been refined in an
       
  1199   effort to facilitate running multiple instances of the entire
       
  1200   regression test suite in parallel without issue.
       
  1201   test_support.bind_port() has been fixed such that it will always
       
  1202   return a unique port -- which wasn't always the case with the
       
  1203   previous implementation, especially if socket options had been set
       
  1204   that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The
       
  1205   new implementation of bind_port() will actually raise an exception
       
  1206   if it is passed an AF_INET/SOCK_STREAM socket with either the
       
  1207   SO_REUSEADDR or SO_REUSEPORT socket option set.  Furthermore, if
       
  1208   available, bind_port() will set the SO_EXCLUSIVEADDRUSE option on
       
  1209   the socket it's been passed.  This currently only applies to
       
  1210   Windows.  This option prevents any other sockets from binding to the
       
  1211   host/port we've bound to, thus removing the possibility of the
       
  1212   'non-deterministic' behaviour, as Microsoft puts it, that occurs
       
  1213   when a second SOCK_STREAM socket binds and accepts to a host/port
       
  1214   that's already been bound by another socket.  The optional preferred
       
  1215   port parameter to bind_port() has been removed.  Under no
       
  1216   circumstances should tests be hard coding ports!
       
  1217 
       
  1218   test_support.find_unused_port() has also been introduced, which will
       
  1219   pass a temporary socket object to bind_port() in order to obtain an
       
  1220   unused port.  The temporary socket object is then closed and
       
  1221   deleted, and the port is returned.  This method should only be used
       
  1222   for obtaining an unused port in order to pass to an external program
       
  1223   (i.e. the -accept [port] argument to openssl's s_server mode) or as
       
  1224   a parameter to a server-oriented class that doesn't give you direct
       
  1225   access to the underlying socket used.
       
  1226 
       
  1227   Finally, test_support.HOST has been introduced, which should be used
       
  1228   for the host argument of any relevant socket calls (i.e. bind and
       
  1229   connect).
       
  1230 
       
  1231   The following tests were updated to following the new conventions:
       
  1232     test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
       
  1233     test_poplib, test_ftplib, test_telnetlib, test_socketserver,
       
  1234     test_asynchat and test_socket_ssl.
       
  1235 
       
  1236   It is now possible for multiple instances of the regression test
       
  1237   suite to run in parallel without issue.
       
  1238 
       
  1239 Build
       
  1240 -----
       
  1241 
       
  1242 - Issue #1496032: On alpha, use -mieee when gcc is the compiler.
       
  1243 
       
  1244 - Issue #2544: On HP-UX systems, use 'gcc -shared' for linking when
       
  1245   gcc is used as compiler.
       
  1246 
       
  1247 - Issue #2573: On MacOS X it is now possible to install the framework
       
  1248   with a different name using --with-framework-name=NAME.
       
  1249 
       
  1250 C API
       
  1251 -----
       
  1252 
       
  1253 - Added implementation of copysign, acosh, asinh, atanh and log1p to
       
  1254   the new files Include/pymath.h and Python/pymath.h for platforms
       
  1255   which provide the functions through their libm. The files also
       
  1256   contains several helpers and constants for math.
       
  1257 
       
  1258 - Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings.
       
  1259 
       
  1260 
       
  1261 What's New in Python 2.6 alpha 2?
       
  1262 =================================
       
  1263 
       
  1264 *Release date: 02-Apr-2008*
       
  1265 
       
  1266 Core and builtins
       
  1267 -----------------
       
  1268 
       
  1269 - Issue #1733757: The interpreter would hang on shutdown if the
       
  1270   tracing function set by sys.settrace is still active and happens to
       
  1271   call threading.currentThread().
       
  1272 
       
  1273 - Patch #1442: properly report exceptions when the PYTHONSTARTUP file
       
  1274   cannot be executed.
       
  1275 
       
  1276 - The compilation of a class nested in another class used to leak one
       
  1277   reference on the outer class name.
       
  1278 
       
  1279 - Patch #1810: compile() can now compile _ast trees as returned by
       
  1280   ``compile(..., PyCF_ONLY_AST)``.
       
  1281 
       
  1282 - Patch #2426: Added sqlite3.Connection.iterdump method to allow easy
       
  1283   dumping of databases.  Contributed by Paul Kippes at PyCon 2008.
       
  1284 
       
  1285 - Patch #2477: Added from __future__ import unicode_literals.
       
  1286 
       
  1287 - Added backport of bytearray type.
       
  1288 
       
  1289 - Issue #2355: add Py3k warning for buffer().
       
  1290 
       
  1291 - Issue #1477: With narrow Unicode builds, the unicode escape sequence
       
  1292   \Uxxxxxxxx did not accept values outside the Basic Multilingual
       
  1293   Plane.  This affected raw unicode literals and the
       
  1294   'raw-unicode-escape' codec.  Now UTF-16 surrogates are generated in
       
  1295   this case, like normal unicode literals and the 'unicode-escape'
       
  1296   codec.
       
  1297 
       
  1298 - Issue #2348: add Py3k warning for file.softspace.
       
  1299 
       
  1300 - Issue #2346/#2347: add Py3k warnings for __methods__ and
       
  1301   __members__.
       
  1302 
       
  1303 - Issue #2358: Add a Py3k warning on sys.exc_clear() usage.
       
  1304 
       
  1305 - Issue #2400: Allow relative imports to "import *".
       
  1306 
       
  1307 - Issue #1745: Backport print function with ``from __future__ import
       
  1308   print_function``.
       
  1309 
       
  1310 - Issue #2332: add new attribute names for instance method objects.
       
  1311   The two changes are: im_self -> __self__ and im_func -> __func__
       
  1312 
       
  1313 - Issue #2379: Raise a Py3K warning for __getitem__ or __getslice__ on
       
  1314   exception instances.
       
  1315 
       
  1316 - Issue #2371: Add a Py3k warning when catching an exception that
       
  1317   doesn't derive from BaseException.
       
  1318 
       
  1319 - Issue #2341: Add a Py3k warning when raising an exception that
       
  1320   doesn't derive from BaseException.
       
  1321 
       
  1322 - Issue #2321: use pymalloc for unicode object string data to reduce
       
  1323   memory usage in some circumstances.
       
  1324 
       
  1325 - PEP 3127: octal literals now start with "0o". Old-style octal
       
  1326   literals are still valid. There are binary literals with a prefix of
       
  1327   "0b".  This also affects int(x, 0).
       
  1328 
       
  1329 - Issue #2359: Adding deprecation warnings for array.{read,write}.
       
  1330 
       
  1331 - Issue #1779871: GNU gcc can now build Python on OS X because the
       
  1332   flags -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd are no
       
  1333   longer passed.
       
  1334 
       
  1335 - Add a warning when asserting a non-empty tuple which is always true.
       
  1336 
       
  1337 - Issue #2179: speed up with statement execution by storing the exit
       
  1338   method on the stack instead of in a temporary variable (patch by
       
  1339   Jeffrey Yaskin)
       
  1340 
       
  1341 - Issue #2238: Some syntax errors in *args and **kwargs expressions
       
  1342   could give bogus error messages.
       
  1343 
       
  1344 - Issue #2143: Fix embedded readline() hang on SSL socket EOF.
       
  1345 
       
  1346 Extension Modules
       
  1347 -----------------
       
  1348 
       
  1349 - Patch #2240: Implement signal.setitimer and signal.getitimer.
       
  1350 
       
  1351 Library
       
  1352 -------
       
  1353 
       
  1354 - Issue #2315: logging.handlers: TimedRotatingFileHandler now accounts
       
  1355   for daylight savings time in calculating the next rollover.
       
  1356 
       
  1357 - Issue #2316: logging.handlers: TimedRotatingFileHandler now
       
  1358   calculates rollovers correctly even when nothing is logged for a
       
  1359   while.
       
  1360 
       
  1361 - Issue #2317: logging.handlers: TimedRotatingFileHandler now uses
       
  1362   improved logic for removing old files.
       
  1363 
       
  1364 - Issue #2495: tokenize.untokenize now inserts a space between two
       
  1365   consecutive string literals; previously, ["" ""] was rendered as
       
  1366   [""""], which is incorrect python code.
       
  1367 
       
  1368 - Issue #2248: return the result of the QUIT command. from
       
  1369   SMTP.quit().
       
  1370 
       
  1371 - Backport of Python 3.0's io module.
       
  1372 
       
  1373 - Issue #2482: Make sure that the coefficient of a Decimal is always
       
  1374   stored as a str instance, not as a unicode instance.  This ensures
       
  1375   that str(Decimal) is always an instance of str.
       
  1376 
       
  1377 - Issue #2478: fix failure of decimal.Decimal(0).sqrt()
       
  1378 
       
  1379 - Issue #2432: give DictReader the dialect and line_num attributes
       
  1380   advertised in the docs.
       
  1381 
       
  1382 - Issue #2460: Make Ellipsis object copyable.
       
  1383 
       
  1384 - Issue #1681432: Add triangular distribution to the random module
       
  1385 
       
  1386 - Issue #2136: urllib2's auth handler now allows single-quoted realms
       
  1387   in the WWW-Authenticate header.
       
  1388 
       
  1389 - Issue #2434: Enhanced platform.win32_ver() to also work on Python
       
  1390   installation which do not have the win32all package installed.
       
  1391 
       
  1392 - Added support to platform.uname() to also report the machine and
       
  1393   processor information on Windows XP and later. As a result,
       
  1394   platform.machine() and platform.processor() will report this
       
  1395   information as well.
       
  1396 
       
  1397 - The library implementing the 2to3 conversion, lib2to3, was added to
       
  1398   the standard distribution.
       
  1399 
       
  1400 - Issue #1747858: Fix chown to work with large uid's and gid's on
       
  1401   64-bit platforms.
       
  1402 
       
  1403 - Issue #1202: zlib.crc32 and zlib.adler32 no longer return different
       
  1404   values on 32-bit vs. 64-bit python interpreters.  Both were correct,
       
  1405   but they now both return a signed integer object for consistency.
       
  1406 
       
  1407 - Issue #1158: add %f format (fractions of a second represented as
       
  1408   microseconds) to datetime objects.  Understood by both strptime and
       
  1409   strftime.
       
  1410 
       
  1411 - Issue #705836: struct.pack(">f", x) now raises OverflowError on all
       
  1412   platforms when x is too large to fit into an IEEE 754 float;
       
  1413   previously it only raised OverflowError on non IEEE 754 platforms.
       
  1414 
       
  1415 - Issues #2166, #1741 and #1531505: now distutils deals with HOME
       
  1416   correctly under win32
       
  1417 
       
  1418 - Patch #1858: distutils: added multiple server support in .pypirc
       
  1419 
       
  1420 - Issue #1106316: pdb.post_mortem()'s parameter, "traceback", is now
       
  1421   optional: it defaults to the traceback of the exception that is
       
  1422   currently being handled (is mandatory to be in the middle of an
       
  1423   exception, otherwise it raises ValueError).
       
  1424 
       
  1425 - Issue #1193577: A .shutdown() method has been added to SocketServers
       
  1426   which terminates the .serve_forever() loop.
       
  1427 
       
  1428 - Issue #2220: handle rlcompleter attribute match failure more
       
  1429   gracefully.
       
  1430 
       
  1431 - Issue #2225: py_compile, when executed as a script, now returns a
       
  1432   non- zero status code if not all files could be compiled
       
  1433   successfully.
       
  1434 
       
  1435 - Bug #1725737: In distutils' sdist, exclude RCS, CVS etc. also in the
       
  1436   root directory, and also exclude .hg, .git, .bzr, and _darcs.
       
  1437 
       
  1438 - Issue #1872: The struct module typecode for _Bool has been changed
       
  1439   from 't' to '?'.
       
  1440 
       
  1441 - The bundled libffi copy is now in sync with the recently released
       
  1442   libffi3.0.4 version, apart from some small changes to
       
  1443   Modules/_ctypes/libffi/configure.ac.  On OS X, preconfigured libffi
       
  1444   files are used.  On all linux systems the --with-system-ffi
       
  1445   configure option defaults to "yes".
       
  1446 
       
  1447 - Issue #1577: shutil.move() now calls os.rename() if the destination
       
  1448   is a directory instead of copying-then-remove-source.
       
  1449 
       
  1450 Tests
       
  1451 -----
       
  1452 
       
  1453 - test_nis no longer fails when test.test_support.verbose is true and
       
  1454   NIS is not set up on the testing machine.
       
  1455 
       
  1456 - Output comparison tests are no longer supported.
       
  1457 
       
  1458 - Rewrite test_errno to use unittest and no longer be a no-op.
       
  1459 
       
  1460 - GHOP 234: Convert test_extcall to doctest.
       
  1461 
       
  1462 - GHOP 290: Convert test_dbm and test_dummy_threading to unittest.
       
  1463 
       
  1464 - GHOP 293: Convert test_strftime, test_getargs, and test_pep247 to
       
  1465   unittest.
       
  1466 
       
  1467 - Issue #2055: Convert test_fcntl to unittest.
       
  1468 
       
  1469 - Issue 1960: Convert test_gdbm to unittest.
       
  1470 
       
  1471 - GHOP 294: Convert test_contains, test_crypt, and test_select to
       
  1472   unittest.
       
  1473 
       
  1474 - GHOP 238: Convert test_tokenize to use doctest.
       
  1475 
       
  1476 - GHOP 237: Rewrite test_thread using unittest.
       
  1477 
       
  1478 - Patch #2232: os.tmpfile might fail on Windows if the user has no
       
  1479   permission to create files in the root directory.
       
  1480 
       
  1481 Build
       
  1482 -----
       
  1483 
       
  1484 - A new script 2to3 is now installed, to run the 2.x to 3.x converter.
       
  1485 
       
  1486 - Python/memmove.c and Python/strerror.c have been removed; both
       
  1487   functions are in the C89 standard library.
       
  1488 
       
  1489 - Patch #2284: Add -x64 option to rt.bat.
       
  1490 
       
  1491 C API
       
  1492 -----
       
  1493 
       
  1494 - Patch #2477: Added PyParser_ParseFileFlagsEx() and
       
  1495   PyParser_ParseStringFlagsFilenameEx().
       
  1496 
       
  1497 
       
  1498 What's New in Python 2.6 alpha 1?
       
  1499 =================================
       
  1500 
       
  1501 *Release date: 29-Feb-2008*
       
  1502 
       
  1503 Core and builtins
       
  1504 -----------------
       
  1505 
       
  1506 - Issue #2051: pyc and pyo files are no longer created with permission
       
  1507   644. The mode is now inherited from the py file.
       
  1508 
       
  1509 - Issue #2067: file.__exit__() now calls subclasses' close() method.
       
  1510 
       
  1511 - Patch #1759: Backport of PEP 3129 class decorators.
       
  1512 
       
  1513 - Issue #1881: An internal parser limit has been increased. Also see
       
  1514   issue 215555 for a discussion.
       
  1515 
       
  1516 - Added the future_builtins module, which contains hex() and oct().
       
  1517   These are the PEP 3127 version of these functions, designed to be
       
  1518   compatible with the hex() and oct() builtins from Python 3.0.  They
       
  1519   differ slightly in their output formats from the existing, unchanged
       
  1520   Python 2.6 builtins.  The expected usage of the future_builtins
       
  1521   module is:
       
  1522     from future_builtins import hex, oct
       
  1523 
       
  1524 - Issue #1600: Modifed PyOS_ascii_formatd to use at most 2 digit
       
  1525   exponents for exponents with absolute value < 100.  Follows C99
       
  1526   standard.  This is a change on Windows, which would use 3 digits.
       
  1527   Also, added 'n' to the formats that PyOS_ascii_formatd understands,
       
  1528   so that any alterations it does to the resulting string will be
       
  1529   available in stringlib/formatter.h (for float.__format__).
       
  1530 
       
  1531 - Implemented PEP 3101, Advanced String Formatting.  This adds a new
       
  1532   builtin format(); a format() method for str and unicode; a
       
  1533   __format__() method to object, str, unicode, int, long, float, and
       
  1534   datetime; the class string.Formatter; and the C API
       
  1535   PyObject_Format().
       
  1536 
       
  1537 - Fixed several potential crashes, all caused by specially crafted
       
  1538   __del__ methods exploiting objects in temporarily inconsistent
       
  1539   state.
       
  1540 
       
  1541 - Issue #2115: Important speedup in setting __slot__ attributes.  Also
       
  1542   prevent a possible crash: an Abstract Base Class would try to access
       
  1543   a slot on a registered virtual subclass.
       
  1544 
       
  1545 - Fixed repr() and str() of complex numbers with infinity or nan as
       
  1546   real or imaginary part.
       
  1547 
       
  1548 - Clear all free lists during a gc.collect() of the highest generation
       
  1549   in order to allow pymalloc to free more arenas. Python may give back
       
  1550   memory to the OS earlier.
       
  1551 
       
  1552 - Issue #2045: Fix an infinite recursion triggered when printing a
       
  1553   subclass of collections.defaultdict, if its default_factory is set
       
  1554   to a bound method.
       
  1555 
       
  1556 - Fixed a minor memory leak in dictobject.c. The content of the free
       
  1557   list was not freed on interpreter shutdown.
       
  1558 
       
  1559 - Limit free list of method and builtin function objects to 256
       
  1560   entries each.
       
  1561 
       
  1562 - Patch #1953: Added ``sys._compact_freelists()`` and the C API
       
  1563   functions ``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList``
       
  1564   to compact the internal free lists of pre-allocted ints and floats.
       
  1565 
       
  1566 - Issue #1983: Fixed return type of fork(), fork1() and forkpty()
       
  1567   calls.  Python expected the return type int but the fork familie
       
  1568   returns pi_t.
       
  1569 
       
  1570 - Issue #1678380: Fix a bug that identifies 0j and -0j when they
       
  1571   appear in the same code unit.
       
  1572 
       
  1573 - Issue #2025: Add tuple.count() and tuple.index() methods to comply
       
  1574   with the collections.Sequence API.
       
  1575 
       
  1576 - Patch #1970 by Antoine Pitrou: Speedup unicode whitespace and
       
  1577   linebreak detection
       
  1578 
       
  1579 - Added ``PyType_ClearCache()`` and ``sys._clear_type_cache`` to clear
       
  1580   the internal lookup cache for ref leak tests.
       
  1581 
       
  1582 - Patch #1473257: generator objects gain a gi_code attribute. This is
       
  1583   the same object as the func_code attribute of the function that
       
  1584   produced the generator.
       
  1585 
       
  1586 - Issue #1920: "while 0" statements were completely removed by the
       
  1587   compiler, even in the presence of an "else" clause, which is
       
  1588   supposed to be run when the condition is false. Now the compiler
       
  1589   correctly emits bytecode for the "else" suite.
       
  1590 
       
  1591 - A few crashers fixed: weakref_in_del.py (issue #1377858);
       
  1592   loosing_dict_ref.py (issue #1303614, test67.py);
       
  1593   borrowed_ref_[34].py (not in tracker).
       
  1594 
       
  1595 - Issue #1069410: The "can't load dll" message box on Windows is
       
  1596   suppressed while an extension is loaded by calling SetErrorMode in
       
  1597   dynload_win.c. The error is still reported properly.
       
  1598 
       
  1599 - Issue #1915: Python compiles with --enable-unicode=no again. However
       
  1600   several extension methods and modules do not work without unicode
       
  1601   support.
       
  1602 
       
  1603 - Issue #1882: when compiling code from a string, encoding cookies in the
       
  1604   second line of code were not always recognized correctly.
       
  1605 
       
  1606 - Issue #1679: "0x" was taken as a valid integer literal.
       
  1607 
       
  1608 - Issue #1865: ``bytes`` as an alias for ``str`` and b"" as an alias "" were
       
  1609   added.
       
  1610 
       
  1611 - sys.float_info / PyFloat_GetInfo: The floating point information
       
  1612   object was converted from a dict to a specialized structseq object.
       
  1613 
       
  1614 - Patch #1816: Added sys.flags structseq. It exposes the status of
       
  1615   most command line arguments and PYTHON* environment variables.
       
  1616 
       
  1617 - Objects/structseq.c: Implemented new structseq representation. The
       
  1618   patch makes structseqs (e.g. the return value of os.stat) more
       
  1619   readable.
       
  1620 
       
  1621 - Patch #1700288: added a type attribute cache that caches method
       
  1622   accesses, resulting in speedups in heavily object-oriented code.
       
  1623 
       
  1624 - Bug #1776: __import__() no longer accepts filenames on any platform.
       
  1625   The first parameter to __import__() must be a valid module name.
       
  1626 
       
  1627 - Patch #1668: renamed THREADDEBUG envvar to PYTHONTHREADDEBUG.
       
  1628 
       
  1629 - Patch #602345: Add -B command line option, PYTHONDONTWRITEBYTECODE
       
  1630   envvar and sys.dont_write_bytecode attribute. All these can be set
       
  1631   to forbid Python to attempt to write compiled bytecode files.
       
  1632 
       
  1633 - Improve some exception messages when Windows fails to load an
       
  1634   extension module. Now we get for example '%1 is not a valid Win32
       
  1635   application' instead of 'error code 193'.
       
  1636 
       
  1637 - Bug #1481296: Fixed long(float('nan')) != 0L.
       
  1638 
       
  1639 - Issue #1640: Added math.isinf(x), math.isnan(x) and math.copysign(x,
       
  1640   y) functions.
       
  1641 
       
  1642 - Issue #1635: Platform independent creation and representation of NaN
       
  1643   and INF. float("nan"), float("inf") and float("-inf") now work on
       
  1644   every platform with IEEE 754 semantics.
       
  1645 
       
  1646 - Compiler now generates simpler and faster code for dictionary
       
  1647   literals.  The oparg for BUILD_MAP now indicates an estimated
       
  1648   dictionary size.  There is a new opcode, STORE_MAP, for adding
       
  1649   entries to the dictionary.
       
  1650 
       
  1651 - Issue #1638: %zd configure test fails on Linux.
       
  1652 
       
  1653 - Issue #1620: New property decorator syntax was modifying the
       
  1654   decorator in place instead of creating a new decorator object.
       
  1655 
       
  1656 - Issue #1538: Avoid copying string in split/rsplit if the split char
       
  1657   is not found.
       
  1658 
       
  1659 - Issue #1553: An erroneous __length_hint__ can make list() raise a
       
  1660   SystemError.
       
  1661 
       
  1662 - PEP 366: Allow explicit relative imports when executing modules
       
  1663   inside packages with the -m switch via a new module level
       
  1664   __package__ attribute.
       
  1665 
       
  1666 - Issue #1402: Fix a crash on exit, when another thread is still
       
  1667   running, and if the deallocation of its frames somehow calls the
       
  1668   PyGILState_Ensure() / PyGILState_Release() functions.
       
  1669 
       
  1670 - Expose the Py_Py3kWarningFlag as sys.py3kwarning.
       
  1671 
       
  1672 - Issue #1445: Fix a SystemError when accessing the ``cell_contents``
       
  1673   attribute of an empty cell object.
       
  1674 
       
  1675 - Issue #1460: The utf-7 incremental decoder did not accept truncated
       
  1676   input.  It now correctly saves its state between chunks of data.
       
  1677 
       
  1678 - Patch #1739468: Directories and zipfiles containing a __main__.py
       
  1679   file can now be directly executed by passing their name to the
       
  1680   interpreter. The directory/zipfile is automatically inserted as the
       
  1681   first entry in sys.path.
       
  1682 
       
  1683 - Issue #1265: Fix a problem with sys.settrace, if the tracing
       
  1684   function uses a generator expression when at the same time the
       
  1685   executed code is closing a paused generator.
       
  1686 
       
  1687 - sets and frozensets now have an isdisjoint() method.
       
  1688 
       
  1689 - optimize the performance of builtin.sum().
       
  1690 
       
  1691 - Fix warnings found by the new version of the Coverity checker.
       
  1692 
       
  1693 - The enumerate() builtin function is no longer bounded to sequences
       
  1694   smaller than LONG_MAX.  Formerly, it raised an OverflowError.  Now,
       
  1695   automatically shifts from ints to longs.
       
  1696 
       
  1697 - Issue #1686386: Tuple's tp_repr did not take into account the
       
  1698   possibility of having a self-referential tuple, which is possible
       
  1699   from C code.  Nor did object's tp_str consider that a type's tp_str
       
  1700   could do something that could lead to an inifinite recursion.
       
  1701   Py_ReprEnter() and Py_EnterRecursiveCall(), respectively, fixed the
       
  1702   issues.
       
  1703 
       
  1704 - Issue #1164: It was possible to trigger deadlock when using the
       
  1705   'print' statement to write to a file since the GIL was not released
       
  1706   as needed.  Now PyObject_Print() does the right thing along with
       
  1707   various tp_print implementations of the built-in types and those in
       
  1708   the collections module.
       
  1709 
       
  1710 - Issue #1147: Exceptions were directly allowing string exceptions in
       
  1711   their throw() method even though string exceptions no longer
       
  1712   allowed.
       
  1713 
       
  1714 - Issue #1096: Prevent a segfault from getting the repr of a very
       
  1715   deeply nested list by using the recursion counter.
       
  1716 
       
  1717 - Issue #1202533: Fix infinite recursion calls triggered by calls to
       
  1718   PyObject_Call() never calling back out to Python code to trigger
       
  1719   recursion depth updates/checks.  Required the creation of a static
       
  1720   RuntimeError instance in case normalizing an exception put the
       
  1721   recursion check value past its limit.  Fixes crashers
       
  1722   infinite_rec_(1|2|4|5).py.
       
  1723 
       
  1724 - Patch #1031213: Decode source line in SyntaxErrors back to its
       
  1725   original source encoding.
       
  1726 
       
  1727 - Patch #1673759: add a missing overflow check when formatting floats
       
  1728   with %G.
       
  1729 
       
  1730 - Prevent expandtabs() on string and unicode objects from causing a
       
  1731   segfault when a large width is passed on 32-bit platforms.
       
  1732 
       
  1733 - Issue #1733488: Fix compilation of bufferobject.c on AIX.
       
  1734 
       
  1735 - Issue #1722485: remove docstrings again when running with -OO.
       
  1736 
       
  1737 - Add new attribute names for function objects.  All the func_* become
       
  1738   __*__ attributes.  (Some already existed, e.g., __doc__ and
       
  1739   __name__.)
       
  1740 
       
  1741 - Add -3 option to the interpreter to warn about features that are
       
  1742   deprecated and will be changed/removed in Python 3.0.
       
  1743 
       
  1744 - Patch #1686487: you can now pass any mapping after '**' in function
       
  1745   calls.
       
  1746 
       
  1747 - except clauses may now be spelled either "except E, target:" or
       
  1748   "except E as target:". This is to provide forwards compatibility
       
  1749   with Python 3.0.
       
  1750 
       
  1751 - Deprecate BaseException.message as per PEP 352.
       
  1752 
       
  1753 - Issue #1303614: don't expose object's __dict__ when the dict is
       
  1754   inherited from a builtin base.
       
  1755 
       
  1756 - When __slots__ are set to a unicode string, make it work the same as
       
  1757   setting a plain string, ie don't expand to single letter identifiers.
       
  1758 
       
  1759 - Request #1191699:  Slices can now be pickled.
       
  1760 
       
  1761 - Request #1193128:  str.translate() now allows a None argument for
       
  1762   translations that only remove characters without re-mapping the
       
  1763   remaining characters.
       
  1764 
       
  1765 - Patch #1682205: a TypeError while unpacking an iterable is no longer
       
  1766   masked by a generic one with the message "unpack non-sequence".
       
  1767 
       
  1768 - Remove unused file Python/fmod.c.
       
  1769 
       
  1770 - Bug #1683368: The object.__init__() and object.__new__() methods are
       
  1771   now stricter in rejecting excess arguments.  The only time when
       
  1772   either allows excess arguments is when it is not overridden and the
       
  1773   other one is.  For backwards compatibility, when both are
       
  1774   overridden, it is a deprecation warning (for now; maybe a Py3k
       
  1775   warning later).  Also, type.__init__() insists on the same signature
       
  1776   as supported by type.__new__().
       
  1777 
       
  1778 - Patch #1675423: PyComplex_AsCComplex() now tries to convert an
       
  1779   object to complex using its __complex__() method before falling back
       
  1780   to the __float__() method. Therefore, the functions in the cmath
       
  1781   module now can operate on objects that define a __complex__()
       
  1782   method.
       
  1783 
       
  1784 - Patch #1623563: allow __class__ assignment for classes with
       
  1785   __slots__.  The old and the new class are still required to have the
       
  1786   same slot names.
       
  1787 
       
  1788 - Patch #1642547: Fix an error/crash when encountering syntax errors
       
  1789   in complex if statements.
       
  1790 
       
  1791 - Patch #1462488: Python no longer segfaults when
       
  1792   ``object.__reduce_ex__()`` is called with an object that is faking
       
  1793   its type.
       
  1794 
       
  1795 - Patch #1680015: Don't modify __slots__ tuple if it contains an
       
  1796   unicode name.
       
  1797 
       
  1798 - Patch #1444529: the builtin compile() now accepts keyword arguments.
       
  1799 
       
  1800 - Bug #1678647: write a newline after printing an exception in any
       
  1801   case, even when converting the value to a string failed.
       
  1802 
       
  1803 - The dir() function has been extended to call the __dir__() method on
       
  1804   its argument, if it exists. If not, it will work like before. This
       
  1805   allows customizing the output of dir() in the presence of a
       
  1806   __getattr__().
       
  1807 
       
  1808 - Patch #922167: Python no longer segfaults when faced with infinitely
       
  1809   self-recursive reload() calls (as reported by bug #742342).
       
  1810 
       
  1811 - Patch #1675981: remove unreachable code from ``type.__new__()``
       
  1812   method.
       
  1813 
       
  1814 - Patch #1491866: change the complex() constructor to allow
       
  1815   parthensized forms. This means complex(repr(x)) now works instead of
       
  1816   raising a ValueError.
       
  1817 
       
  1818 - Patch #703779: unset __file__ in __main__ after running a file. This
       
  1819   makes the filenames the warning module prints much more sensible
       
  1820   when a PYTHONSTARTUP file is used.
       
  1821 
       
  1822 - Variant of patch #697613: don't exit the interpreter on a SystemExit
       
  1823   exception if the -i command line option or PYTHONINSPECT environment
       
  1824   variable is given, but break into the interactive interpreter just
       
  1825   like on other exceptions or normal program exit.
       
  1826 
       
  1827 - Patch #1638879: don't accept strings with embedded NUL bytes in
       
  1828   long().
       
  1829 
       
  1830 - Bug #1674503: close the file opened by execfile() in an error
       
  1831   condition.
       
  1832 
       
  1833 - Patch #1674228: when assigning a slice (old-style), check for the
       
  1834   sq_ass_slice instead of the sq_slice slot.
       
  1835 
       
  1836 - When printing an unraisable error, don't print exceptions. before
       
  1837   the name.  This duplicates the behavior whening normally printing
       
  1838   exceptions.
       
  1839 
       
  1840 - Bug #1653736: Properly discard third argument to
       
  1841   slot_nb_inplace_power.
       
  1842 
       
  1843 - PEP 352: Raising a string exception now triggers a TypeError.
       
  1844   Attempting to catch a string exception raises DeprecationWarning.
       
  1845 
       
  1846 - Bug #1377858: Fix the segfaulting of the interpreter when an object
       
  1847   created a weakref on itself during a __del__ call for new-style
       
  1848   classes (classic classes still have the bug).
       
  1849 
       
  1850 - Bug #1579370: Make PyTraceBack_Here use the current thread, not the
       
  1851   frame's thread state.
       
  1852 
       
  1853 - patch #1630975: Fix crash when replacing sys.stdout in
       
  1854   sitecustomize.py.
       
  1855 
       
  1856 - Prevent seg fault on shutdown which could occur if an object raised
       
  1857   a warning.
       
  1858 
       
  1859 - Bug #1566280: Explicitly invoke threading._shutdown from Py_Main, to
       
  1860   avoid relying on atexit.
       
  1861 
       
  1862 - Bug #1590891: random.randrange don't return correct value for big
       
  1863   number.
       
  1864 
       
  1865 - Patch #1586791: Better exception messages for some operations on
       
  1866   strings, tuples and lists.
       
  1867 
       
  1868 - Bug #1067760: Deprecate passing floats to file.seek.
       
  1869 
       
  1870 - Bug #1591996: Correctly forward exception in instance_contains().
       
  1871 
       
  1872 - Bug #1588287: fix invalid assertion for `1,2` in debug builds.
       
  1873 
       
  1874 - Bug #1576657: when setting a KeyError for a tuple key, make sure
       
  1875   that the tuple isn't used as the "exception arguments tuple".
       
  1876 
       
  1877 - Bug #1565514: SystemError not raised on too many nested blocks.
       
  1878 
       
  1879 - Bug #1576174: WindowsError now displays the windows error code
       
  1880   again, no longer the posix error code.
       
  1881 
       
  1882 - Patch #1549049: Support long values in structmember, issue warnings
       
  1883   if the assigned value for structmember fields gets truncated.
       
  1884 
       
  1885 - Update the peephole optimizer to remove more dead code (jumps after
       
  1886   returns) and inline unconditional jumps to returns.
       
  1887 
       
  1888 - Bug #1545497: when given an explicit base, int() did ignore NULs
       
  1889   embedded in the string to convert.
       
  1890 
       
  1891 - Bug #1569998: break inside a try statement (outside a loop) is now
       
  1892   recognized and rejected.
       
  1893 
       
  1894 - list.pop(x) accepts any object x following the __index__ protocol.
       
  1895 
       
  1896 - A number of places, including integer negation and absolute value,
       
  1897   were fixed to not rely on undefined behaviour of the C compiler
       
  1898   anymore.
       
  1899 
       
  1900 - Bug #1566800: make sure that EnvironmentError can be called with any
       
  1901   number of arguments, as was the case in Python 2.4.
       
  1902 
       
  1903 - Patch #1567691: super() and new.instancemethod() now don't accept
       
  1904   keyword arguments any more (previously they accepted them, but
       
  1905   didn't use them).
       
  1906 
       
  1907 - Fix a bug in the parser's future statement handling that led to
       
  1908   "with" not being recognized as a keyword after, e.g., this
       
  1909   statement: from __future__ import division, with_statement
       
  1910 
       
  1911 - Bug #1557232: fix seg fault with def f((((x)))) and def f(((x),)).
       
  1912 
       
  1913 - Fix %zd string formatting on Mac OS X so it prints negative numbers.
       
  1914 
       
  1915 - Allow exception instances to be directly sliced again.
       
  1916 
       
  1917 - Bug #1551432: Exceptions do not define an explicit __unicode__
       
  1918   method.  This allows calling unicode() on exceptions classes
       
  1919   directly to succeed.
       
  1920 
       
  1921 - Bug #1542051: Exceptions now correctly call PyObject_GC_UnTrack.
       
  1922   Also make sure that every exception class has __module__ set to
       
  1923   'exceptions'.
       
  1924 
       
  1925 - Bug #1550983: emit better error messages for erroneous relative
       
  1926   imports (if not in package and if beyond toplevel package).
       
  1927 
       
  1928 - Overflow checking code in integer division ran afoul of new gcc
       
  1929   optimizations.  Changed to be more standard-conforming.
       
  1930 
       
  1931 - Patch #1542451: disallow continue anywhere under a finally.
       
  1932 
       
  1933 - Patch #1546288: fix seg fault in dict_equal due to ref counting bug.
       
  1934 
       
  1935 - The return tuple from str.rpartition(sep) is (tail, sep, head) where
       
  1936   head is the original string if sep was not found.
       
  1937 
       
  1938 - Bug #1520864: unpacking singleton tuples in list comprehensions and
       
  1939   generator expressions (x for x, in ... ) works again.  Fixing this
       
  1940   problem required changing the .pyc magic number.  This means that
       
  1941   .pyc files generated before 2.5c2 will be regenerated.
       
  1942 
       
  1943 - ``with`` and ``as`` are now keywords.
       
  1944 
       
  1945 - Bug #1664966: Fix crash in exec if Unicode filename can't be
       
  1946   decoded.
       
  1947 
       
  1948 - Issue #1537: Changed GeneratorExit's base class from Exception to
       
  1949   BaseException.
       
  1950 
       
  1951 - Issue #1703448: A joined thread could show up in the
       
  1952   threading.enumerate() list after the join() for a brief period until
       
  1953   it actually exited.
       
  1954 
       
  1955 
       
  1956 Library
       
  1957 -------
       
  1958 
       
  1959 - Patch #2274: Add heapq.heappushpop().
       
  1960 
       
  1961 - Add inspect.isabstract(object) to fix bug #2223
       
  1962 
       
  1963 - Add a __format__ method to Decimal, to support PEP 3101.
       
  1964 
       
  1965 - Add a timing parameter when using trace.Trace to print out
       
  1966   timestamps.
       
  1967 
       
  1968 - Issue #1627: httplib now ignores negative Content-Length headers.
       
  1969 
       
  1970 - Issue #900744: If an invalid chunked-encoding header is sent by a
       
  1971   server, httplib will now raise IncompleteRead and close the
       
  1972   connection instead of raising ValueError.
       
  1973 
       
  1974 - Issue #1492: The content type of BaseHTTPServer error messages can
       
  1975   now be overridden.
       
  1976 
       
  1977 - Issue #1781: ConfigParser now does not let you add the "default" section
       
  1978   (ignore-case)
       
  1979 
       
  1980 - Removed uses of dict.has_key() from distutils, and uses of
       
  1981   callable() from copy_reg.py, so the interpreter now starts up
       
  1982   without warnings when '-3' is given.  More work like this needs to
       
  1983   be done in the rest of the stdlib.
       
  1984 
       
  1985 - Issue #1916: added isgenerator() and isgeneratorfunction() to
       
  1986   inspect.py.
       
  1987 
       
  1988 - Issue #1224: Fixed bad url parsing when path begins with double
       
  1989   slash.
       
  1990 
       
  1991 - ctypes instances that are not or do not contain pointers can now be
       
  1992   pickled.
       
  1993 
       
  1994 - Patch #1966: Break infinite loop in httplib when the servers
       
  1995   implements the chunked encoding incorrectly.
       
  1996 
       
  1997 - Rename rational.py to fractions.py and the rational.Rational class
       
  1998   to fractions.Fraction, to avoid the name clash with the abstract
       
  1999   base class numbers.Rational.  See discussion in issue #1682.
       
  2000 
       
  2001 - The pickletools module now provides an optimize() function that
       
  2002   eliminates unused PUT opcodes from a pickle string.
       
  2003 
       
  2004 - Patch #2021: Allow tempfile.NamedTemporaryFile and
       
  2005   SpooledTemporaryFile to be used in with statements by correctly
       
  2006   supporting the context management protocol.
       
  2007 
       
  2008 - Patch #1979: Add rich comparisons to Decimal, and make Decimal
       
  2009   comparisons involving a NaN follow the IEEE 754 standard.
       
  2010 
       
  2011 - Issue #2004: tarfile.py: Use mode 0700 for temporary directories and
       
  2012   default permissions for missing directories.
       
  2013 
       
  2014 - Issue #175006: The debugger used to skip the condition of a "while"
       
  2015   statement after the first iteration. Now it correctly steps on the
       
  2016   expression, and breakpoints on the "while" statement are honored on
       
  2017   each loop.
       
  2018 
       
  2019 - Issue #1765140: add an optional delay argument to FileHandler and
       
  2020   its subclasses. Defaults to false (existing behaviour), but if true,
       
  2021   defers opening the file until the first call to emit().
       
  2022 
       
  2023 - The pprint module now supports sets and frozensets.
       
  2024 
       
  2025 - Issue #1221598: add optional callbacks to ftplib.FTP's storbinary()
       
  2026   and storlines() methods.  (Contributed by Phil Schwartz)
       
  2027 
       
  2028 - Issue #1715: include sub-extension modules in pydoc's text output.
       
  2029 
       
  2030 - Issue #1836: fix an off-by-one bug in TimedRotatingHandler's
       
  2031   rollover time calculation.
       
  2032 
       
  2033 - Issue #1021: fix a bug to allow basicConfig to accept NOTSET as a
       
  2034   level.
       
  2035 
       
  2036 - Issue #932563: add LoggerAdapter convenience class to make it easier
       
  2037   to add contextual information in logging output.
       
  2038 
       
  2039 - Issue #1760556: fix a bug to avoid FileHandler throwing an exception
       
  2040   in flush().
       
  2041 
       
  2042 - Bug #1530959: distutils' build command now uses different build
       
  2043   directory when building extension modules against versions of Python
       
  2044   compiled with ``--with-pydebug``.
       
  2045 
       
  2046 - Issue #1555501: move plistlib from plat-mac directory to general
       
  2047   library.
       
  2048 
       
  2049 - Issue #1269: fix a bug in pstats.add_callers() and add a unit test
       
  2050   file for pstats.
       
  2051 
       
  2052 - Issue #1669: don't allow shutil.rmtree() to be called on a symlink
       
  2053   to a directory.
       
  2054 
       
  2055 - Issue #1664522: in urllib, don't read non-existing directories in
       
  2056   ftp mode, returning a 0-byte file -- raise an IOError instead.
       
  2057 
       
  2058 - Issue #856047: respect the ``no_proxy`` environment variable when
       
  2059   using the ``http_proxy`` etc. environment variables in urllib.
       
  2060 
       
  2061 - Issue #1178141: add a getcode() method to the addinfourls that
       
  2062   urllib.open() returns so that you can retrieve the HTTP status code.
       
  2063 
       
  2064 - Issue #1003: Fix zipfile decryption check, it would fail zip files
       
  2065   with extended local headers.
       
  2066 
       
  2067 - Issue #1189216: Fix the zipfile module to work on archives with
       
  2068   headers past the 2**31 byte boundary.
       
  2069 
       
  2070 - Issue #1336: fix a race condition in subprocess.Popen if the garbage
       
  2071   collector kicked in at the wrong time that would cause the process
       
  2072   to hang when the child wrote to stderr.
       
  2073 
       
  2074 - Issue #1146: fix how textwrap breaks a long word that would start in
       
  2075   the last column of a line.
       
  2076 
       
  2077 - Issue #1693149: trace.py --ignore-module - accept multiple
       
  2078   comma-separated modules to be given.
       
  2079 
       
  2080 - Issue #1822: MIMEMultipart.is_multipart() behaves correctly for a
       
  2081   just-created (and empty) instance. Thanks Jonathan Share.
       
  2082 
       
  2083 - Issue #1861: Added an attribute to the sched module which returns an
       
  2084   ordered list of upcoming events (displayed as named tuples).
       
  2085 
       
  2086 - Issue #1837: The queue module now also supports a LIFO queue and a
       
  2087   priority queue.
       
  2088 
       
  2089 - Patch #1048820: Add insert-mode editing to curses.textpad.Textbox
       
  2090   (patch by Stefan Wehr).  Also, fix an off-by-one bug in
       
  2091   Textbox.gather().
       
  2092 
       
  2093 - Issue #1831: ctypes now raises a TypeError if conflicting positional
       
  2094   and named arguments are passed to a Structure or Union initializer.
       
  2095   When too many positional arguments are passed, also a TypeError is
       
  2096   raised instead of a ValueError.
       
  2097 
       
  2098 - Convert the internal ctypes array type cache to a WeakValueDict so
       
  2099   that array types do not live longer than needed.
       
  2100 
       
  2101 - Issue #1786: pdb should use its own stdin/stdout around an exec call
       
  2102   and when creating a recursive instance.
       
  2103 
       
  2104 - Issue #1698398: ZipFile.printdir() crashed because the format string
       
  2105   expected a tuple type of length six instead of time.struct_time
       
  2106   object.
       
  2107 
       
  2108 - Issue #1780: The Decimal constructor now accepts arbitrary leading
       
  2109   and trailing whitespace when constructing from a string.
       
  2110   Context.create_decimal no longer accepts trailing newlines.
       
  2111 
       
  2112 - Decimal.as_tuple(), difflib.find_longest_match() and inspect
       
  2113   functions that returned a tuple now return a named tuple.
       
  2114 
       
  2115 - Doctest now returns results as a named tuple for readability:
       
  2116       (0, 7) --> TestResults(failed=0, attempted=7)
       
  2117 
       
  2118 - Issue #846388:q re.match is interruptible now, which is particularly
       
  2119   good for long regular expression matches.
       
  2120 
       
  2121 - Patch #1137: allow setting buffer_size attribute on pyexpat Parser
       
  2122   objects to set the character data buffer size.
       
  2123 
       
  2124 - Issue #1757: The hash of a Decimal instance is no longer affected by
       
  2125   the current context.
       
  2126 
       
  2127 - Patch #467924: add ZipFile.extract() and ZipFile.extractall() in the
       
  2128   zipfile module.
       
  2129 
       
  2130 - Issue #1646: Make socket support the TIPC protocol.
       
  2131 
       
  2132 - Bug #1742: return os.curdir from os.path.relpath() if both arguments
       
  2133   are equal instead of raising an exception.
       
  2134 
       
  2135 - Patch #1637: fix urlparse for URLs like 'http://x.com?arg=/foo'.
       
  2136 
       
  2137 - Patch #1698: allow '@' in username parsed by urlparse.py.
       
  2138 
       
  2139 - Issue #1735: TarFile.extractall() now correctly sets directory
       
  2140   permissions and times.
       
  2141 
       
  2142 - Bug #1713: posixpath.ismount() claims symlink to a mountpoint is a mountpoint.
       
  2143 
       
  2144 - Bug #1687: Fxed plistlib.py restricts <integer> to Python int when
       
  2145   writing
       
  2146 
       
  2147 - Issue #1700: Regular expression inline flags incorrectly handle
       
  2148   certain unicode characters.
       
  2149 
       
  2150 - Issue #1689: PEP 3141, numeric abstract base classes.
       
  2151 
       
  2152 - Tk issue #1851526: Return results from Python callbacks to Tcl as
       
  2153   Tcl objects.
       
  2154 
       
  2155 - Issue #1642: Fix segfault in ctypes when trying to delete attributes.
       
  2156 
       
  2157 - Issue #1727780: Support loading pickles of random.Random objects
       
  2158   created on 32-bit systems on 64-bit systems, and vice versa. As a
       
  2159   consequence of the change, Random pickles created by Python 2.6
       
  2160   cannot be loaded in Python 2.5.
       
  2161 
       
  2162 - Issue #1455: The distutils package now supports VS 2005 and VS 2008
       
  2163   for both the msvccompiler and cygwincompiler.
       
  2164 
       
  2165 - Issue #1531: tarfile.py: Read fileobj from the current offset, do
       
  2166   not seek to the start.
       
  2167 
       
  2168 - Issue #1534: Added a dictionary sys.float_info with information
       
  2169   about the internal floating point type to the sys module.
       
  2170 
       
  2171 - Issue #1429818: patch for trace and doctest modules so they play
       
  2172   nicely together.
       
  2173 
       
  2174 - doctest made a bad assumption that a package's __loader__.get_data()
       
  2175   method used universal newlines.
       
  2176 
       
  2177 - Issue #1705170: contextlib.contextmanager was still swallowing
       
  2178   StopIteration in some cases. This should no longer happen.
       
  2179 
       
  2180 - Issue #1292: On alpha, arm, ppc, and s390 linux systems the
       
  2181   --with-system-ffi configure option defaults to "yes".
       
  2182 
       
  2183 - IN module for FreeBSD 8 is added and preexisting FreeBSD 6 and 7
       
  2184   files are updated.
       
  2185 
       
  2186 - Issues #1181, #1287: unsetenv() is now called when the
       
  2187   os.environ.pop() and os.environ.clear() methods are used.
       
  2188 
       
  2189 - ctypes will now work correctly on 32-bit systems when Python is
       
  2190   configured with --with-system-ffi.
       
  2191 
       
  2192 - Patch #1203: ctypes now does work on OS X when Python is built with
       
  2193   --disable-toolbox-glue.
       
  2194 
       
  2195 - collections.deque() now supports a "maxlen" argument.
       
  2196 
       
  2197 - itertools.count() is no longer bounded to LONG_MAX.  Formerly, it
       
  2198   raised an OverflowError.  Now, automatically shifts from ints to
       
  2199   longs.
       
  2200 
       
  2201 - Added itertools.product() which forms the Cartesian product of the
       
  2202   input iterables.
       
  2203 
       
  2204 - Added itertools.combinations() and itertools.permutations().
       
  2205 
       
  2206 - Patch #1541463: optimize performance of cgi.FieldStorage operations.
       
  2207 
       
  2208 - Decimal is fully updated to the latest Decimal Specification
       
  2209   (v1.66).
       
  2210 
       
  2211 - Bug #1153: repr.repr() now doesn't require set and dictionary items
       
  2212   to be orderable to properly represent them.
       
  2213 
       
  2214 - A 'c_longdouble' type was added to the ctypes module.
       
  2215 
       
  2216 - Bug #1709599: Run test_1565150 only if the file system is NTFS.
       
  2217 
       
  2218 - When encountering a password-protected robots.txt file the
       
  2219   RobotFileParser no longer prompts interactively for a username and
       
  2220   password (bug 813986).
       
  2221 
       
  2222 - TarFile.__init__() no longer fails if no name argument is passed and
       
  2223   the fileobj argument has no usable name attribute (e.g. StringIO).
       
  2224 
       
  2225 - The functools module now provides 'reduce', for forward
       
  2226   compatibility with Python 3000.
       
  2227 
       
  2228 - Server-side SSL support and cert verification added, by Bill
       
  2229   Janssen.
       
  2230 
       
  2231 - socket.ssl deprecated; use new ssl module instead.
       
  2232 
       
  2233 - uuid creation is now threadsafe.
       
  2234 
       
  2235 - EUC-KR codec now handles the cheot-ga-keut composed make-up hangul
       
  2236   syllables.
       
  2237 
       
  2238 - GB18030 codec now can encode additional two-byte characters that are
       
  2239   missing in GBK.
       
  2240 
       
  2241 - Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE.
       
  2242 
       
  2243 - Bug #1704793: Return UTF-16 pair if unicodedata.lookup cannot
       
  2244   represent the result in a single character.
       
  2245 
       
  2246 - Bug #978833: Close https sockets by releasing the _ssl object.
       
  2247 
       
  2248 - Change location of the package index to pypi.python.org/pypi
       
  2249 
       
  2250 - Bug #1701409: Fix a segfault in printing ctypes.c_char_p and
       
  2251   ctypes.c_wchar_p when they point to an invalid location.  As a
       
  2252   sideeffect the representation of these instances has changed.
       
  2253 
       
  2254 - tarfile.py: Added "exclude" keyword argument to TarFile.add().
       
  2255 
       
  2256 - Bug #1734723: Fix repr.Repr() so it doesn't ignore the maxtuple
       
  2257   attribute.
       
  2258 
       
  2259 - The urlopen function of urllib2 now has an optional timeout
       
  2260   parameter (note that it actually works with HTTP, HTTPS, FTP and
       
  2261   FTPS connections).
       
  2262 
       
  2263 - In ftplib, the FTP.ntransfercmd method, when in passive mode, now
       
  2264   uses the socket.create_connection function, using the timeout
       
  2265   specified at connection time.
       
  2266 
       
  2267 - Bug #1728403: Fix a bug that CJKCodecs StreamReader hangs when it
       
  2268   reads a file that ends with incomplete sequence and sizehint
       
  2269   argument for .read() is specified.
       
  2270 
       
  2271 - Bug #1730389: Change time.strptime() to use ``\s+`` instead of
       
  2272   ``\s*`` when matching spaces in the specified format argument.
       
  2273 
       
  2274 - Bugs #1668596/#1720897: distutils now copies data files even if
       
  2275   package_dir is empty.
       
  2276 
       
  2277 - sha now raises a DeprecationWarning upon import.
       
  2278 
       
  2279 - md5 now raises a DeprecationWarning upon import.
       
  2280 
       
  2281 - Issue #1385: The hmac module now computes the correct hmac when
       
  2282   using hashes with a block size other than 64 bytes (such as sha384
       
  2283   and sha512).
       
  2284 
       
  2285 - mimify now raises a DeprecationWarning upon import.
       
  2286 
       
  2287 - MimeWriter now raises a DeprecationWarning upon import.
       
  2288 
       
  2289 - tarfile.py: Improved unicode support. Unicode input names are now
       
  2290   officially supported. Added "errors" argument to the TarFile class.
       
  2291 
       
  2292 - urllib.ftpwrapper class now accepts an optional timeout.
       
  2293 
       
  2294 - shlex.split() now has an optional "posix" parameter.
       
  2295 
       
  2296 - The posixfile module now raises a DeprecationWarning.
       
  2297 
       
  2298 - Remove the gopherlib module.  This also leads to the removal of
       
  2299   gopher support in urllib/urllib2.
       
  2300 
       
  2301 - Fix bug in marshal where bad data would cause a segfault due to lack
       
  2302   of an infinite recursion check.
       
  2303 
       
  2304 - Removed plat-freebsd2 and plat-freebsd3 directories (and IN.py in
       
  2305   the directories).
       
  2306 
       
  2307 - HTML-escape the plain traceback in cgitb's HTML output, to prevent
       
  2308   the traceback inadvertently or maliciously closing the comment and
       
  2309   injecting HTML into the error page.
       
  2310 
       
  2311 - The popen2 module and os.popen* are deprecated.  Use the subprocess
       
  2312   module.
       
  2313 
       
  2314 - Added an optional credentials argument to SMTPHandler, for use with
       
  2315   SMTP servers which require authentication.
       
  2316 
       
  2317 - Patch #1695948: Added optional timeout parameter to SocketHandler.
       
  2318 
       
  2319 - Bug #1652788: Minor fix for currentframe.
       
  2320 
       
  2321 - Patch #1598415: Added WatchedFileHandler to better support external
       
  2322   log file rotation using e.g. newsyslog or logrotate. This handler is
       
  2323   only useful in Unix/Linux environments.
       
  2324 
       
  2325 - Bug #1706381: Specifying the SWIG option "-c++" in the setup.py file
       
  2326   (as opposed to the command line) will now write file names ending in
       
  2327   ".cpp" too.
       
  2328 
       
  2329 - As specified in RFC 2616, an HTTP response like 2xx indicates that
       
  2330   the client's request was successfully received, understood, and
       
  2331   accepted.  Now in these cases no error is raised in urllib (issue
       
  2332   #1177) and urllib2.
       
  2333 
       
  2334 - Bug #1290505: time.strptime's internal cache of locale information
       
  2335   is now properly recreated when the locale is changed.
       
  2336 
       
  2337 - Patch #1685563: remove (don't add) duplicate paths in
       
  2338   distutils.MSVCCompiler.
       
  2339 
       
  2340 - Added a timeout parameter to the constructor of other protocols
       
  2341   (telnetlib, ftplib, smtplib and poplib). This is second part of the
       
  2342   work started with create_connection() and timeout in httplib, and
       
  2343   closes patch #723312.
       
  2344 
       
  2345 - Patch #1676823: Added create_connection() to socket.py, which may be
       
  2346   called with a timeout, and use it from httplib (whose HTTPConnection
       
  2347   and HTTPSConnection now accept an optional timeout).
       
  2348 
       
  2349 - Bug #978833: Revert r50844, as it broke _socketobject.dup.
       
  2350 
       
  2351 - Bug #1675967: re patterns pickled with Python 2.4 and earlier can
       
  2352   now be unpickled with Python 2.5 and newer.
       
  2353 
       
  2354 - Patch #1630118: add a SpooledTemporaryFile class to tempfile.py.
       
  2355 
       
  2356 - Patch #1273829: os.walk() now has a "followlinks" parameter. If set
       
  2357   to True (which is not the default), it visits symlinks pointing to
       
  2358   directories.
       
  2359 
       
  2360 - Bug #1681228: the webbrowser module now correctly uses the default
       
  2361   GNOME or KDE browser, depending on whether there is a session of one
       
  2362   of those present. Also, it tries the Windows default browser before
       
  2363   trying Mozilla variants.
       
  2364 
       
  2365 - Patch #1339796: add a relpath() function to os.path.
       
  2366 
       
  2367 - Patch #1681153: the wave module now closes a file object it opened if
       
  2368   initialization failed.
       
  2369 
       
  2370 - Bug #767111: fix long-standing bug in urllib which caused an
       
  2371   AttributeError instead of an IOError when the server's response
       
  2372   didn't contain a valid HTTP status line.
       
  2373 
       
  2374 - Patch #957650: "%var%" environment variable references are now
       
  2375   properly expanded in ntpath.expandvars(), also "~user" home
       
  2376   directory references are recognized and handled on Windows.
       
  2377 
       
  2378 - Patch #1429539: pdb now correctly initializes the __main__ module
       
  2379   for the debugged script, which means that imports from __main__ work
       
  2380   correctly now.
       
  2381 
       
  2382 - The nonobvious commands.getstatus() function is now deprecated.
       
  2383 
       
  2384 - Patch #1393667: pdb now has a "run" command which restarts the
       
  2385   debugged Python program, optionally with different arguments.
       
  2386 
       
  2387 - Patch #1649190: Adding support for _Bool to ctypes as c_bool.
       
  2388 
       
  2389 - Patch #1530482: add pydoc.render_doc() which returns the
       
  2390   documentation for a thing instead of paging it to stdout, which
       
  2391   pydoc.doc() does.
       
  2392 
       
  2393 - Patch #1533909: the timeit module now accepts callables in addition
       
  2394   to strings for the code to time and the setup code. Also added two
       
  2395   convenience functions for instantiating a Timer and calling its
       
  2396   methods.
       
  2397 
       
  2398 - Patch #1537850: tempfile.NamedTemporaryFile now has a "delete"
       
  2399   parameter which can be set to False to prevent the default
       
  2400   delete-on-close behavior.
       
  2401 
       
  2402 - Patch #1581073: add a flag to textwrap that prevents the dropping of
       
  2403   whitespace while wrapping.
       
  2404 
       
  2405 - Patch #1603688: ConfigParser.SafeConfigParser now checks values that
       
  2406   are set for invalid interpolation sequences that would lead to
       
  2407   errors on reading back those values.
       
  2408 
       
  2409 - Added support for the POSIX.1-2001 (pax) format to
       
  2410   tarfile.py. Extended and cleaned up the test suite. Added a new
       
  2411   testtar.tar.
       
  2412 
       
  2413 - Patch #1449244: Support Unicode strings in
       
  2414   email.message.Message.{set_charset,get_content_charset}.
       
  2415 
       
  2416 - Patch #1542681: add entries for "with", "as" and "CONTEXTMANAGERS"
       
  2417   to pydoc's help keywords.
       
  2418 
       
  2419 - Patch #1555098: use str.join() instead of repeated string
       
  2420   concatenation in robotparser.
       
  2421 
       
  2422 - Patch #1635454: the csv.DictWriter class now includes the offending
       
  2423   field names in its exception message if you try to write a record
       
  2424   with a dictionary containing fields not in the CSV field names list.
       
  2425 
       
  2426 - Patch #1668100: urllib2 now correctly raises URLError instead of
       
  2427   OSError if accessing a local file via the file:// protocol fails.
       
  2428 
       
  2429 - Patch #1677862: Require a space or tab after import in .pth files.
       
  2430 
       
  2431 - Patch #1192590: Fix pdb's "ignore" and "condition" commands so they
       
  2432   trap the IndexError caused by passing in an invalid breakpoint
       
  2433   number.
       
  2434 
       
  2435 - Patch #1599845: Add an option to disable the implicit calls to
       
  2436   server_bind() and server_activate() in the constructors for
       
  2437   TCPServer, SimpleXMLRPCServer and DocXMLRPCServer.
       
  2438 
       
  2439 - Bug #1531963: Make SocketServer.TCPServer's server_address always be
       
  2440   equal to calling getsockname() on the server's socket. Fixed by
       
  2441   patch #1545011.
       
  2442 
       
  2443 - Patch #742598: Add .timeout attribute to SocketServer that calls
       
  2444   .handle_timeout() when no requests are received.
       
  2445 
       
  2446 - Bug #1651235: When a tuple was passed to a ctypes function call,
       
  2447   Python would crash instead of raising an error.
       
  2448 
       
  2449 - Bug #1646630: ctypes.string_at(buf, 0) and ctypes.wstring_at(buf, 0)
       
  2450   returned string up to the first NUL character.
       
  2451 
       
  2452 - Patch #957003: Implement smtplib.LMTP.
       
  2453 
       
  2454 - Patch #1481079: add support for HTTP_REFERER to CGIHTTPServer.
       
  2455 
       
  2456 - Patch #1675424: Added tests for uncovered code in the zipfile
       
  2457   module.  The KeyError raised by Zipfile.getinfo for nonexistent
       
  2458   names now has a descriptive message.
       
  2459 
       
  2460 - Bug #1115886: os.path.splitext('.cshrc') gives now ('.cshrc', '').
       
  2461 
       
  2462 - unittest now verifies more of its assumptions. In particular,
       
  2463   TestCase and TestSuite subclasses (not instances) are no longer
       
  2464   accepted in TestSuite.addTest(). This should cause no
       
  2465   incompatibility since it never made sense with ordinary subclasses
       
  2466   -- the failure just occurred later, with a more cumbersome
       
  2467   exception.
       
  2468 
       
  2469 - Patch #787789: allow to pass custom TestRunner instances to
       
  2470   unittest's main() function.
       
  2471 
       
  2472 - Patches #1550273, #1550272: fix a few bugs in unittest and add a
       
  2473   comprehensive test suite for the module.
       
  2474 
       
  2475 - Patch #1001604: glob.glob() now returns unicode filenames if it was
       
  2476   given a unicode argument and os.listdir() returns unicode filenames.
       
  2477 
       
  2478 - Patch #1673619: setup.py identifies extension modules it doesn't
       
  2479   know how to build and those it knows how to build but that fail to
       
  2480   build.
       
  2481 
       
  2482 - Patch #912410: Replace HTML entity references for attribute values
       
  2483   in HTMLParser.
       
  2484 
       
  2485 - Patch #1663234: you can now run doctest on test files and modules
       
  2486   using "python -m doctest [-v] filename ...".
       
  2487 
       
  2488 - Patch #1121142: Implement ZipFile.open.
       
  2489 
       
  2490 - Taught setup.py how to locate Berkeley DB on Macs using MacPorts.
       
  2491 
       
  2492 - Added heapq.merge() for merging sorted input streams.
       
  2493 
       
  2494 - Added collections.namedtuple() for assigning field names to tuples.
       
  2495 
       
  2496 - Added itertools.izip_longest().
       
  2497 
       
  2498 - Have the encoding package's search function dynamically import using
       
  2499   absolute import semantics.
       
  2500 
       
  2501 - Patch #1647484: Renamed GzipFile's filename attribute to name.
       
  2502 
       
  2503 - Patch #1517891: Mode 'a' for ZipFile now creates the file if it
       
  2504   doesn't exist.
       
  2505 
       
  2506 - Patch #698833: Support file decryption in zipfile.
       
  2507 
       
  2508 - Patch #685268: Consider a package's __path__ in imputil.
       
  2509 
       
  2510 - Patch #1463026: Support default namespace in XMLGenerator.
       
  2511 
       
  2512 - Patch #1571379: Make trace's --ignore-dir facility work in the face
       
  2513   of relative directory names.
       
  2514 
       
  2515 - Bug #1600860: Search for shared python library in LIBDIR, not
       
  2516   lib/python/config, on "linux" and "gnu" systems.
       
  2517 
       
  2518 - Patch #1652681: tarfile.py: create nonexistent files in append mode
       
  2519   and allow appending to empty files.
       
  2520 
       
  2521 - Bug #1124861: Automatically create pipes if GetStdHandle fails in
       
  2522   subprocess.
       
  2523 
       
  2524 - Patch #1634778: add missing encoding aliases for iso8859_15 and
       
  2525   iso8859_16.
       
  2526 
       
  2527 - Patch #1638243: the compiler package is now able to correctly
       
  2528   compile a with statement; previously, executing code containing a
       
  2529   with statement compiled by the compiler package crashed the
       
  2530   interpreter.
       
  2531 
       
  2532 - Bug #1643943: Fix time.strptime's support for the %U directive.
       
  2533 
       
  2534 - Patch #1507247: tarfile.py: use current umask for intermediate
       
  2535   directories.
       
  2536 
       
  2537 - Patch #1627441: close sockets properly in urllib2.
       
  2538 
       
  2539 - Bug #494589: make ntpath.expandvars behave according to its
       
  2540   docstring.
       
  2541 
       
  2542 - Changed platform module API python_version_tuple() to actually
       
  2543   return a tuple (it used to return a list).
       
  2544 
       
  2545 - Added new platform module APIs python_branch(), python_revision(),
       
  2546   python_implementation() and linux_distribution().
       
  2547 
       
  2548 - Added support for IronPython and Jython to the platform module.
       
  2549 
       
  2550 - The sets module has been deprecated.  Use the built-in set/frozenset
       
  2551   types instead.
       
  2552 
       
  2553 - Bug #1610795: make ctypes.util.find_library work on BSD systems.
       
  2554 
       
  2555 - Fixes for 64-bit Windows: In ctypes.wintypes, correct the
       
  2556   definitions of HANDLE, WPARAM, LPARAM data types.  Make
       
  2557   parameterless foreign function calls work.
       
  2558 
       
  2559 - The version number of the ctypes package changed to "1.1.0".
       
  2560 
       
  2561 - Bug #1627575: logging: Added _open() method to FileHandler which can
       
  2562   be used to reopen files. The FileHandler instance now saves the
       
  2563   encoding (which can be None) in an attribute called "encoding".
       
  2564 
       
  2565 - Bug #411881: logging.handlers: bare except clause removed from
       
  2566   SMTPHandler.emit. Now, only ImportError is trapped.
       
  2567 
       
  2568 - Bug #411881: logging.handlers: bare except clause removed from
       
  2569   SocketHandler.createSocket. Now, only socket.error is trapped.
       
  2570 
       
  2571 - Bug #411881: logging: bare except clause removed from
       
  2572   LogRecord.__init__.  Now, only ValueError, TypeError and
       
  2573   AttributeError are trapped.
       
  2574 
       
  2575 - Patch #1504073: Fix tarfile.open() for mode "r" with a fileobj
       
  2576   argument.
       
  2577 
       
  2578 - Patch #1182394 from Shane Holloway: speed up HMAC.hexdigest.
       
  2579 
       
  2580 - Patch #1262036: Prevent TarFiles from being added to themselves
       
  2581   under certain conditions.
       
  2582 
       
  2583 - Patch #1230446: tarfile.py: fix ExFileObject so that read() and
       
  2584   tell() work correctly together with readline().
       
  2585 
       
  2586 - Patch #1484695: The tarfile module now raises a HeaderError
       
  2587   exception if a buffer given to frombuf() is invalid.
       
  2588 
       
  2589 - Bug #1503765: Fix a problem in logging.config with spaces in comma-
       
  2590   separated lists read from logging config files.
       
  2591 
       
  2592 - Patch #1604907: Fix problems in logging.handlers caused at logging
       
  2593   shutdown when syslog handlers fail to initialize because of syslogd
       
  2594   problems.
       
  2595 
       
  2596 - Patch #1608267: fix a race condition in os.makedirs() if the
       
  2597   directory to be created is already there.
       
  2598 
       
  2599 - Patch #1610437: fix a tarfile bug with long filename headers.
       
  2600 
       
  2601 - Patch #1371075: Make ConfigParser accept optional dict type for
       
  2602   ordering, sorting, etc.
       
  2603 
       
  2604 - Bug #1563807: _ctypes built on AIX fails with ld ffi error.
       
  2605 
       
  2606 - Bug #1598620: A ctypes Structure cannot contain itself.
       
  2607 
       
  2608 - Patch #1070046: Marshal new-style objects like InstanceType in
       
  2609   xmlrpclib.
       
  2610 
       
  2611 - cStringIO.truncate(-1) now raises an IOError, like StringIO and
       
  2612   regular files.
       
  2613 
       
  2614 - Patch #1472877: Fix Tix subwidget name resolution.
       
  2615 
       
  2616 - Patch #1594554: Always close a tkSimpleDialog on ok(), even if an
       
  2617   exception occurs.
       
  2618 
       
  2619 - Patch #1538878: Don't make tkSimpleDialog dialogs transient if the
       
  2620   parent window is withdrawn.
       
  2621 
       
  2622 - Bug #1597824: return the registered function from atexit.register()
       
  2623   to facilitate usage as a decorator.
       
  2624 
       
  2625 - Patch #1360200: Use unmangled_version RPM spec field to deal with
       
  2626   file name mangling.
       
  2627 
       
  2628 - Patch #1359217: Process 2xx response in an ftplib transfer that
       
  2629   precedes an 1xx response.
       
  2630 
       
  2631 - Patch #1355023: support whence argument for GzipFile.seek.
       
  2632 
       
  2633 - Patch #1065257: Support passing open files as body in
       
  2634   HTTPConnection.request().
       
  2635 
       
  2636 - Bug #1569790: mailbox.py: Maildir.get_folder() and MH.get_folder()
       
  2637   weren't passing the message factory on to newly created Maildir/MH
       
  2638   objects.
       
  2639 
       
  2640 - Patch #1514543: mailbox.py: In the Maildir class, report errors if
       
  2641   there's a filename clash instead of possibly losing a message.
       
  2642   (Patch by David Watson.)
       
  2643 
       
  2644 - Patch #1514544: Try to ensure that messages/indexes have been
       
  2645   physically written to disk after calling .flush() or
       
  2646   .close(). (Patch by David Watson.)
       
  2647 
       
  2648 - Patch #1592250: Add elide argument to Tkinter.Text.search.
       
  2649 
       
  2650 - Patch #838546: Make terminal become controlling in pty.fork().
       
  2651 
       
  2652 - Patch #1351744: Add askyesnocancel helper for tkMessageBox.
       
  2653 
       
  2654 - Patch #1060577: Extract list of RPM files from spec file in
       
  2655   bdist_rpm.
       
  2656 
       
  2657 - Bug #1586613: fix zlib and bz2 codecs' incremental en/decoders.
       
  2658 
       
  2659 - Patch #1583880: fix tarfile's problems with long names and posix/
       
  2660   GNU modes.
       
  2661 
       
  2662 - Bug #1586448: the compiler module now emits the same bytecode for
       
  2663   list comprehensions as the builtin compiler, using the LIST_APPEND
       
  2664   opcode.
       
  2665 
       
  2666 - Fix codecs.EncodedFile which did not use file_encoding in 2.5.0, and
       
  2667   fix all codecs file wrappers to work correctly with the "with"
       
  2668   statement (bug #1586513).
       
  2669 
       
  2670 - Lib/modulefinder.py now handles absolute and relative imports
       
  2671   correctly.
       
  2672 
       
  2673 - Patch #1567274: Support SMTP over TLS.
       
  2674 
       
  2675 - Patch #1560695: Add .note.GNU-stack to ctypes' sysv.S so that ctypes
       
  2676   isn't considered as requiring executable stacks.
       
  2677 
       
  2678 - ctypes callback functions only support 'fundamental' data types as
       
  2679   result type.  Raise an error when something else is used.  This is a
       
  2680   partial fix for Bug #1574584.
       
  2681 
       
  2682 - Fix turtle so that time.sleep is imported for the entire library.
       
  2683   Allows the demo2 function to be executed on its own instead of only
       
  2684   when the module is run as a script.
       
  2685 
       
  2686 - Bug #813342: Start the IDLE subprocess with -Qnew if the parent is
       
  2687   started with that option.
       
  2688 
       
  2689 - Bug #1565150: Fix subsecond processing for os.utime on Windows.
       
  2690 
       
  2691 - Support for MSVC 8 was added to bdist_wininst.
       
  2692 
       
  2693 - Bug #1446043: correctly raise a LookupError if an encoding name
       
  2694   given to encodings.search_function() contains a dot.
       
  2695 
       
  2696 - Bug #1560617: in pyclbr, return full module name not only for
       
  2697   classes, but also for functions.
       
  2698 
       
  2699 - Bug #1457823: cgi.(Sv)FormContentDict's constructor now takes
       
  2700   keep_blank_values and strict_parsing keyword arguments.
       
  2701 
       
  2702 - Bug #1566602: correct failure of posixpath unittest when $HOME ends
       
  2703   with a slash.
       
  2704 
       
  2705 - Bug #1565661: in webbrowser, split() the command for the default
       
  2706   GNOME browser in case it is a command with args.
       
  2707 
       
  2708 - Made the error message for time.strptime when the data data and
       
  2709   format do match be more clear.
       
  2710 
       
  2711 - Fix a bug in traceback.format_exception_only() that led to an error
       
  2712   being raised when print_exc() was called without an exception set.
       
  2713   In version 2.4, this printed "None", restored that behavior.
       
  2714 
       
  2715 - Make webbrowser.BackgroundBrowser usable in Windows (it wasn't
       
  2716   because the close_fds arg to subprocess.Popen is not supported).
       
  2717 
       
  2718 - Reverted patch #1504333 to sgmllib because it introduced an infinite
       
  2719   loop.
       
  2720 
       
  2721 - Patch #1553314: Fix the inspect.py slowdown that was hurting IPython
       
  2722   & SAGE by adding smarter caching in inspect.getmodule()
       
  2723 
       
  2724 - Fix missing import of the types module in logging.config.
       
  2725 
       
  2726 - Patch #1550886: Fix decimal module context management implementation
       
  2727   to match the localcontext() example from PEP 343.
       
  2728 
       
  2729 - Bug #1545341: The 'classifier' keyword argument to the Distutils
       
  2730   setup() function now accepts tuples as well as lists.
       
  2731 
       
  2732 - Bug #1541863: uuid.uuid1 failed to generate unique identifiers on
       
  2733   systems with low clock resolution.
       
  2734 
       
  2735 - Bug #1531862: Do not close standard file descriptors in subprocess.
       
  2736 
       
  2737 - idle: Honor the "Cancel" action in the save dialog (Debian bug
       
  2738   #299092).
       
  2739 
       
  2740 - Fix utf-8-sig incremental decoder, which didn't recognise a BOM when
       
  2741   the first chunk fed to the decoder started with a BOM, but was
       
  2742   longer than 3 bytes.
       
  2743 
       
  2744 - The implementation of UnicodeError objects has been simplified
       
  2745   (start and end attributes are now stored directly as Py_ssize_t
       
  2746   members).
       
  2747 
       
  2748 - Issue #829951: In the smtplib module, SMTP.starttls() now complies
       
  2749   with RFC 3207 and forgets any knowledge obtained from the server not
       
  2750   obtained from the TLS negotiation itself.  Patch contributed by Bill
       
  2751   Fenner.
       
  2752 
       
  2753 - Issue #1339: The smtplib.SMTP class has been refactored a bit such
       
  2754   that the SMTP.starttls() caller no longer needs to call ehlo()
       
  2755   beforehand.  SMTP.starttls() now raises an exception of the server
       
  2756   does not claim to support starttls.  Adds the
       
  2757   SMTP.ehlo_or_helo_if_needed() method.  Patch contributed by Bill
       
  2758   Fenner.
       
  2759 
       
  2760 - Patch #1089358: Add signal.siginterrupt, a wrapper around
       
  2761   siginterrupt(3).
       
  2762 
       
  2763 Extension Modules
       
  2764 -----------------
       
  2765 
       
  2766 - Patch #1657: added select.epoll and select.kqueue.
       
  2767 
       
  2768 - Patch #1506171: added operator.methodcaller().
       
  2769 
       
  2770 - Patch #1826: operator.attrgetter() now supports dotted attribute paths.
       
  2771 
       
  2772 - Patch #1957: syslogmodule: Release GIL when calling syslog(3).
       
  2773 
       
  2774 - Bug #2112: mmap.error is now a subclass of EnvironmentError and not
       
  2775   a direct EnvironmentError.
       
  2776 
       
  2777 - Bug #2111: mmap segfaults when trying to write a block opened with
       
  2778   PROT_READ.
       
  2779 
       
  2780 - Bug #2063: correct order of utime and stime in os.times() result on
       
  2781   Windows.
       
  2782 
       
  2783 - Patch #1736: Fix file name handling of _msi.FCICreate.
       
  2784 
       
  2785 - Updated ``big5hkscs`` codec to the HKSCS revision of 2004.
       
  2786 
       
  2787 - Issue #1940: make it possible to use curses.filter() before
       
  2788   curses.initscr() as the documentation says.
       
  2789 
       
  2790 - Backport of _fileio module from Python 3.0.
       
  2791 
       
  2792 - Patch #1087741: mmap.mmap is now a class, not a factory function. It
       
  2793   is also subclassable now.
       
  2794 
       
  2795 - Patch #1648: added ``sys.getprofile()`` and ``sys.gettrace()``.
       
  2796 
       
  2797 - Patch #1663329: added ``os.closerange()`` function to quickly close
       
  2798   a range of file descriptors without considering errors.
       
  2799 
       
  2800 - Patch #976880: ``mmap`` objects now have an ``rfind`` method that
       
  2801   works as expected.  ``mmap.find`` also takes an optional ``end``
       
  2802   parameter.
       
  2803 
       
  2804 - _winreg's HKEY object has gained __enter__ and __exit__ methods to
       
  2805   support the context manager protocol.  The _winreg module also
       
  2806   gained a new function ``ExpandEnvironmentStrings`` to expand
       
  2807   REG_EXPAND_SZ keys.
       
  2808 
       
  2809 - itertools.starmap() now accepts any iterable input. Previously, it
       
  2810   required the function inputs to be tuples.
       
  2811 
       
  2812 - itertools.chain() now has an alternate constructor,
       
  2813   chain.from_iterable().
       
  2814 
       
  2815 - Issue #1646: Make socket support TIPC. The socket module now has
       
  2816   support for TIPC under Linux, see http://tipc.sf.net/ for more
       
  2817   information.
       
  2818 
       
  2819 - Added interface for Windows' WSAIoctl to socket object and added an
       
  2820   example for a simple network sniffer.
       
  2821 
       
  2822 - Bug #1301: Bad assert in _tkinter fixed.
       
  2823 
       
  2824 - Added bdist_wininst executable for VS 2008.
       
  2825 
       
  2826 - Bug #1604: collections.deque.__init__(iterable) now clears any prior
       
  2827   contents before adding elements from the iterable.  This fix brings
       
  2828   the behavior into line with that for list.__init__().
       
  2829 
       
  2830 - Added wide char functions to msvcrt module: getwch, getwche, putwch
       
  2831   and ungetwch. The functions accept or return unicode.
       
  2832 
       
  2833 - os.access now returns True on Windows for any existing directory.
       
  2834 
       
  2835 - Added warnpy3k function to the warnings module.
       
  2836 
       
  2837 - Marshal.dumps() now expects exact type matches for int, long, float,
       
  2838   complex, tuple, list, dict, set, and frozenset.  Formerly, it would
       
  2839   silently miscode subclasses of those types.  Now, it raises a
       
  2840   ValueError instead.
       
  2841 
       
  2842 - Patch #1388440: Add set_completion_display_matches_hook and
       
  2843   get_completion_type to readline.
       
  2844 
       
  2845 - Bug #1649098: Avoid declaration of zero-sized array declaration in
       
  2846   structure.
       
  2847 
       
  2848 - Removed the rgbimg module; been deprecated since Python 2.5.
       
  2849 
       
  2850 - Bug #1721309: prevent bsddb module from freeing random memory.
       
  2851 
       
  2852 - Bug #1233: fix bsddb.dbshelve.DBShelf append method to work as
       
  2853   intended for RECNO databases.
       
  2854 
       
  2855 - pybsddb.sf.net Bug #477182: Load the database flags at database open
       
  2856   time so that opening a database previously created with the DB_DUP
       
  2857   or DB_DUPSORT flag set will keep the proper behavior on subsequent
       
  2858   opens.  Specifically: dictionary assignment to a DB object will
       
  2859   replace all values for a given key when the database allows
       
  2860   duplicate values.  DB users should use DB.put(k, v) when they want
       
  2861   to store duplicates; not DB[k] = v.
       
  2862 
       
  2863 - Add the bsddb.db.DBEnv.lock_id_free method.
       
  2864 
       
  2865 - Bug #1686475: Support stat'ing open files on Windows again.
       
  2866 
       
  2867 - Patch #1185447: binascii.b2a_qp() now correctly quotes binary
       
  2868   characters with ASCII value less than 32. Also, it correctly quotes
       
  2869   dots only if they occur on a single line, as opposed to the previous
       
  2870   behavior of quoting dots if they are the second character of any
       
  2871   line.
       
  2872 
       
  2873 - Bug #1622896: fix a rare corner case where the bz2 module raised an
       
  2874   error in spite of a succesful compression.
       
  2875 
       
  2876 - Patch #1654417: make operator.{get,set,del}slice use the full range
       
  2877   of Py_ssize_t.
       
  2878 
       
  2879 - Patch #1646728: datetime.fromtimestamp fails with negative
       
  2880   fractional times.  With unittest.
       
  2881 
       
  2882 - Patch #1490190: posixmodule now includes os.chflags() and
       
  2883   os.lchflags() functions on platforms where the underlying system
       
  2884   calls are available.
       
  2885 
       
  2886 - Patch #1494140: Add documentation for the new struct.Struct object.
       
  2887 
       
  2888 - Patch #1432399: Support the HCI protocol for bluetooth sockets
       
  2889 
       
  2890 - Patch #1657276: Make NETLINK_DNRTMSG conditional.
       
  2891 
       
  2892 - Bug #1653736: Complain about keyword arguments to time.isoformat.
       
  2893 
       
  2894 - Bug #1486663: don't reject keyword arguments for subclasses of
       
  2895   builtin types.
       
  2896 
       
  2897 - Patch #1610575: The struct module now supports the 't' code, for C99
       
  2898   _Bool.
       
  2899 
       
  2900 - Patch #1635058: ensure that htonl and friends never accept or return
       
  2901   negative numbers, per the underlying C implementation.
       
  2902 
       
  2903 - Patch #1544279: Improve thread-safety of the socket module by moving
       
  2904   the sock_addr_t storage out of the socket object.
       
  2905 
       
  2906 - Patch #1019808: fix bug that causes an incorrect error to be
       
  2907   returned when a socket timeout is set and a connection attempt
       
  2908   fails.
       
  2909 
       
  2910 - Speed up function calls into the math module.
       
  2911 
       
  2912 - Bug #1588217: don't parse "= " as a soft line break in binascii's
       
  2913   a2b_qp() function, instead leave it in the string as quopri.decode()
       
  2914   does.
       
  2915 
       
  2916 - Bug #1599782: Fix segfault on bsddb.db.DB().type().
       
  2917 
       
  2918 - Bug #1567666: Emulate GetFileAttributesExA for Win95.
       
  2919 
       
  2920 - Patch #1576166: Support os.utime for directories on Windows NT+.
       
  2921 
       
  2922 - Patch #1572724: fix typo ('=' instead of '==') in _msi.c.
       
  2923 
       
  2924 - Bug #1572832: fix a bug in ISO-2022 codecs which may cause segfault
       
  2925   when encoding non-BMP unicode characters.
       
  2926 
       
  2927 - Bug #1556784: allow format strings longer than 127 characters in
       
  2928   datetime's strftime function.
       
  2929 
       
  2930 - Fix itertools.count(n) to work with negative numbers again.
       
  2931 
       
  2932 - RLIMIT_SBSIZE was added to the resource module where available.
       
  2933 
       
  2934 - Bug #1551427: fix a wrong NULL pointer check in the win32 version of
       
  2935   os.urandom().
       
  2936 
       
  2937 - Bug #1548092: fix curses.tparm seg fault on invalid input.
       
  2938 
       
  2939 - Patch #1114: fix curses module compilation on 64-bit AIX, & possibly
       
  2940   other 64-bit LP64 platforms where attr_t is not the same size as a
       
  2941   long.  (Contributed by Luke Mewburn.)
       
  2942 
       
  2943 - Bug #1550714: fix SystemError from itertools.tee on negative value
       
  2944   for n.
       
  2945 
       
  2946 - Fixed a few bugs on cjkcodecs:
       
  2947   - gbk and gb18030 codec now handle U+30FB KATAKANA MIDDLE DOT
       
  2948     correctly.
       
  2949   - iso2022_jp_2 codec now encodes into G0 for KS X 1001, GB2312
       
  2950     codepoints to conform the standard.
       
  2951   - iso2022_jp_3 and iso2022_jp_2004 codec can encode JIS X 0213:2
       
  2952     codepoints now.
       
  2953 
       
  2954 - Bug #1552726: in readline.c, avoid repeatedly polling in interactive
       
  2955   mode by only placing a timeout on the select() if an input hook has
       
  2956   been defined.  This prevents an interactive Python from waking up 10
       
  2957   times per second.  Patch by Richard Boulton.
       
  2958 
       
  2959 - fixed a bug with bsddb.DB.stat: the flags and txn keyword arguments
       
  2960   were transposed.
       
  2961 
       
  2962 - Added support for linking the bsddb module against BerkeleyDB 4.5.x,
       
  2963   4.6.x and 4.7.x.
       
  2964 
       
  2965 - Bug #1633621: if curses.resizeterm() or curses.resize_term() is
       
  2966   called, update _curses.LINES, _curses.COLS, curses.LINES and
       
  2967   curses.COLS.
       
  2968 
       
  2969 - Fix an off-by-one bug in locale.strxfrm().
       
  2970 
       
  2971 - Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*.
       
  2972 
       
  2973 - Build using system ffi library on arm*-linux*.
       
  2974 
       
  2975 - Bug #1372: zlibmodule.c: int overflow in PyZlib_decompress
       
  2976 
       
  2977 - bsddb module: Fix memory leak when using database cursors on
       
  2978   databases without a DBEnv.
       
  2979 
       
  2980 - The sqlite3 module was updated to pysqlite 2.4.1.
       
  2981 
       
  2982 Tests
       
  2983 -----
       
  2984 
       
  2985 - Refactor test_logging to use unittest.
       
  2986 
       
  2987 - Refactor test_profile and test_cprofile to use the same code to
       
  2988   profile.
       
  2989 
       
  2990 - Make test_runpy reentrant by fixing _check_module to clear out any
       
  2991   module being tested.  Was causing an error by __import__ doing a
       
  2992   reload on the second run and thus suppressing bytecode recreation.
       
  2993 
       
  2994 - Capture socket connection resets and timeouts in test_socket_ssl and
       
  2995   test_urllib2net and raise test.test_support.ResourceDenied.
       
  2996 
       
  2997 - Patch #1559413: Fix test_cmd_line if sys.executable contains a
       
  2998   space.
       
  2999 
       
  3000 - Added test.test_support.TransientResource which is a context manager
       
  3001   to surround calls to resources that are not guaranteed to work even
       
  3002   if test.test_support.requires says that the resource should exist.
       
  3003 
       
  3004 - Added a test for slicing of an exception.
       
  3005 
       
  3006 - Added test.test_support.EnvironmentVarGuard.  It's a class that
       
  3007   provides a context manager so that one can temporarily set or unset
       
  3008   environment variables.
       
  3009 
       
  3010 - Added some tests for modulefinder.
       
  3011 
       
  3012 - Converted test_imp to use unittest.
       
  3013 
       
  3014 - Fix bsddb test_basics.test06_Transactions to check the version
       
  3015   number properly.
       
  3016 
       
  3017 - test.test_support.catch_warning is a new context manager that can be
       
  3018   used to catch the warnings issued by the warning framework.
       
  3019 
       
  3020 Tools
       
  3021 -----
       
  3022 
       
  3023 - Tools/scripts/reindent.py now creates the backup file using
       
  3024   shutil.copy to preserve user/group and permissions. Added also a
       
  3025   --nobackup option to not create the backup if the user is concerned
       
  3026   regarding this.  Check issue 1050828 for more details.
       
  3027 
       
  3028 - Tools/scripts/win_add2path.py was added. The simple script modifes
       
  3029   the PATH environment var of the HKCU tree and adds the python bin
       
  3030   and script directory.
       
  3031 
       
  3032 - Tools/18n/pygettext.py was added to the list of scripts installed by
       
  3033   Tools/scripts/setup.py (tracker item 642309).
       
  3034 
       
  3035 - Added IronPython and Jython support to pybench (part of which was
       
  3036   patch #1563844).
       
  3037 
       
  3038 - Made some minor changes to pybench output to allow the user to see
       
  3039   which Python version is running pybench.
       
  3040 
       
  3041 - Added support for the new platform module feature
       
  3042   platform.python_implementation(); this will now be saved in the
       
  3043   benchmark pickle.
       
  3044 
       
  3045 
       
  3046 Documentation
       
  3047 -------------
       
  3048 
       
  3049 - RFE #1765140: Updated documentation on FileHandler and subclasses to
       
  3050   include new optional delay argument.
       
  3051 
       
  3052 - Bug #932563: Added section on getting contextual information into
       
  3053   logging output, and added documentation for the new LoggerAdapter
       
  3054   class.
       
  3055 
       
  3056 - Bug #1295: Added information about caching of formatted exception
       
  3057   information in the LogRecord by Formatter.format().
       
  3058 
       
  3059 - Bug #1637365: add subsection about "__name__ == __main__" to the
       
  3060   Python tutorial.
       
  3061 
       
  3062 - Patch #1698768: updated the "using Python on the Mac" intro.
       
  3063 
       
  3064 - Bug #1569057: Document that calling file.next() when the file is
       
  3065   open for writing is undefined.
       
  3066 
       
  3067 - Patch #1489771: the syntax rules in Python Reference Manual were
       
  3068   updated to reflect the current Python syntax.
       
  3069 
       
  3070 - Patch #1686451: Fix return type for
       
  3071   PySequence_{Count,Index,Fast_GET_SIZE}.
       
  3072 
       
  3073 - Patch #1679379: add documentation for fnmatch.translate().
       
  3074 
       
  3075 - Bug #1629566: clarify the docs on the return values of parsedate()
       
  3076   and parsedate_tz() in email.utils and rfc822.
       
  3077 
       
  3078 - Patch #1671450: add a section about subclassing builtin types to the
       
  3079   "extending and embedding" tutorial.
       
  3080 
       
  3081 - Bug #1629125: fix wrong data type (int -> Py_ssize_t) in PyDict_Next
       
  3082   docs.
       
  3083 
       
  3084 - Bug #1565919: document set types in the Language Reference.
       
  3085 
       
  3086 - Bug #1546052: clarify that PyString_FromString(AndSize) copies the
       
  3087   string pointed to by its parameter.
       
  3088 
       
  3089 - Bug #1566663: remove obsolete example from datetime docs.
       
  3090 
       
  3091 - Bug #1541682: Fix example in the "Refcount details" API docs.
       
  3092   Additionally, remove a faulty example showing PySequence_SetItem
       
  3093   applied to a newly created list object and add notes that this isn't
       
  3094   a good idea.
       
  3095 
       
  3096 
       
  3097 Tools/Demos
       
  3098 -----------
       
  3099 
       
  3100 - Patch #1552024: add decorator support to unparse.py demo script.
       
  3101 
       
  3102 - Make auto-generated python.vim file list built-ins and exceptions in
       
  3103   alphatbetical order.  Makes output more deterministic and easier to
       
  3104   tell if the file is stale or not.
       
  3105 
       
  3106 - Bug #1546372: Fixed small bugglet in pybench that caused a missing
       
  3107   file not to get reported properly.
       
  3108 
       
  3109 
       
  3110 Build
       
  3111 -----
       
  3112 
       
  3113 - Have the search path for building extensions follow the declared
       
  3114   order in $CPPFLAGS and $LDFLAGS when adding directories from those
       
  3115   environment variables.
       
  3116 
       
  3117 - Bug #1983: Added a check to pyport to verify that sizeof(pid_t) is
       
  3118   smaller or equal sizeof(long).
       
  3119 
       
  3120 - Bug #1234: Fixed semaphore errors on AIX 5.2
       
  3121 
       
  3122 - Issue #1726: Remove Python/atof.c from PCBuild/pythoncore.vcproj.
       
  3123 
       
  3124 - Removed PCbuild8/ directory and added a new build directory for VS
       
  3125   2005 based on the VS 2008 build directory to PC/VS8.0. The script
       
  3126   PCbuild/vs8to9.py was added to sync changes from PCbuild to
       
  3127   PC/VS8.0.
       
  3128 
       
  3129 - Moved PCbuild/ directory for VS 2003 to PC/VS7.1 and renamed
       
  3130   PCBuild9/ directory to PCBuild/.
       
  3131 
       
  3132 - Bug #1699: Define _BSD_SOURCE only on OpenBSD.
       
  3133 
       
  3134 - Bug #1608: use -fwrapv when GCC supports it.  This is important,
       
  3135   newer GCC versions may optimize away overflow buffer overflow checks
       
  3136   without this option!
       
  3137 
       
  3138 - Patch #1418: Make the AC_REPLACE_FUNCS object files actually work.
       
  3139 
       
  3140 - Add a FAST_LOOPS build option that speeds-up looping by trading away
       
  3141   periodic threadstate and signal checking in tight loops.  By
       
  3142   default, this option is turned-off.  It should only be enabled in
       
  3143   debugged, performance critical applications.
       
  3144 
       
  3145 - Patch #786737: Allow building in a tree of symlinks pointing to a
       
  3146   readonly source.
       
  3147 
       
  3148 - Bug #1737210: Change Manufacturer of Windows installer to PSF.
       
  3149 
       
  3150 - Bug #1746880: Correctly install DLLs into system32 folder on Win64.
       
  3151 
       
  3152 - Define _BSD_SOURCE, to get access to POSIX extensions on OpenBSD
       
  3153   4.1+.
       
  3154 
       
  3155 - Stop supporting AtheOS and cause a build error in configure for the
       
  3156   platform.
       
  3157 
       
  3158 - Bug #1655392: don't add -L/usr/lib/pythonX.Y/config to the LDFLAGS
       
  3159   returned by python-config if Python was built with --enable-shared
       
  3160   because that prevented the shared library from being used.
       
  3161 
       
  3162 - Patch #1569798: fix a bug in distutils when building Python from a
       
  3163   directory within sys.exec_prefix.
       
  3164 
       
  3165 - Bug #1675511: Use -Kpic instead of -xcode=pic32 on Solaris/x86.
       
  3166 
       
  3167 - Disable _XOPEN_SOURCE on NetBSD 1.x.
       
  3168 
       
  3169 - configure now checks whether gcc supports the PyArg_ParseTuple
       
  3170   format attribute.
       
  3171 
       
  3172 - Bug #1578513: Cross compilation was broken by a change to configure.
       
  3173   Repair so that it's back to how it was in 2.4.3.
       
  3174 
       
  3175 - Patch #1576954: Update VC6 build directory; remove redundant files
       
  3176   in VC7.
       
  3177 
       
  3178 - Bug #1568842: Fix test for uintptr_t.
       
  3179 
       
  3180 - Patch #1540470: for OpenBSD 4.0.
       
  3181 
       
  3182 - Fix build failure on kfreebsd and on the hurd.
       
  3183 
       
  3184 - Fix the build of the library reference in info format.
       
  3185 
       
  3186 - Allow Emacs 22 for building the documentation in info format.
       
  3187 
       
  3188 - Makefile.pre.in(buildbottest): Run an optional script
       
  3189   pybuildbot.identify to include some information about the build
       
  3190   environment.
       
  3191 
       
  3192 
       
  3193 C API
       
  3194 -----
       
  3195 
       
  3196 - Unified naming convention for free lists and their limits. All free
       
  3197   lists in Object/ are named ``free_list``, the counter ``numfree``
       
  3198   and the upper limit is a macro ``PyName_MAXFREELIST`` inside an
       
  3199   #ifndef block.
       
  3200 
       
  3201 - ``PySet_Add()`` can now modify a newly created frozenset.  Similarly
       
  3202   to ``PyTuple_SetItem``, it can be used to populate a brand new
       
  3203   frozenset; but it does not steal a reference to the added item.
       
  3204 
       
  3205 - Added ``PySet_Check()`` and ``PyFrozenSet_Check()`` to the set API.
       
  3206 
       
  3207 - Backport of PyUnicode_FromString(), _FromStringAndSize(), _Format
       
  3208   and _FormatV from Python 3.0. Made PyLong_AsSsize_t and
       
  3209   PyLong_FromSsize_t public functions.
       
  3210 
       
  3211 - Patch #1720595: add T_BOOL to the range of structmember types.
       
  3212 
       
  3213 - Issue #1534: Added ``PyFloat_GetMax()``, ``PyFloat_GetMin()`` and
       
  3214   ``PyFloat_GetInfo()`` to the float API.
       
  3215 
       
  3216 - Issue #1521: On 64bit platforms, using PyArgs_ParseTuple with the t#
       
  3217   of w# format code incorrectly truncated the length to an int, even
       
  3218   when PY_SSIZE_T_CLEAN is set.  The str.decode method used to return
       
  3219   incorrect results with huge strings.
       
  3220 
       
  3221 - Issue #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE,
       
  3222   Py_TYPE and Py_REFCNT.
       
  3223 
       
  3224 - PEP 3123: Provide forward compatibility with Python 3.0, while
       
  3225   keeping backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size,
       
  3226   and PyVarObject_HEAD_INIT.
       
  3227 
       
  3228 - Py_ssize_t fields work in structmember when HAVE_LONG_LONG is not
       
  3229   defined.
       
  3230 
       
  3231 - Patch #1733960: Allow T_LONGLONG to accept ints.
       
  3232 
       
  3233 - T_PYSSIZET can now be used in PyMemberDef lists for Py_ssize_t members.
       
  3234 
       
  3235 - Added a new API function ``PyImport_ImportModuleNoBlock``.
       
  3236 
       
  3237 - Bug #1637022: Prefix AST symbols with _Py_.
       
  3238 
       
  3239 - Fix some leftovers from the conversion from int to Py_ssize_t
       
  3240   (relevant to strings and sequences of more than 2**31 items).
       
  3241 
       
  3242 - Make _PyGILState_NoteThreadState() static, it was not used anywhere
       
  3243   outside of pystate.c and should not be necessary.
       
  3244 
       
  3245 - ``PyImport_Import`` and ``PyImport_ImportModule`` now always do
       
  3246   absolute imports. In earlier versions they might have used relative
       
  3247   imports under some conditions.
       
  3248 
       
  3249 - Added case insensitive comparison methods ``PyOS_stricmp(char*,
       
  3250   char*)`` and ``PyOS_strnicmp(char*, char*, Py_ssize_t)``.
       
  3251 
       
  3252 - Bug #1542693: remove semi-colon at end of PyImport_ImportModuleEx
       
  3253   macro so it can be used as an expression.
       
  3254 
       
  3255 
       
  3256 Windows
       
  3257 -------
       
  3258 
       
  3259 - Patch #1706: Drop support for Win9x, WinME and NT4. Python now
       
  3260   requires Windows 2000 or greater. The _WINVER and NTDDI_VERSION
       
  3261   macros are set to Win2k for x86/32bit builds and WinXP for AMD64
       
  3262   builds.
       
  3263 
       
  3264 - Conditionalize definition of _CRT_SECURE_NO_DEPRECATE and
       
  3265   _CRT_NONSTDC_NO_DEPRECATE.
       
  3266 
       
  3267 - Bug #1216: Restore support for Visual Studio 2002.
       
  3268 
       
  3269 
       
  3270 Mac
       
  3271 ---
       
  3272 
       
  3273 - cfmfile now raises a DeprecationWarning.
       
  3274 
       
  3275 - buildtools now raises a DeprecationWarning.
       
  3276 
       
  3277 - Removed the macfs module.  It had been deprecated since Python 2.5.
       
  3278   This lead to the deprecation of macostools.touched() as it relied
       
  3279   solely on macfs and was a no-op under OS X.
       
  3280 
       
  3281 ----
       
  3282 
       
  3283 **(For information about older versions, consult the HISTORY file.)**