blob: 7df75dbb140b5a31efe1df3bb37c442a5fd07218 [file] [log] [blame]
Guido van Rossum5e639d41995-10-11 18:03:13 +00001=====================================
2==> Release 1.3 (13 October 1995) <==
3=====================================
Guido van Rossum635649f1994-11-10 23:04:51 +00004
Guido van Rossum5e639d41995-10-11 18:03:13 +00005Major change
6============
Guido van Rossum635649f1994-11-10 23:04:51 +00007
Guido van Rossum5e639d41995-10-11 18:03:13 +00008Two words: Keyword Arguments. See the first section of Chapter 12 of
9the Tutorial.
Guido van Rossum635649f1994-11-10 23:04:51 +000010
Guido van Rossum5e639d41995-10-11 18:03:13 +000011(The rest of this file is textually the same as the remaining sections
12of that chapter.)
Guido van Rossum0082c1a1995-04-10 11:52:44 +000013
Guido van Rossum635649f1994-11-10 23:04:51 +000014
Guido van Rossum5e639d41995-10-11 18:03:13 +000015Changes to the WWW and Internet tools
16=====================================
Guido van Rossum061f1821994-10-06 16:03:45 +000017
Guido van Rossum5e639d41995-10-11 18:03:13 +000018The "htmllib" module has been rewritten in an incompatible fashion.
19The new version is considerably more complete (HTML 2.0 except forms,
20but including all ISO-8859-1 entity definitions), and easy to use.
21Small changes to "sgmllib" have also been made, to better match the
22tokenization of HTML as recognized by other web tools.
Guido van Rossum061f1821994-10-06 16:03:45 +000023
Guido van Rossum5e639d41995-10-11 18:03:13 +000024A new module "formatter" has been added, for use with the new
25"htmllib" module.
Guido van Rossum061f1821994-10-06 16:03:45 +000026
Guido van Rossum5e639d41995-10-11 18:03:13 +000027The "urllib"and "httplib" modules have been changed somewhat to allow
28overriding unknown URL types and to support authentication. They now
29use "mimetools.Message" instead of "rfc822.Message" to parse headers.
30The "endrequest()" method has been removed from the HTTP class since
31it breaks the interaction with some servers.
Guido van Rossumac5a4e31994-10-11 15:04:57 +000032
Guido van Rossum5e639d41995-10-11 18:03:13 +000033The "rfc822.Message" class has been changed to allow a flag to be
34passed in that says that the file is unseekable.
Guido van Rossum061f1821994-10-06 16:03:45 +000035
Guido van Rossum5e639d41995-10-11 18:03:13 +000036The "ftplib" module has been fixed to be (hopefully) more robust on
37Linux.
Guido van Rossum061f1821994-10-06 16:03:45 +000038
Guido van Rossum5e639d41995-10-11 18:03:13 +000039Several new operations that are optionally supported by servers have
40been added to "nntplib": "xover", "xgtitle", "xpath" and "date".
Guido van Rossum061f1821994-10-06 16:03:45 +000041
Guido van Rossum5e639d41995-10-11 18:03:13 +000042Other Language Changes
43======================
Guido van Rossum061f1821994-10-06 16:03:45 +000044
Guido van Rossum5e639d41995-10-11 18:03:13 +000045The "raise" statement now takes an optional argument which specifies
46the traceback to be used when printing the exception's stack trace.
47This must be a traceback object, such as found in "sys.exc_traceback".
48When omitted or given as "None", the old behavior (to generate a stack
49trace entry for the current stack frame) is used.
Guido van Rossum0082c1a1995-04-10 11:52:44 +000050
Guido van Rossum5e639d41995-10-11 18:03:13 +000051The tokenizer is now more tolerant of alien whitespace. Control-L in
52the leading whitespace of a line resets the column number to zero,
53while Control-R just before the end of the line is ignored.
Guido van Rossum0082c1a1995-04-10 11:52:44 +000054
Guido van Rossum5e639d41995-10-11 18:03:13 +000055Changes to Built-in Operations
56==============================
Guido van Rossum0082c1a1995-04-10 11:52:44 +000057
Guido van Rossum5e639d41995-10-11 18:03:13 +000058For file objects, "f.read(0)" and "f.readline(0)" now return an empty
59string rather than reading an unlimited number of bytes. For the
60latter, omit the argument altogether or pass a negative value.
Guido van Rossum061f1821994-10-06 16:03:45 +000061
Guido van Rossum5e639d41995-10-11 18:03:13 +000062A new system variable, "sys.platform", has been added. It specifies
63the current platform, e.g. "sunos5" or "linux1".
Guido van Rossum061f1821994-10-06 16:03:45 +000064
Guido van Rossum5e639d41995-10-11 18:03:13 +000065The built-in functions "input()" and "raw_input()" now use the GNU
66readline library when it has been configured (formerly, only
67interactive input to the interpreter itself was read using GNU
68readline). The GNU readline library provides elaborate line editing
69and history. The Python debugger ("pdb") is the first beneficiary of
70this change.
Guido van Rossum04cba5b1995-03-09 14:44:51 +000071
Guido van Rossum5e639d41995-10-11 18:03:13 +000072Two new built-in functions, "globals()" and "locals()", provide access
73to dictionaries containming current global and local variables,
74respectively. (These augment rather than replace "vars()", which
75returns the current local variables when called without an argument,
76and a module's global variables when called with an argument of type
77module.)
Guido van Rossum04cba5b1995-03-09 14:44:51 +000078
Guido van Rossum5e639d41995-10-11 18:03:13 +000079The built-in function "compile()" now takes a third possible value for
80the kind of code to be compiled: specifying "'single'" generates code
81for a single interactive statement, which prints the output of
82expression statements that evaluate to something else than "None".
Guido van Rossum04cba5b1995-03-09 14:44:51 +000083
Guido van Rossum5e639d41995-10-11 18:03:13 +000084Library Changes
85===============
Guido van Rossum04cba5b1995-03-09 14:44:51 +000086
Guido van Rossum5e639d41995-10-11 18:03:13 +000087There are new module "ni" and "ihooks" that support importing modules
88with hierarchical names such as "A.B.C". This is enabled by writing
89"import ni; ni.ni()" at the very top of the main program. These
90modules are amply documented in the Python source.
Guido van Rossum04cba5b1995-03-09 14:44:51 +000091
Guido van Rossum5e639d41995-10-11 18:03:13 +000092The module "rexec" has been rewritten (incompatibly) to define a class
93and to use "ihooks".
Guido van Rossum04cba5b1995-03-09 14:44:51 +000094
Guido van Rossum5e639d41995-10-11 18:03:13 +000095The "string.split()" and "string.splitfields()" functions are now the
96same function (the presence or absence of the second argument
97determines which operation is invoked); similar for "string.join()"
98and "string.joinfields()".
Guido van Rossum04cba5b1995-03-09 14:44:51 +000099
Guido van Rossum5e639d41995-10-11 18:03:13 +0000100The "Tkinter" module and its helper "Dialog" have been revamped to use
101keyword arguments. Tk 4.0 is now the standard. A new module
102"FileDialog" has been added which implements standard file selection
103dialogs.
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000104
Guido van Rossum5e639d41995-10-11 18:03:13 +0000105The optional built-in modules "dbm" and "gdbm" are more coordinated
106--- their "open()" functions now take the same values for their "flag"
107argument, and the "flag" and "mode" argument have default values (to
108open the database for reading only, and to create the database with
109mode "0666" minuse the umask, respectively). The memory leaks have
110finally been fixed.
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000111
Guido van Rossum5e639d41995-10-11 18:03:13 +0000112A new dbm-like module, "bsddb", has been added, which uses the BSD DB
113package's hash method.
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000114
Guido van Rossum5e639d41995-10-11 18:03:13 +0000115A portable (though slow) dbm-clone, implemented in Python, has been
116added for systems where none of the above is provided. It is aptly
117dubbed "dumbdbm".
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000118
Guido van Rossum5e639d41995-10-11 18:03:13 +0000119The module "anydbm" provides a unified interface to "bsddb", "gdbm",
120"dbm", and "dumbdbm", choosing the first one available.
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000121
Guido van Rossum5e639d41995-10-11 18:03:13 +0000122A new extension module, "binascii", provides a variety of operations
123for conversion of text-encoded binary data.
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000124
Guido van Rossum5e639d41995-10-11 18:03:13 +0000125There are three new or rewritten companion modules implemented in
126Python that can encode and decode the most common such formats: "uu"
127(uuencode), "base64" and "binhex".
Guido van Rossum04cba5b1995-03-09 14:44:51 +0000128
Guido van Rossum5e639d41995-10-11 18:03:13 +0000129A module to handle the MIME encoding quoted-printable has also been
130added: "quopri".
131
132The parser module (which provides an interface to the Python parser's
133abstract syntax trees) has been rewritten (incompatibly) by Fred
134Drake. It now lets you change the parse tree and compile the result!
135
Guido van Rossumbf032a91995-10-11 19:28:39 +0000136The \code{syslog} module has been upgraded and documented.
137
Guido van Rossum5e639d41995-10-11 18:03:13 +0000138Other Changes
139=============
140
141The dynamic module loader recognizes the fact that different filenames
142point to the same shared library and loads the library only once, so
143you can have a single shared library that defines multiple modules.
144(SunOS / SVR4 style shared libraries only.)
145
146Jim Fulton's ``abstract object interface'' has been incorporated into
147the run-time API. For more detailes, read the files
148"Include/abstract.h" and "Objects/abstract.c".
149
150The Macintosh version is much more robust now.
151
152Numerous things I have forgotten or that are so obscure no-one will
153notice them anyway :-)