Changes to Python's build process and to the C API include:
To upgrade an extension module to the new API, perform the following steps:
PyArg_ParseTuple(args, "")
instead, but this will be slower
than using METH_NOARGS.
PyObject_DelItem(mapping, PyString_New(key))
.
'__module__'
key; making the module name the part of the type
name leading up to the final period will no longer have the desired
effect. For more detail, read the API reference documentation or the
source.
Support for a port to IBM's OS/2 using the EMX runtime environment was merged into the main Python source tree. EMX is a POSIX emulation layer over the OS/2 system APIs. The Python port for EMX tries to support all the POSIX-like capability exposed by the EMX runtime, and mostly succeeds; fork() and fcntl() are restricted by the limitations of the underlying emulation layer. The standard OS/2 port, which uses IBM's Visual Age compiler, also gained support for case-sensitive import semantics as part of the integration of the EMX port into CVS. (Contributed by Andrew MacIntyre.)
On MacOS, most toolbox modules have been weaklinked to improve backward compatibility. This means that modules will no longer fail to load if a single routine is missing on the curent OS version. Instead calling the missing routine will raise an exception. (Contributed by Jack Jansen.)
The RPM spec files, found in the Misc/RPM/ directory in the Python source distribution, were updated for 2.3. (Contributed by Sean Reifschneider.)
Other new platforms now supported by Python include AtheOS (http://www.atheos.cx/), GNU/Hurd, and OpenVMS.
See About this document... for information on suggesting changes.