@@ -3537,7 +3537,7 @@ \chapter{New in Release 1.3}
35373537language and library.
35383538
35393539
3540- \section {New Keyword Arguments }
3540+ \section {Keyword Arguments }
35413541
35423542Functions and methods written in Python can now be called using
35433543keyword arguments of the form \code {\var {keyword} = \var {value}}. For
@@ -3639,9 +3639,73 @@ \section{New Keyword Arguments}
36393639\item
36403640The format of \code {.pyc} files has changed (again).
36413641
3642+ \item
3643+ The \code {access} statement has been disabled. The syntax is still
3644+ recognized but no code is generated for it. (There were some
3645+ unpleasant interactions with changes for keyword arguments, and my
3646+ plan is to get rid of \code {access} altogether in favor of a different
3647+ approach.)
3648+
3649+ \end {itemize }
3650+
3651+ \section {Changes to the WWW and Internet tools }
3652+
3653+ \begin {itemize }
3654+
3655+ \item
3656+ The \code {htmllib} module has been rewritten in an incompatible
3657+ fashion. The new version is considerably more complete (HTML 2.0
3658+ except forms, but including all ISO-8859-1 entity definitions), and
3659+ easy to use. Small changes to \code {sgmllib} have also been made, to
3660+ better match the tokenization of HTML as recognized by other web
3661+ tools.
3662+
3663+ \item
3664+ A new module \code {formatter} has been added, for use with the new
3665+ \code {htmllib} module.
3666+
3667+ \item
3668+ The \code {urllib}and \code {httplib} modules have been changed somewhat
3669+ to allow overriding unknown URL types and to support authentication.
3670+ They now use \code {mimetools.Message} instead of \code {rfc822.Message}
3671+ to parse headers. The \code {endrequest()} method has been removed
3672+ from the HTTP class since it breaks the interaction with some servers.
3673+
3674+ \item
3675+ The \code {rfc822.Message} class has been changed to allow a flag to be
3676+ passed in that says that the file is unseekable.
3677+
3678+ \item
3679+ The \code {ftplib} module has been fixed to be (hopefully) more robust
3680+ on Linux.
3681+
3682+ \item
3683+ Several new operations that are optionally supported by servers have
3684+ been added to \code {nntplib}: \code {xover}, \code {xgtitle},
3685+ \code {xpath} and \code {date}. % thanks to Kevan Heydon
3686+
36423687\end {itemize }
36433688
3644- \section {Minor Changes }
3689+ \section {Other Language Changes }
3690+
3691+ \begin {itemize }
3692+
3693+ \item
3694+ The \code {raise} statement now takes an optional argument which
3695+ specifies the traceback to be used when printing the exception's stack
3696+ trace. This must be a traceback object, such as found in
3697+ \code {sys.exc_traceback}. When omitted or given as \code {None}, the
3698+ old behavior (to generate a stack trace entry for the current stack
3699+ frame) is used.
3700+
3701+ \item
3702+ The tokenizer is now more tolerant of alien whitespace. Control-L in
3703+ the leading whitespace of a line resets the column number to zero,
3704+ while Control-R just before the end of the line is ignored.
3705+
3706+ \end {itemize }
3707+
3708+ \section {Changes to Built-in Operations }
36453709
36463710\begin {itemize }
36473711
@@ -3671,37 +3735,71 @@ \section{Minor Changes}
36713735without an argument, and a module's global variables when called with
36723736an argument of type module.)
36733737
3738+ \item
3739+ The built-in function \code {compile()} now takes a third possible
3740+ value for the kind of code to be compiled: specifying \code {'single'}
3741+ generates code for a single interactive statement, which prints the
3742+ output of expression statements that evaluate to something else than
3743+ \code {None}.
3744+
3745+ \end {itemize }
3746+
3747+ \section {Library Changes }
3748+
3749+ \begin {itemize }
3750+
3751+ \item
3752+ The \code {string.split()} and \code {string.splitfields()} functions
3753+ are now the same function (the presence or absence of the second
3754+ argument determines which operation is invoked); similar for
3755+ \code {string.join()} and \code {string.joinfields()}.
3756+
3757+ \item
3758+ The \code {Tkinter} module and its helper \code {Dialog} have been
3759+ revamped to use keyword arguments. Tk 4.0 is now the standard. A new
3760+ module \code {FileDialog} has been added which implements standard file
3761+ selection dialogs.
3762+
36743763\item
36753764The optional built-in modules \code {dbm} and \code {gdbm} are more
36763765coordinated --- their \code {open()} functions now take the same values
36773766for their \var {flag} argument, and the \var {flag} and \var {mode}
36783767argument have default values (to open the database for reading only,
36793768and to create the database with mode \code {0666} minuse the umask,
3680- respectively).
3769+ respectively). The memory leaks have finally been fixed.
36813770
36823771\item
3683- A new dbm-like module, \code {dbhash }, has been added, which uses the
3684- BSD DB package's hash method.
3772+ A new dbm-like module, \code {bsddb }, has been added, which uses the
3773+ BSD DB package's hash method. % thanks to David Ely
36853774
36863775\item
3687- The \code {raise} statement now takes an optional argument which
3688- specifies the traceback to be used when printing the exception's stack
3689- trace. This must be a traceback object, such as found in
3690- \code {sys.exc_traceback}. When omitted or given as \code {None}, the
3691- old behavior (to generate a stack trace entry for the current stack
3692- frame) is used.
3776+ A portable (though slow) dbm-clone, implemented in Python, has been
3777+ added for systems where none of the above is provided. It is aptly
3778+ dubbed \code {dumbdbm}.
36933779
36943780\item
3695- The built-in function \code {compile()} now takes a third possible
3696- value for the kind of code to be compiled: specifying \code {'single'}
3697- generates code for a single interactive statement, which prints the
3698- output of expression statements that evaluate to something else than
3699- \code {None}.
3781+ The module \code {anydbm} provides a unified interface to \code {bsddb},
3782+ \code {gdbm}, \code {dbm}, and \code {dumbdbm}, choosing the first one
3783+ available.
37003784
37013785\item
3702- The tokenizer is now more tolerant of alien whitespace. Control-L in
3703- the leading whitespace of a line resets the column number to zero,
3704- while Control-R just before the end of the line is ignored.
3786+ A new extension module, \code {binascii}, provides a variety of
3787+ operations for conversion of text-encoded binary data.
3788+
3789+ \item
3790+ There are three new or rewritten companion modules implemented in
3791+ Python that can encode and decode the most common such formats:
3792+ \code {uu} (uuencode), \code {base64} and \code {binhex}.
3793+
3794+ \item
3795+ A module to handle the MIME encoding quoted-printable has also been
3796+ added: \code {quopri}.
3797+
3798+ \end {itemize }
3799+
3800+ \section {Other Changes }
3801+
3802+ \begin {itemize }
37053803
37063804\item
37073805The dynamic module loader recognizes the fact that different filenames
@@ -3714,6 +3812,9 @@ \section{Minor Changes}
37143812the run-time API. For more detailes, read the files
37153813\code {Include/abstract.h} and \code {Objects/abstract.c}.
37163814
3815+ \item
3816+ The Macintosh version is much more robust now.
3817+
37173818\item
37183819Numerous things I have forgotten or that are so obscure no-one will
37193820notice them anyway :-)
0 commit comments