home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-10-24 | 27.2 KB | 733 lines | [TEXT/R*ch] |
- =====================================
- ==> Release 1.4 (October 25 1996) <==
- =====================================
-
- (XXX Sorry, this is in totally random order. I hope I can find the
- time to fix it.)
-
- - Changed copyright.
-
- - SyntaxError exceptions detected during code generation
- (e.g. assignment to an expression) now include a line number.
-
- - Don't leave trailing / or \ in script directory inserted in front of
- sys.path.
-
- - Added a note to Tools/scripts/classfix.py abouts its historical
- importance.
-
- - Added Misc/Makefile.pre.in, a universal Makefile for extensions
- built outside the distribution.
-
- - Rewritten Misc/faq2html.py, by Ka-Ping Yee.
-
- - Install shared modules with mode 555 (needed for performance on some
- platforms).
-
- - Some changes to standard library modules to avoid calling append()
- with more than one argument -- while supported, this should be
- outlawed, and I don't want to set a bad example.
-
- - bdb.py (and hence pdb.py) supports calling run() with a code object
- instead of a code string.
-
- - Fixed an embarrassing bug cgi.py which prevented correct uploading
- of binary files from Netscape (which doesn't distinguish between
- binary and text files). Also added dormant logging support, which
- makes it easier to debug the cgi module itself.
-
- - Added default writer to constructor of NullFormatter class.
-
- - Use binary mode for socket.makefile() calls in ftplib.py.
-
- - The ihooks module no longer "installs" itself upon import -- this
- was an experimental feature that helped ironing out some bugs but that
- slowed down code that imported it without the need to install it
- (e.g. the rexec module). Also close the file in some cases and add
- the __file__ attribute to loaded modules.
-
- - The test program for mailbox.py is now more useful.
-
- - Added getparamnames() to Message class in mimetools.py -- it returns
- the names of parameters to the content-type header.
-
- - Fixed a typo in ni that broke the loop stripping "__." from names.
-
- - Fix sys.path[0] for scripts run via pdb.py's new main program.
-
- - profile.py can now also run a script, like pdb.
-
- - Fix a small bug in pyclbr -- don't add names starting with _ when
- emulating from ... import *.
-
- - Fixed a series of embarrassing typos in rexec's handling of standard
- I/O redirection. Added some more "safe" built-in modules: cmath,
- errno, operator.
-
- - Fixed embarrassing typo in shelve.py.
-
- - Added SliceType and EllipsisType to types.py.
-
- - In urllib.py, added handling for error 301 (same as 302); added
- geturl() method to get the URL after redirection.
-
- - Fixed embarrassing typo in xdrlib.py. Also fixed typo in Setup.in
- for _xdrmodule.c and removed redundant #include from _xdrmodule.c.
-
- - Fixed bsddbmodule.c to add binary mode indicator on platforms that
- have it. This should make it working on Windows NT.
-
- - Changed last uses of #ifdef NT to #ifdef MS_WINDOWS or MS_WIN32,
- whatever applies. Also rationalized some other tests for various MS
- platforms.
-
- - Added the sources for the NT installer script used for Python
- 1.4beta3. Not tested with this release, but better than nothing.
-
- - A compromise in pickle's defenses against Trojan horses: a
- user-defined function is now okay where a class is expected. A
- built-in function is not okay, to prevent pickling something that
- will execute os.system("rm -f *") when unpickling.
-
- - dis.py will print the name of local variables referenced by local
- load/store/delete instructions.
-
- - Improved portability of SimpleHttpServer module to non-Unix
- platform.
-
- - The thread.h interface adds an extra argument to down_sema(). This
- only affects other C code that uses thread.c; the Python thread module
- doesn't use semaphores (which aren't provided on all platforms where
- Python threads are supported). Note: on NT, this change is not
- implemented.
-
- - Fixed some typos in abstract.h; corrected signature of
- PyNumber_Coerce, added PyMapping_DelItem. Also fixed a bug in
- abstract.c's PyObject_CallMethod().
-
- - apply(classname, (), {}) now works even if the class has no
- __init__() method.
-
- - Implemented complex remainder and divmod() (these would dump core!).
- Conversion of complex numbers to int, long int or float now raises an
- exception, since there is no meaningful way to do it without losing
- information.
-
- - Fixed bug in built-in complex() function which gave the wrong result
- for two real arguments.
-
- - Change the hash algorithm for strings -- the multiplier is now
- 1000003 instead of 3, which gives better spread for short strings.
-
- - New default path for Windows NT, the registry structure now supports
- default paths for different install packages. (Mark Hammond -- the
- next PythonWin release will use this.)
-
- - Added more symbols to the python_nt.def file.
-
- - When using GNU readline, set rl_readline_name to "python".
-
- - The Ellipses built-in name has been renamed to Ellipsis -- this is
- the correct singular form. Thanks to Ka-Ping Yee, who saved us from
- eternal embarrassment.
-
- - Bumped the PYTHON_API_VERSION to 1006, due to the Ellipses ->
- Ellipsis name change.
-
- - Updated the library reference manual. Added documentation of
- restricted mode (rexec, Bastion) and the formatter module (for use
- with the htmllib module). Fixed the documentation of htmllib
- (finally).
-
- - The reference manual is now maintained in FrameMaker.
-
- - Upgraded scripts Doc/partparse.py and Doc/texi2html.py.
-
- - Slight improvements to Doc/Makefile.
-
- - Added fcntl.lockf(). This should be used for Unix file locking
- instead of the posixfile module; lockf() is more portable.
-
- - The getopt module now supports long option names, thanks to Lars
- Wizenius.
-
- - Plenty of changes to Tkinter and Canvas, mostly due to Fred Drake
- and Nils Fischbeck.
-
- - Use more bits of time.time() in whrandom's default seed().
-
- - Performance hack for regex module's regs attribute.
-
- - Don't close already closed socket in socket module.
-
- - Correctly handle separators containing embedded nulls in
- strop.split, strop.find and strop.rfind. Also added more detail to
- error message for strop.atoi and friends.
-
- - Moved fallback definition for hypot() to Python/hypot.c.
-
- - Added fallback definition for strdup, in Python/strdup.c.
-
- - Fixed some bugs where a function would return 0 to indicate an error
- where it should return -1.
-
- - Test for error returned by time.localtime(), and rationalized its MS
- tests.
-
- - Added Modules/Setup.local file, which is processed after Setup.
-
- - Corrected bug in toplevel Makefile.in -- execution of regen script
- would not use the right PATH and PYTHONPATH.
-
- - Various and sundry NeXT configuration changes (sigh).
-
- - Support systems where libreadline needs neither termcap nor curses.
-
- - Improved ld_so_aix script and python.exp file (for AIX).
-
- - More stringent test for working <stdarg.h> in configure script.
-
- - Removed Demo/www subdirectory -- it was totally out of date.
-
- - Improved demos and docs for Fred Drake's parser module; fixed one
- typo in the module itself.
-
-
- =========================================
- ==> Release 1.4beta3 (August 26 1996) <==
- =========================================
-
-
- (XXX This is less readable that it should. I promise to restructure
- it for the final 1.4 release.)
-
-
- What's new in 1.4beta3 (since beta2)?
- -------------------------------------
-
- - Name mangling to implement a simple form of class-private variables.
- A name of the form "__spam" can't easily be used outside the class.
- (This was added in 1.4beta3, but left out of the 1.4beta3 release
- message.)
-
- - In urllib.urlopen(): HTTP URLs containing user:passwd@host are now
- handled correctly when using a proxy server.
-
- - In ntpath.normpath(): don't truncate to 8+3 format.
-
- - In mimetools.choose_boundary(): don't die when getuid() or getpid()
- aren't defined.
-
- - Module urllib: some optimizations to (un)quoting.
-
- - New module MimeWriter for writing MIME documents.
-
- - More changes to formatter module.
-
- - The freeze script works once again and is much more robust (using
- sys.prefix etc.). It also supports a -o option to specify an
- output directory.
-
- - New module whichdb recognizes dbm, gdbm and bsddb/dbhash files.
-
- - The Doc/Makefile targets have been reorganized somewhat to remove the
- insistence on always generating PostScript.
-
- - The texinfo to html filter (Doc/texi2html.py) has been improved somewhat.
-
- - "errors.h" has been renamed to "pyerrors.h" to resolve a long-standing
- name conflict on the Mac.
-
- - Linking a module compiled with a different setting for Py_TRACE_REFS now
- generates a linker error rather than a core dump.
-
- - The cgi module has a new convenience function print_exception(), which
- formats a python exception using HTML. It also fixes a bug in the
- compatibility code and adds a dubious feature which makes it possible to
- have two query strings, one in the URL and one in the POST data.
-
- - A subtle change in the unpickling of class instances makes it possible
- to unpickle in restricted execution mode, where the __dict__ attribute is
- not available (but setattr() is).
-
- - Documentation for os.path.splitext() (== posixpath.splitext()) has been
- cleared up. It splits at the *last* dot.
-
- - posixfile locking is now also correctly supported on AIX.
-
- - The tempfile module once again honors an initial setting of tmpdir. It
- now works on Windows, too.
-
- - The traceback module has some new functions to extract, format and print
- the active stack.
-
- - Some translation functions in the urllib module have been made a little
- less sluggish.
-
- - The addtag_* methods for Canvas widgets in Tkinter as well as in the
- separate Canvas class have been fixed so they actually do something
- meaningful.
-
- - A tiny _test() function has been added to Tkinter.py.
-
- - A generic Makefile for dynamically loaded modules is provided in the Misc
- subdirectory (Misc/gMakefile).
-
- - A new version of python-mode.el for Emacs is provided. See
- http://www.python.org/ftp/emacs/pmdetails.html for details. The
- separate file pyimenu.el is no longer needed, imenu support is folded
- into python-mode.el.
-
- - The configure script can finally correctly find the readline library in a
- non-standard location. The LDFLAGS variable is passed on the the Makefiles
- from the configure script.
-
- - Shared libraries are now installed as programs (i.e. with executable
- permission). This is required on HP-UX and won't hurt on other systems.
-
- - The objc.c module is no longer part of the distribution. Objective-C
- support may become available as contributed software on the ftp site.
-
- - The sybase module is no longer part of the distribution. A much
- improved sybase module is available as contributed software from the
- ftp site.
-
- - _tkinter is now compatible with Tcl 7.5 / Tk 4.1 patch1 on Windows and
- Mac (don't use unpatched Tcl/Tk!). The default line in the Setup.in file
- now links with Tcl 7.5 / Tk 4.1 rather than 7.4/4.0.
-
- - In Setup, you can now write "*shared*" instead of "*noconfig*", and you
- can use *.so and *.sl as shared libraries.
-
- - Some more fidgeting for AIX shared libraries.
-
- - The mpz module is now compatible with GMP 2.x. (Not tested by me.)
- (Note -- a complete replacement by Niels Mo"ller, called gpmodule, is
- available from the contrib directory on the ftp site.)
-
- - A warning is written to sys.stderr when a __del__ method raises an
- exception (formerly, such exceptions were completely ignored).
-
- - The configure script now defines HAVE_OLD_CPP if the C preprocessor is
- incapable of ANSI style token concatenation and stringification.
-
- - All source files (except a few platform specific modules) are once again
- compatible with K&R C compilers as well as ANSI compilers. In particular,
- ANSI-isms have been removed or made conditional in complexobject.c,
- getargs.c and operator.c.
-
- - The abstract object API has three new functions, PyObject_DelItem,
- PySequence_DelItem, and PySequence_DelSlice.
-
- - The operator module has new functions delitem and delslice, and the
- functions "or" and "and" are renamed to "or_" and "and_" (since "or" and
- "and" are reserved words). ("__or__" and "__and__" are unchanged.)
-
- - The environment module is no longer supported; putenv() is now a function
- in posixmodule (also under NT).
-
- - Error in filter(<function>, "") has been fixed.
-
- - Unrecognized keyword arguments raise TypeError, not KeyError.
-
- - Better portability, fewer bugs and memory leaks, fewer compiler warnings,
- some more documentation.
-
- - Bug in float power boundary case (0.0 to the negative integer power)
- fixed.
-
- - The test of negative number to the float power has been moved from the
- built-in pow() functin to floatobject.c (so complex numbers can yield the
- correct result).
-
- - The bug introduced in beta2 where shared libraries loaded (using
- dlopen()) from the current directory would fail, has been fixed.
-
- - Modules imported as shared libraries now also have a __file__ attribute,
- giving the filename from which they were loaded. The only modules without
- a __file__ attribute now are built-in modules.
-
- - On the Mac, dynamically loaded modules can end in either ".slb" or
- ".<platform>.slb" where <platform> is either "CFM68K" or "ppc". The ".slb"
- extension should only be used for "fat" binaries.
-
- - C API addition: marshal.c now supports
- PyMarshal_WriteObjectToString(object).
-
- - C API addition: getargs.c now supports
- PyArg_ParseTupleAndKeywords(args, kwdict, format, kwnames, ...)
- to parse keyword arguments.
-
- - The PC versioning scheme (sys.winver) has changed once again. the
- version number is now "<digit>.<digit>.<digit>.<apiversion>", where the
- first three <digit>s are the Python version (e.g. "1.4.0" for Python 1.4,
- "1.4.1" for Python 1.4.1 -- the beta level is not included) and
- <apiversion> is the four-digit PYTHON_API_VERSION (currently 1005).
-
- - h2py.py accepts whitespace before the # in CPP directives
-
- - On Solaris 2.5, it should now be possible to use either Posix threads or
- Solaris threads (XXX: how do you select which is used???). (Note: the
- Python pthreads interface doesn't fully support semaphores yet -- anyone
- care to fix this?)
-
- - Thread support should now work on AIX, using either DCE threads or
- pthreads.
-
- - New file Demo/sockets/unicast.py
-
- - Working Mac port, with CFM68K support, with Tk 4.1 support (though not
- both) (XXX)
-
- - New project setup for PC port, now compatible with PythonWin, with
- _tkinter and NumPy support (XXX)
-
- - New module site.py (XXX)
-
- - New module xdrlib.py and optional support module _xdrmodule.c (XXX)
-
- - parser module adapted to new grammar, complete w/ Doc & Demo (XXX)
-
- - regen script fixed (XXX)
-
- - new machdep subdirectories Lib/{aix3,aix4,next3_3,freebsd2,linux2} (XXX)
-
- - testall now also tests math module (XXX)
-
- - string.atoi c.s. now raise an exception for an empty input string.
-
- - At last, it is no longer necessary to define HAVE_CONFIG_H in order to
- have config.h included at various places.
-
- - Unrecognized keyword arguments now raise TypeError rather than KeyError.
-
- - The makesetup script recognizes files with extension .so or .sl as
- (shared) libraries.
-
- - 'access' is no longer a reserved word, and all code related to its
- implementation is gone (or at least #ifdef'ed out). This should make
- Python a little speedier too!
-
- - Performance enhancements suggested by Sjoerd Mullender. This includes
- the introduction of two new optional function pointers in type object,
- getattro and setattro, which are like getattr and setattr but take a
- string object instead of a C string pointer.
-
- - New operations in string module: lstrip(s) and rstrip(s) strip whitespace
- only on the left or only on the right, A new optional third argument to
- split() specifies the maximum number of separators honored (so
- splitfields(s, sep, n) returns a list of at most n+1 elements). (Since
- 1.3, splitfields(s, None) is totally equivalent to split(s).)
- string.capwords() has an optional second argument specifying the
- separator (which is passed to split()).
-
- - regsub.split() has the same addition as string.split(). regsub.splitx(s,
- sep, maxsep) implements the functionality that was regsub.split(s, 1) in
- 1.4beta2 (return a list containing the delimiters as well as the words).
-
- - Final touch for AIX loading, rewritten Misc/AIX-NOTES.
-
- - In Modules/_tkinter.c, when using Tk 4.1 or higher, use className
- argument to _tkinter.create() to set Tcl's argv0 variable, so X
- resources use the right resource class again.
-
- - Add #undef fabs to Modules/mathmodule.c for macintosh.
-
- - Added some macro renames for AIX in Modules/operator.c.
-
- - Removed spurious 'E' from Doc/liberrno.tex.
-
- - Got rid of some cruft in Misc/ (dlMakefile, pyimenu.el); added new
- Misc/gMakefile and new version of Misc/python-mode.el.
-
- - Fixed typo in Lib/ntpath.py (islink has "return false" which gives a
- NameError).
-
- - Added missing "from types import *" to Lib/tkinter/Canvas.py.
-
- - Added hint about using default args for __init__ to pickle docs.
-
- - Corrected typo in Inclide/abstract.h: PySequence_Lenth ->
- PySequence_Length.
-
- - Some improvements to Doc/texi2html.py.
-
- - In Python/import.c, Cast unsigned char * in struct _frozen to char *
- in calls to rds_object().
-
- - In doc/ref4.tex, added note about scope of lambda bodies.
-
- What's new in 1.4beta2 (since beta1)?
- -------------------------------------
-
- - Portability bug in the md5.h header solved.
-
- - The PC build procedure now really works, and sets sys.platform to a
- meaningful value (a few things were botched in beta 1). Lib/dos_8x3
- is now a standard part of the distribution (alas).
-
- - More improvements to the installation procedure. Typing "make install"
- now inserts the version number in the pathnames of almost everything
- installed, and creates the machine dependent modules (FCNTL.py etc.) if not
- supplied by the distribution. (XXX There's still a problem with the latter
- because the "regen" script requires that Python is installed. Some manual
- intervention may still be required.) (This has been fixed in 1.4beta3.)
-
- - New modules: errno, operator (XXX).
-
- - Changes for use with Numerical Python: builtin function slice() and
- Ellipses object, and corresponding syntax:
-
- x[lo:hi:stride] == x[slice(lo, hi, stride)]
- x[a, ..., z] == x[(a, Ellipses, z)]
-
- - New documentation for errno and cgi mdoules.
-
- - The directory containing the script passed to the interpreter is
- inserted in from of sys.path; "." is no longer a default path
- component.
-
- - Optional third string argument to string.translate() specifies
- characters to delete. New function string.maketrans() creates a
- translation table for translate() or for regex.compile().
-
- - Module posix (and hence module os under Unix) now supports putenv().
- Moreover, module os is enhanced so that if putenv() is supported,
- assignments to os.environ entries make the appropriate putenv() call.
- (XXX the putenv() implementation can leak a small amount of memory per
- call.)
-
- - pdb.py can now be invoked from the command line to debug a script:
- python pdb.py <script> <arg> ...
-
- - Much improved parseaddr() in rfc822.
-
- - In cgi.py, you can now pass an alternative value for environ to
- nearly all functions.
-
- - You can now assign to instance variables whose name begins and ends
- with '__'.
-
- - New version of Fred Drake's parser module and associates (token,
- symbol, AST).
-
- - New PYTHON_API_VERSION value and .pyc file magic number (again!).
-
- - The "complex" internal structure type is now called "Py_complex" to
- avoid name conflicts.
-
- - Numerous small bugs fixed.
-
- - Slight pickle speedups.
-
- - Some slight speedups suggested by Sjoerd (more coming in 1.4 final).
-
- - NeXT portability mods by Bill Bumgarner integrated.
-
- - Modules regexmodule.c, bsddbmodule.c and xxmodule.c have been
- converted to new naming style.
-
-
- What's new in 1.4beta1 (since 1.3)?
- -----------------------------------
-
- - Added sys.platform and sys.exec_platform for Bill Janssen.
-
- - Installation has been completely overhauled. "make install" now installs
- everything, not just the python binary. Installation uses the install-sh
- script (borrowed from X11) to install each file.
-
- - New functions in the posix module: mkfifo, plock, remove (== unlink),
- and ftruncate. More functions are also available under NT.
-
- - New function in the fcntl module: flock.
-
- - Shared library support for FreeBSD.
-
- - The --with-readline option can now be used without a DIRECTORY argument,
- for systems where libreadline.* is in one of the standard places. It is
- also possible for it to be a shared library.
-
- - The extension tkinter has been renamed to _tkinter, to avoid confusion
- with Tkinter.py oncase insensitive file systems. It now supports Tk 4.1 as
- well as 4.0.
-
- - Author's change of address from CWI in Amsterdam, The Netherlands, to
- CNRI in Reston, VA, USA.
-
- - The math.hypot() function is now always available (if it isn't found in
- the C math library, Python provides its own implementation).
-
- - The latex documentation is now compatible with latex2e, thanks to David
- Ascher.
-
- - The expression x**y is now equivalent to pow(x, y).
-
- - The indexing expression x[a, b, c] is now equivalent to x[(a, b, c)].
-
- - Complex numbers are now supported. Imaginary constants are written with
- a 'j' or 'J' prefix, general complex numbers can be formed by adding a real
- part to an imaginary part, like 3+4j. Complex numbers are always stored in
- floating point form, so this is equivalent to 3.0+4.0j. It is also
- possible to create complex numbers with the new built-in function
- complex(re, [im]). For the footprint-conscious, complex number support can
- be disabled by defining the symbol WITHOUT_COMPLEX.
-
- - New built-in function list() is the long-awaited counterpart of tuple().
-
- - There's a new "cmath" module which provides the same functions as the
- "math" library but with complex arguments and results. (There are very
- good reasons why math.sqrt(-1) still raises an exception -- you have to use
- cmath.sqrt(-1) to get 1j for an answer.)
-
- - The Python.h header file (which is really the same as allobjects.h except
- it disables support for old style names) now includes several more files,
- so you have to have fewer #include statements in the average extension.
-
- - The NDEBUG symbol is no longer used. Code that used to be dependent on
- the presence of NDEBUG is now present on the absence of DEBUG. TRACE_REFS
- and REF_DEBUG have been renamed to Py_TRACE_REFS and Py_REF_DEBUG,
- respectively. At long last, the source actually compiles and links without
- errors when this symbol is defined.
-
- - Several symbols that didn't follow the new naming scheme have been
- renamed (usually by adding to rename2.h) to use a Py or _Py prefix. There
- are no external symbols left without a Py or _Py prefix, not even those
- defined by sources that were incorporated from elsewhere (regexpr.c,
- md5c.c). (Macros are a different story...)
-
- - There are now typedefs for the structures defined in config.c and
- frozen.c.
-
- - New PYTHON_API_VERSION value and .pyc file magic number.
-
- - New module Bastion. (XXX)
-
- - Improved performance of StringIO module.
-
- - UserList module now supports + and * operators.
-
- - The binhex and binascii modules now actually work.
-
- - The cgi module has been almost totally rewritten and documented.
- It now supports file upload and a new data type to handle forms more
- flexibly.
-
- - The formatter module (for use with htmllib) has been overhauled (again).
-
- - The ftplib module now supports passive mode and has doc strings.
-
- - In (ideally) all places where binary files are read or written, the file
- is now correctly opened in binary mode ('rb' or 'wb') so the code will work
- on Mac or PC.
-
- - Dummy versions of os.path.expandvars() and expanduser() are now provided
- on non-Unix platforms.
-
- - Module urllib now has two new functions url2pathname and pathname2url
- which turn local filenames into "file:..." URLs using the same rules as
- Netscape (why be different). it also supports urlretrieve() with a
- pathname parameter, and honors the proxy environment variables (http_proxy
- etc.). The URL parsing has been improved somewhat, too.
-
- - Micro improvements to urlparse. Added urlparse.urldefrag() which
- removes a trailing ``#fragment'' if any.
-
- - The mailbox module now supports MH style message delimiters as well.
-
- - The mhlib module contains some new functionality: setcontext() to set the
- current folder and parsesequence() to parse a sequence as commonly passed
- to MH commands (e.g. 1-10 or last:5).
-
- - New module mimify for conversion to and from MIME format of email
- messages.
-
- - Module ni now automatically installs itself when first imported -- this
- is against the normal rule that modules should define classes and functions
- but not invoke them, but appears more useful in the case that two
- different, independent modules want to use ni's features.
-
- - Some small performance enhancements in module pickle.
-
- - Small interface change to the profile.run*() family of functions -- more
- sensible handling of return values.
-
- - The officially registered Mac creator for Python files is 'Pyth'. This
- replaces 'PYTH' which was used before but never registered.
-
- - Added regsub.capwords(). (XXX)
-
- - Added string.capwords(), string.capitalize() and string.translate().
- (XXX)
-
- - Fixed an interface bug in the rexec module: it was impossible to pass a
- hooks instance to the RExec class. rexec now also supports the dynamic
- loading of modules from shared libraries. Some other interfaces have been
- added too.
-
- - Module rfc822 now caches the headers in a dictionary for more efficient
- lookup.
-
- - The sgmllib module now understands a limited number of SGML "shorthands"
- like <A/.../ for <A>...</A>. (It's not clear that this was a good idea...)
-
- - The tempfile module actually tries a number of different places to find a
- usable temporary directory. (This was prompted by certain Linux
- installations that appear to be missing a /usr/tmp directory.) [A bug in
- the implementation that would ignore a pre-existing tmpdir global has been
- fixed in beta3.]
-
- - Much improved and enhanved FileDialog module for Tkinter.
-
- - Many small changes to Tkinter, to bring it more in line with Tk 4.0 (as
- well as Tk 4.1).
-
- - New socket interfaces include ntohs(), ntohl(), htons(), htonl(), and
- s.dup(). Sockets now work correctly on Windows. On Windows, the built-in
- extension is called _socket and a wrapper module win/socket.py provides
- "makefile()" and "dup()" functionality. On Windows, the select module
- works only with socket objects.
-
- - Bugs in bsddb module fixed (e.g. missing default argument values).
-
- - The curses extension now includes <ncurses.h> when available.
-
- - The gdbm module now supports opening databases in "fast" mode by
- specifying 'f' as the second character or the mode string.
-
- - new variables sys.prefix and sys.exec_prefix pass corresponding
- configuration options / Makefile variables to the Python programmer.
-
- - The ``new'' module now supports creating new user-defined classes as well
- as instances thereof.
-
- - The soundex module now sports get_soundex() to get the soundex value for an
- arbitrary string (formerly it would only do soundex-based string
- comparison) as well as doc strings.
-
- - New object type "cobject" to safely wrap void pointers for passing them
- between various extension modules.
-
- - More efficient computation of float**smallint.
-
- - The mysterious bug whereby "x.x" (two occurrences of the same
- one-character name) typed from the commandline would sometimes fail
- mysteriously.
-
- - The initialization of the readline function can now be invoked by a C
- extension through PyOS_ReadlineInit().
-
- - There's now an externally visible pointer PyImport_FrozenModules which
- can be changed by an embedding application.
-
- - The argument parsing functions now support a new format character 'D' to
- specify complex numbers.
-
- - Various memory leaks plugged and bugs fixed.
-
- - Improved support for posix threads (now that real implementations are
- beginning to apepar). Still no fully functioning semaphores.
-
- - Some various and sundry improvements and new entries in the Tools
- directory.
-