What's New in Python 2.6.5?
===========================
*Release date: 2010-03-18*
What's New in Python 2.6.5 rc 2?
================================
*Release date: 2010-03-09*
Core and Builtins
-----------------
- Issue #8089: a OS X framework build with --with-universal-archs=3-way|intel
had no way to select a 32-bit executable.
- Issue #8084: fixes build issues on OSX 10.6 when targetting OSX 10.4.
Library
-------
- Reverting the changes made in r78432. Discussed in the tracker issue #7540.
- Issue #8107: Fixed test_distutils so it doesn't crash when the source
directory cannot be found.
Extension Modules
-----------------
- Issue #7670: sqlite3: Fixed crashes when operating on closed connections.
- Issue #8053: logic was inverted on which platforms to run a test on.
caused test_thread to fail on Windows.
What's New in Python 2.6.5 rc 1?
================================
*Release date: 2010-03-01*
Core and Builtins
-----------------
- Issue #7309: Fix unchecked attribute access when converting
UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to
strings.
- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a
UnicodeDecodeError if 'char' is a byte string that can't be decoded using
the default encoding.
- Issue #5677: Explicitly forbid write operations on read-only file objects,
and read operations on write-only file objects. On Windows, the system C
library would return a bogus result; on Solaris, it was possible to crash
the interpreter. Patch by Stefan Krah.
- Issue #4978: Passing keyword arguments as unicode strings is now allowed.
- Issue #7819: Check sys.call_tracing() arguments types.
- Issue #7788: Fix an interpreter crash produced by deleting a list
slice with very large step value.
- Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`)
could crash in many places because of the PyByteArray_AS_STRING() macro
returning NULL. The macro now returns a statically allocated empty
string instead.
- Issue #7604: Deleting an unset slotted attribute did not raise an
AttributeError.
- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat()
used to drop the time part of the result.
- Issue #6108: unicode(exception) and str(exception) should return the same
message when only __str__ (and not __unicode__) is overridden in the
subclass.
- Issue #7491: Metaclass's __cmp__ method was ignored.
- Add Py3k warnings for parameter names in parenthesis.
- Issue #7362: Give a proper error message for def f((x)=3): pass.
- Issue #7085: Fix crash when importing some extensions in a thread
on MacOSX 10.6.
- Issue #7070: Fix round bug for large odd integer arguments.
- Issue #7078: Set struct.__doc__ from _struct.__doc__.
- Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which
fixes the problem of some exceptions being thrown at shutdown when the
interpreter is killed. Patch by Adam Olsen.
- Issue #7084: Fix a (very unlikely) crash when printing a list from one
thread, and mutating it from another one. Patch by Scott Dial.
- Issue #1747858: Fix lchown & fchown to work with large uid's and gid's on
64-bit platforms.
Library
-------
- Issue #7250: Fix info leak of os.environ across multi-run uses of
wsgiref.handlers.CGIHandler.
- Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
- Issue #691291: codecs.open() should not convert end of lines on reading and
writing.
- Issue #7975: correct regression in dict methods supported by bsddb.dbshelve.
- Issue #7959: ctypes callback functions are now registered correctly
with the cycle garbage collector.
- Issue #6243: curses.getkey() can segfault when used with ungetch.
Fix by Trundle and Jerry Chen.
- Issue #7597: curses.use_env() can now be called before initscr().
Noted by Kan-Ru Chen.
- Issue #7970: email.Generator.flatten now correctly flattens message/rfc822
messages parsed by email.Parser.HeaderParser.
- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode.
- Issue #7835: shelve should no longer produce mysterious warnings during
interpreter shutdown.
- Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
specified, rather than fall through to AF_PACKET (in the `socket` module).
Also, raise ValueError rather than TypeError when an unknown TIPC address
type is specified. Patch by Brian Curtin.
- Issue #6939: Fix file I/O objects in the `io` module to keep the original
file position when calling `truncate()`. It would previously change the
file position to the given argument, which goes against the tradition of
ftruncate() and other truncation APIs. Patch by Pascal Chambon.
- Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when
the release file is empty.
- Issue #7748: Since unicode values are supported for some metadata options
in Distutils, the DistributionMetadata get_* methods will now return an utf-8
encoded string for them. This ensure that the upload and register commands
send the right values to PyPI without any error.
- Issue #1670765: Prevent email.generator.Generator from re-wrapping
headers in multipart/signed MIME parts, which fixes one of the sources of
invalid modifications to such parts by Generator.
- Issue #7701: Fix crash in binascii.b2a_uu() in debug mode when given a
1-byte argument. Patch by Victor Stinner.
- Issue #3299: Fix possible crash in te _sre module when given bad
argument values in debug mode. Patch by Victor Stinner.
- Issue #5827: Make sure that normpath preserves unicode. Initial patch
by Matt Giuca.
- Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
ing the .c
file). Initial patch by Collin Winter.
- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes
gcc when it has a fully qualified configuration prefix. Initial patch
by Arfrever.
- Issue #7071: byte-compilation in Distue.
- Issue #7092: Remove py3k warning when importing cPickle. 2to3 handles
renaming of `cPickle` to `pickle`. The warning was annoying since there's
no alternative to cPickle if you care about performance. Patch by Florent
Xicluna.
- Issue #745tch by
Victor Stinner.
- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
opening an empty or very small file.
- Issue #7552: Removed line feed in the base64 Authorization header in
the Distutils upload command to avoid an ers on long passwords. Initial patch by JP St. Pierre.
- Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by
Tatsuhiro Tsujikawa.
- Issue #7348: StringIO.StringIO.readline(-1) now acts as if it got no argument
like other file objects.
- Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is
missing proper end-of-line termination.
- Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d
- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is
generated in Distutils. Patch by Stephen Emslie.
- Issue #4120: Drop reference to CRT from manifest when building extensions
with msvc9compiler.
- Issue #7410: deepcopy of itertools.count() erroneously reset the count.
- Issue #7403: logging: Fixed possible race condition in lock creation.
- Issue #7341: Close the internal file object in the TarFile constructor in
case of an error.
- Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch
- Issue #7318: multiprocessing now uses a timeout when it fails to establish
a connection with another process, rather than looping endlessly. The
default timeout is 20 seconds, which should be amply sufficient for
local connections.
- Issue #7282: Fix a memory leak when an RLock was used in a thread other
than those started through `threading.Thread` (for example, using
`thread.start_new_thread()`.
- Issue #7264: Fix a possible deadlock when deallocating thread-local objects
which are part of a reference cycle.
- Issue #7249: Methods of io.BytesIO now allow `long` as well as `int`
arguments.
- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
LP64 platforms (most 64-bit Linux, bsd, unix systems).
- Issue #7246 & Issue #7208: getpass now properly flushes input before
reading from stdin so that existing input does not confuse it and
lead to incorrect entry or an IOError. It also properly flushes it
afterwards to avoid the terminal echoing the input afterwards on
OSes such as Solaris.
- Issue #7244: itertools.izip_longest() no longer ignores exceptions
raised during the formation of an output tuple.
- Issue #7233: Fix a number of two-argument Decimal methods to make
sure that they accept an int or long as the second argument. Also
fix buggy handling of large arguments (those with coefficient longer
than the current precision) in shift and rotate.
- Issue #7082: When falling back to the MIME 'name' parameter, the
correct place to look for it is the Content-Type header.
- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
larger than emax.
- Issue #7205: Fix a possible deadlock when using a BZ2File object from
several threads at once.
- Issue #7048: Force Decimal.logb to round its result when that result
is too large to fit in the current precision.
- Issue #1488943: difflib.Differ() doesn't always add hints for tab characters
- Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of
__str__.
- Issue #7481: When a threading.Thread failed to start it would leave the
instance stuck in initial state and present in threading.enumerate().
- Issue #1068268: The subprocess module now handles EINTR in internal
os.waitpid and os.read system calls where appropriate.
Extension Modules
-----------------
- Issue #7808: Fix reference leaks in _bsddb and related tests.
- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
msvcr100.dll is not a platform assembly anymore.
- Issue #6877: Make it possible to link the readline extension to libedit
on OSX.
- Expat: Fix DoS via XML document with malformed UTF-8 sequences
(CVE_2009_3560).
- Issue #7242: On Solaris 9 and earlier calling os.fork() from within a
thread could raise an incorrect RuntimeError about not holding the import
lock. The import lock is now reinitialized after fork.
- Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1
parameter on some platforms such as OS X.
Build
-----
- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
Patch by Florent Xicluna.
- Issue #7589: Only build the nis module when the correct header files are
found.
- Switch to OpenSSL 0.9.8l on Windows.
- Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it
compiles correctly under gcc on x86-64. This fixes a reported
problem with the --with-tsc build on x86-64.
- Ensure that it possible to build extensions for the default
binary distribution on OSX 10.6 even when the user does not
have the 10.4u SDK installed.
- Issue #7541: when using ``python-config`` with a framework install the
compiler might use the wrong library.
Documentation
-------------
- Updating `Using Python` documentation to include description of CPython's
-J, -U and -X options.
- Update python manual page (options -B, -O0, -s, environment variables
PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
Tests
-----
- issue #7728: test_timeout was changed to use test_support.bind_port
instead of a hard coded port.
- Issue #7498: test_multiprocessing now uses test_support.find_unused_port
instead of a hardcoded port number in test_rapid_restart.
- Issue #7431: use TESTFN in test_linecache instead of trying to create a
file in the Lib/test directory, which might be read-only for the
user running the tests.
- Issue #7324: add a sanity check to regrtest argument parsing to
catch the case of an option with no handler.
- Issue #7295: Do not use a hardcoded file name in test_tarfile.
- Issue #7270: Add some dedicated unit tests for multi-thread synchronization
primitives such as Lock, RLock, Condition, Event and Semaphore.
- Issue #7055: test___all__ now greedily detects all modules which have an
__all__ attribute, rather than using a hardcoded and incomplete list.
on the "pkgsrc-users" mailing list:
1.) Fix 64-Bit ABI check for Snow Leopard so it doesn't break the build
on older version of Mac OS X.
2.) Properly disable the "pyexpat" module and remove it from the
package list.
Bump package revision because of these changes.
What's New in Python 2.6.4 final?
=================================
*Release date: 25-Oct-2009*
(nothing)
What's New in Python 2.6.4rc2?
==============================
*Release date: 18-Oct-2009*
Library
-------
- Issue #7115: Fixed the extension module builds that is failing when using
paths in the extension name instead of dotted names.
- Issue #7120: logging: Removed import of multiprocessing which is causing
crash in GAE.
- Issue #7149: fix exception in urllib when detecting proxy settings on OSX.
What's New in Python 2.6.4rc1?
==============================
*Release date: 07-Oct-2009*
Core and Builtins
-----------------
- Issue #7019: Raise ValueError when unmarshalling bad long data, instead
of producing internally inconsistent Python longs.
Library
-------
- Issue #7068: Fixed the partial renaming that occured in r72594.
- Issue #7064: Fixed the incompatibility with Setuptools in distutils
when running the build_ext command.
- Issue #7052: Removed nonexisting NullHandler from logging.__all__.
- Issue #7039: Fixed distutils.tests.test_sysconfig when running on
installation with no build.
Tests
-----
- Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6.
What's New in Python 2.6.3
==========================
*Release date: 02-Oct-2009*
What's New in Python 2.6.3rc1
=============================
*Release date: 29-Sep-2009*
Core and Builtins
-----------------
- Issue #5329: Fix os.popen* regression from 2.5 with commands as a
sequence running through the shell. Patch by Jean-Paul Calderone
and Jani Hakala.
- Issue #6990: Fix threading.local subclasses leaving old state around
after a reference cycle GC which could be recycled by new locals.
- Issue #6922: Fix an infinite loop when trying to decode an invalid
UTF-32 stream with a non-raising error handler like "replace" or "ignore".
- Issue #1590864: Fix potential deadlock when mixing threads and fork().
- Issue #6844: Do not emit DeprecationWarnings when accessing a "message"
attribute on exceptions that was set explicitly.
- Issue #6846: Fix bug where bytearray.pop() returns negative integers.
- Issue #6707: dir() on an uninitialized module caused a crash.
- Issue #6540: Fixed crash for bytearray.translate() with invalid parameters.
- Issue #6573: set.union() stopped processing inputs if an instance of self
occurred in the argument chain.
- Issue #6070: On posix platforms import no longer copies the execute bit
from the .py file to the .pyc file if it is set.
- Issue #4547: When debugging a very large function, it was not always
possible to update the lineno attribute of the current frame.
- Issue #4618: When unicode arguments are passed to print(), the default
separator and end should be unicode also.
- Issue #6119: Fixed a incorrect Py3k warning about order comparisons of
builtin functions and methods.
- Issue #5330: C functions called with keyword arguments were not reported by
the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau.
- Issue #6089: str.format can raise SystemError with certain invalid
field specifiers.
- Issue #5994: the marshal module now has docstrings.
- Issue #5981: Fix two minor inf/nan issues in float.fromhex: (1) inf
and nan strings with trailing whitespace were incorrectly rejected
and (2) the interpretation of fromhex('-nan') didn't match that of
float('-nan').
- Issue #5890: in subclasses of 'property' the __doc__ attribute was
shadowed by classtype's, even if it was None. property now
inserts the __doc__ into the subclass instance __dict__.
- Issue #5724: (See also issue #4575.) Fix Py_IS_INFINITY macro to
work correctly on x87 FPUs: it now forces its argument to double
before testing for infinity.
- Issue #4971: Fix titlecase for characters that are their own
titlecase, but not their own uppercase.
- Issue #5829: complex('1e-500') no longer raises an exception
- Issue #5787: object.__getattribute__(some_type, "__bases__") segfaulted on
some builtin types.
- Issue #5283: Setting __class__ in __del__ caused a segfault.
- Issue #5759: float() didn't call __float__ on str subclasses.
- Issue #5108: Handle %s like %S and %R in PyUnicode_FromFormatV(): Call
PyUnicode_DecodeUTF8() once, remember the result and output it in a second
step. This avoids problems with counting UTF-8 bytes that ignores the effect
of using the replace error handler in PyUnicode_DecodeUTF8().
Library
-------
- Issue #6790: Make it possible again to pass an `array.array` to
`httplib.HTTPConnection.send`. Patch by Kirk McDonald.
- Issue #6236, #6348: Fix various failures in the `io` module under AIX
and other platforms, when using a non-gcc compiler. Patch by egreen.
- Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6
- Issue #6947: Fix distutils test on windows. Patch by Hirokazu Yamamoto.
- Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
does now always result in NULL.
- Issue #5042: ctypes Structure sub-subclass does now initialize
correctly with base class positional arguments.
- Issue #6938: Fix a TypeError in string formatting of a multiprocessing
debug message.
- Issue #6635: Fix profiler printing usage message.
- Issue #6795: int(Decimal('nan')) now raises ValueError instead of
returning NaN or raising InvalidContext. Also, fix infinite recursion
in long(Decimal('nan')).
- Issue #6850: Fix bug in Decimal._parse_format_specifier for formats
with no type specifier.
- Issue #4937: plat-mac/bundlebuilder revers to non-existing version.plist
- Issue #6838: Use a list to accumulate the value instead of
repeatedly concatenating strings in httplib's
HTTPResponse._read_chunked providing a significant speed increase
when downloading large files servend with a Transfer-Encoding of 'chunked'.
- Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN
payloads are now ordered by integer value rather than lexicographically.
- Issue #6117: Fix O(n**2) performance degradation when outputting lots of
small data on a buffered socket.socket.makefile() object.
- Issue #6637: defaultdict.copy() did not work when the default factory
was left unspecified. Also, the eval/repr round-trip would fail when
the default_factory was None.
- Issue #1424152: Fix for httplib, urllib2 to support SSL while working through
proxy. Original patch by Christopher Li, changes made by Senthil Kumaran.
- Issues #5155, 5313, 5331: multiprocessing.Process._bootstrap was
unconditionally calling "os.close(sys.stdin.fileno())" resulting in file
descriptor errors
- Issue #6415: Fixed warnings.warn sagfault on bad formatted string.
- Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.
- Issue #5230: pydoc would report no documentation found if a module generated
a 'not found' import error when loaded; it now reports the import errors.
Thanks to Lucas Prado Melo for initial fix and collaboration on the tests.
- Issue #6274: Fixed possible file descriptors leak in subprocess.py
- Issue #6271: mmap tried to close invalid file handle (-1) when annonymous.
(On Unix)
- Issue #6258: Support AMD64 in bdist_msi.
- Issue #5262: Fixed bug in next rollover time computation in
TimedRotatingFileHandler.
- Issue #6121: pydoc now ignores leading and trailing spaces in the
argument to the 'help' function.
- Issue #6050: Don't fail extracting a directory from a zipfile if
the directory already exists.
- collections.namedtuple() was not working with the following field
names: cls, self, tuple, itemgetter, and property.
- Issue #1309352: fcntl now converts its third arguments to a C `long` rather
than an int, which makes some operations possible under 64-bit Linux (e.g.
DN_MULTISHOT with F_NOTIFY).
- Issue #1983: Fix functions taking or returning a process identifier to use
the dedicated C type ``pid_t`` instead of a C ``int``. Some platforms have
a process identifier type wider than the standard C integer type.
- Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns the socket.
Patch by Farhan Ahmad, test by Marcin Bachry.
- Issue #1655: Make imaplib IPv6-capable. Patch by Derek Morr.
- Issue #1664: Make nntplib IPv6-capable. Patch by Derek Morr.
- Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when
trying to print a traceback.
- Issue 5955: aifc's close method did not close the file it wrapped,
now it does. This also means getfp method now returns the real fp.
- Issue #4875: On win32, ctypes.util.find_library does no longer
return directories.
- Issue #5692: In :class:`zipfile.Zipfile`, fix wrong path calculation when
extracting a file to the root directory.
- Issue #2245: aifc now skips chunk types it doesn't recognize, per spec.
- Issue #4305: ctypes should now build again on mipsel-linux-gnu
- Issue #5853: calling a function of the mimetypes module from several threads
at once could hit the recursion limit if the mimetypes database hadn't been
initialized before.
- Issue #5041: ctypes does now allow pickling wide character.
- Issue #5768: Fixed bug in Unicode output logic and test case for same.
- Issue #1161031: fix readwrite select flag handling: POLLPRI now
results in a handle_expt_event call, not handle_read_event, and POLLERR
and POLLNVAL now call handle_close, not handle_expt_event. Also,
dispatcher now has an 'ignore_log_types' attribute for suppressing
log messages, which is set to 'warning' by default.
- Issue #5828 (Invalid behavior of unicode.lower): Fixed bogus logic in
makeunicodedata.py and regenerated the Unicode database (This fixes
u'\u1d79'.lower() == '\x00').
- Issue #1202: zipfile module would cause a DeprecationWarning when storing
files with a CRC32 > 2**31-1.
- Issue #6163: Fixed HP-UX runtime library dir options in
distutils.unixcompiler. Initial patch by Sridhar Ratnakumar and
Michael Haubenwallner.
- Issue #4660: If a multiprocessing.JoinableQueue.put() was preempted, it was
possible to get a spurious 'task_done() called too many times' error.
- Issue #6595: The Decimal constructor now allows arbitrary Unicode
decimal digits in input, as recommended by the standard. Previously
it was restricted to accepting [0-9].
- Issue #6553: Fixed a crash in cPickle.load(), when given a file-like object
containing incomplete data.
- Issue #2622: Fixed an ImportError when importing email.messsage from a
standalone application built with py2exe or py2app.
- Issue #6455: Fixed test_build_ext under win32.
- Issue #6403: Fixed package path usage in build_ext.
- Issue #6287: Added the license field in Distutils documentation.
- Issue #6263: Fixed syntax error in distutils.cygwincompiler.
- Issue #5201: distutils.sysconfig.parse_makefile() now understands `$$`
in Makefiles. This prevents compile errors when using syntax like:
`LDFLAGS='-rpath=\$$LIB:/some/other/path'`. Patch by Floris Bruynooghe.
- Issue #6062: In distutils, fixed the package option of build_ext. Feedback
and tests on pywin32 by Tim Golden.
- Issue #1309567: Fix linecache behavior of stripping subdirectories when
looking for files given by a relative filename.
- Issue #6046: Fixed the library extension when distutils build_ext is used
inplace. Initial patch by Roumen Petrov.
- Issue #6022: a test file was created in the current working directory by
test_get_outputs in Distutils.
- Issue #5977: distutils build_ext.get_outputs was not taking into account the
inplace option. Initial patch by kxroberto.
- Issue #5984: distutils.command.build_ext.check_extensions_list checks were
broken for old-style extensions.
- Issue #5854: Updated __all__ to include some missing names and remove some
names which should not be exported.
- Issue #5810: Fixed Distutils test_build_scripts so it uses
sysconfig.get_config_vars.
- Issue #6865: Fix reference counting issue in the initialization of the pwd
module.
Extension Modules
-----------------
- Issue #6944: Fix a SystemError when socket.getnameinfo() was called
with something other than a tuple as first argument.
- Issue #6848: Fix curses module build failure on OS X 10.6.
- Fix expat to not segfault with specially crafted input.
- Issue #4873: Fix resource leaks in error cases of pwd and grp.
Build
-----
- Issue #6980: Fix ctypes build failure on armel-linux-gnueabi with
-mfloat-abi=softfp.
- Issue #6802: Fix build issues on MacOSX 10.6
- Issue 5390: Add uninstall icon independent of whether file
extensions are installed.
- Issue #6094: Build correctly with Subversion 1.7.
- Issue #5726: Make Modules/ld_so_aix return the actual exit code of the
linker, rather than always exit successfully. Patch by Floris Bruynooghe.
- Issue 5809: Specifying both --enable-framework and --enable-shared is
an error. Configure now explicity tells you about this.
Documentation
-------------
- Issue #6556: Fixed the Distutils configuration files location explanation
for Windows.
- Issue #6801 : symmetric_difference_update also accepts |.
Thanks to Carl Chenet.
Tests
-----
- Issue #5837: Certain sequences of calls to set() and unset() for
support.EnvironmentVarGuard objects restored the environment variables
incorrectly on __exit__.
* not "_sqlite", but "_sqlite3", fixes PR#42070.
* "bsddb" does not exists. (I can find it in Python21, not in Python23)
* "cjkcodecs" should not be disabled.
It is expected to exists in all Python variants and py-cjkcodecs was removed.
Although, the module name is "_multibytecodec" and "_codecs_*".
and missing "," after it kill subsecuent "gdbm".
* "mpz" was removed in Python24.
earlier, but there became no-ops due to my change to db4/bl3 and thus
didn't do harm. Now that part of that change was backed out they became
harmful again and thus need to go.
on Linux one can't build some extensions against an old Python (with
spurious -ldb4 linkage) anymore
also sync the bl3 files of the non-default versions with python25
for consistency
Compiles, installs, and runs on NetBSD-5.99.10/amd64; no further
tests done. Please test and fix on your platform!
What's new in Python-2.6:
The major theme of Python 2.6 is preparing the migration path to
Python 3.0, a major redesign of the language. Whenever possible,
Python 2.6 incorporates new features and syntax from 3.0 while
remaining compatible with existing code by not removing older
features or syntax. When it tries to do what it can, adding
compatibility functions in a future_builtins module and a -3 switch
to warn about usages that will become unsupported in 3.0.
Some significant new packages have been added to the standard
library, such as the multiprocessing and json modules, but there
aren way.
Python 2.6 also sees a number of improvements and bugfixes throughout
the source. A search through the change logs finds there were 259
patches applied and 612 bugs fixed between Python 2.5 and 2.6. Both
figures are likely to be underestimates.
More details at
http://docs.python.org/whatsnew/2.6.html