| ===================================== |
| ==> Release 1.4 (October 25 1996) <== |
| ===================================== |
| |
| (Starting in reverse chronological order:) |
| |
| - Changed disclaimer notice. |
| |
| - Added SHELL=/bin/sh to Misc/Makefile.pre.in -- some Make versions |
| default to the user's login shell. |
| |
| - In Lib/tkinter/Tkinter.py, removed bogus binding of <Delete> in Text |
| widget, and bogus bspace() function. |
| |
| - In Lib/cgi.py, bumped __version__ to 2.0 and restored a truncated |
| paragraph. |
| |
| - Fixed the NT Makefile (PC/vc40.mak) for VC 4.0 to set /MD for all |
| subprojects, and to remove the (broken) experimental NumPy |
| subprojects. |
| |
| - In Lib/py_compile.py, cast mtime to long() so it will work on Mac |
| (where os.stat() returns mtimes as floats.) |
| - Set self.rfile unbuffered (like self.wfile) in SocketServer.py, to |
| fix POST in CGIHTTPServer.py. |
| |
| - Version 2.83 of Misc/python-mode.el for Emacs is included. |
| |
| - In Modules/regexmodule.c, fixed symcomp() to correctly handle a new |
| group starting immediately after a group tag. |
| |
| - In Lib/SocketServer.py, changed the mode for rfile to unbuffered. |
| |
| - In Objects/stringobject.c, fixed the compare function to do the |
| first char comparison in unsigned mode, for consistency with the way |
| other characters are compared by memcmp(). |
| |
| - In Lib/tkinter/Tkinter.py, fixed Scale.get() to support floats. |
| |
| - In Lib/urllib.py, fix another case where openedurl wasn't set. |
| |
| (XXX Sorry, the rest is in totally random order. No time to fix it.) |
| |
| - 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. |