"We're happy to announce the release of Python 2.3.4 (final) on May 27th, 2004. This is a bug-fix release for Python 2.3 that fixes a number of bugs, including a couple of weakref bugs and a bug in pickle version 2. There are also a number of fixes to the standard library, and some build fixes - see the release notes for details.
Python 2.3.4 supersedes the previous Python 2.3.3 release.
No new features have been added in Python 2.3.4. The 2.3 series is now in bugfix-only mode."
From the release notes:
"What's New in Python 2.3.4 (final)?
Release date: 27-May-2004
What's New in Python 2.3.4rc1?
Release date: 13-May-2004
Core and builtins
* Bug #858016: isinstance() and issubclass() can have their second argument be a tuple whose nested depth is capped at the interpreter's recursion limit. Raises RuntimeError if the limit reached.
* Made omitted callback and None equivalent for weakref.ref() and weakref.proxy(); the None case wasn't handled correctly in all cases.
* Fixed problem where PyWeakref_NewRef() and PyWeakref_NewProxy() assumed that initial existing entries in an object's weakref list would not be removed while allocating a new weakref object. Since GC could be invoked at that time, however, that assumption was invalid. In a truly obscure case of GC being triggered during creation for a new weakref object for an referent which already has a weakref without a callback which is only referenced from cyclic trash, a memory error can occur. This consistently created a segfault in a debug build, but provided less predictable behavior in a release build.
* Fixed a bug in object.__reduce_ex__ when using protocol 2. Failure to clear the error when attempts to get the __getstate__ attribute fail caused intermittent errors and odd behavior.
* fixed: if a file is opened with an explicit buffer size >= 1, repeated close() calls would attempt to free() the buffer already free()ed on the first call.
Bug #876278: Unbounded recursion in modulefinder
Brought platform.py in line with the 2.4 version, fixing support for newer Windows versions and a cache issue.
Bug #950057: itertools.chain() and itertools.cycle() now handle
exceptions immediately instead of waiting until the input source is updated.
Bug #931848: Fix _sre.CODESIZE on 64-bit machines in UCS-4 mode.
Bug #938076: Consider output encoding in XMLGenerator.
Bug #936637: Properly delegate startElementNS in saxutils.XMLFilterBase.
Bug #944082: Empty passwords in urllib2 are now supported.
Bug #926075: Fixed a bug that returns a wrong pattern object for a string or unicode object in sre.compile() when a different type pattern with the same value exists.
Bug #924361: Properly support normalization of empty unicode strings.
Fixed a caching bug in platform.platform() where the argument of 'terse' was not taken into consideration when caching value.
Bug #920575: A problem that _locale module segfaults on nl_langinfo(ERA) caused by GNU libc's illegal NULL return is fixed.
Bug #883604: Fix Lib/test/test_strftime.py to escape characters from locale time values that might be mistaken as regex syntax.
Bug #700055: .pth files can now have any type of line endings.
Patch 817379: Allow absolute ftp paths in urllib2.
Patch 711838: Support non-anonymous ftp URLs in urllib2.
* The Windows installer now includes tix, the Tk Interface eXtension, a powerful set of user interface components that expands the capabilities of your Tcl/Tk and Python applications.
* Bug #929689: Don't define _XOPEN_SOURCE on UnixWare 7.1.4."