@@ -4,51 +4,25 @@ This is Python release 1.5 beta 1
44What's new in this release?
55---------------------------
66
7- Too much has changed to list it all here. There's a loooong list of
8- changes since release 1.4 in the file Misc/NEWS. If you were an alpha
9- tester, the list of changes since 1.5a4 is presented at the end of
10- that file.
11-
12- Most relevant changes since 1.5a4 (of course all known bugs have been
13- fixed, leaks plugged, and documentation has been added):
14-
15- - Package directories now *require* the presence of __init__.py.
16- Packages can now contain shared libraries.
17-
18- - New module 'fileinput' to iterate over the lines of a list of files.
19-
20- - New module 'locale' for localized number formatting and string case
21- sensitivity.
22-
23- - New module 'xmllib' to parse XML files.
24-
25- - Some more support for Tk extensions (PIL, TIX, BLT, TOGL).
26-
27- - Fixed address list parsing in module 'rfc822'.
28-
29- - More deployment (and only one fix) for the 're' module.
30-
31- - New Python mode for Emacs.
32-
33- - OS/2 support.
34-
35- Other important changes, if this is the first release you see since
36- 1.4:
7+ There's a loooong list of changes since release 1.4 in the file
8+ Misc/NEWS. Some highlights:
379
3810 - It's much faster (almost twice for the Lib/test/pystone.py
3911 benchmark.)
4012
41- - There's an assert statement: assert <condition> or
42- assert <condition>, <errormessage>. It raises AssertionError if the
43- condition evaluates to false.
13+ - There is now an assert statement: ``assert <condition>'' or
14+ ``assert <condition>, <errormessage>''. It raises AssertionError if
15+ the condition evaluates to false. The default error message is
16+ empty; the source text of the assertion statement is printed as part
17+ of the traceback.
4418
4519 - There is now built-in support for importing hierarchical module
4620 names (e.g. "import spam.ham.eggs"); ni is declared obsolete. Note
4721 that the built-in package support is somewhat simpler (no __ and
48- __domain__) and differs in one crucial aspect: __init__.py is loaded
49- in the package's namespace instead of as a submodule. See
50- http://grail.cnri.reston.va.us/python/essays/packages.html
51- for more info .
22+ __domain__) and differs in one crucial aspect: __init__.py is
23+ required, and loaded in the package's namespace instead of as a
24+ submodule. For more information, see
25+ http://grail.cnri.reston.va.us/python/essays/packages.html .
5226
5327 - The new "re" module (Perl style regular expressions) is here. It
5428 is based on Philip Hazel's pcre code; the Python interfaces were put
@@ -63,26 +37,32 @@ Other important changes, if this is the first release you see since
6337 http://grail.cnri.reston.va.us/python/essays/stdexceptions.html
6438 for more info.
6539
66- - Comparisons can now raise exceptions.
40+ - Comparisons can now raise exceptions (previously, exceptions
41+ occuring during comparisons were swept under the rug).
6742
68- - New dictionary methods: .clear(), .update(), .copy(), .get().
43+ - New dictionary methods: .clear(), .copy(), .update(), .get(). The
44+ first two are obvious; d1.update(d2) is equivalent to the for loop
45+ ``for k in d2.keys(): d1[k] = d2[k]''; and d.get(k) returns d[k] if
46+ it exists and None (or the optional second argument) if not.
6947
70- - New regression test harness tests more.
48+ - There is a new regression test harness, which tests many more
49+ modules. (To run the tests, do "import tes.autotest".)
7150
72- - It's much smarter about the initial value for sys.path; you can
73- control it easier using $PYTHONHOME (see the usage message, e.g. try
74- ``python -h''). In most situations, the interpreter can be
75- installed at an arbitrary location without having to recompile.
51+ - The interpreter is much smarter about the initial value for
52+ sys.path; you can control it easier using $PYTHONHOME (see the usage
53+ message, e.g. try ``python -h''). In most situations, the
54+ interpreter can be installed at an arbitrary location without having
55+ to recompile.
7656
7757 - The build process now builds a single library (libpython1.5.a)
7858 which contains everything except for the main() entry point. This
7959 makes life much easier for applications that embed Python.
8060
81- - Much better support for embedding, including threads, multiple
82- interpreters(!), uninitialization, and access to the global
61+ - There is much better support for embedding, including threads,
62+ multiple interpreters(!), uninitialization, and access to the global
8363 interpreter lock.
8464
85- - There's a -O option that removes SET_LINENO instructions, assert
65+ - There is a -O option that removes SET_LINENO instructions, assert
8666 statements and code prefixed with ``if __debug__: ...''. (It still
8767 only makes a few percent difference, so don't get all worked up
8868 about this.)
@@ -91,6 +71,32 @@ Other important changes, if this is the first release you see since
9171 defined by Python now have a "Py" or "_Py" prefix, and the same is
9272 true for most macros and typedefs.
9373
74+ If you were an alpha tester, here are the most relevant changes since
75+ 1.5a4 (of course all known bugs have been fixed, leaks plugged, and
76+ some documentation has been added). The full list of changes since
77+ 1.5a4 is presented at the end of the Misc/NEWS file.
78+
79+ - Package directories now *require* the presence of __init__.py (or
80+ .pyc/.pyo as applicable). Packages can now contain shared
81+ library modules.
82+
83+ - New module 'fileinput' to iterate over the lines of a list of files.
84+
85+ - New module 'locale' for localized number formatting and string case
86+ sensitivity.
87+
88+ - New module 'xmllib' to parse XML files.
89+
90+ - Some more support for Tk extensions (PIL, TIX, BLT, TOGL).
91+
92+ - Fixed address list parsing in module 'rfc822'.
93+
94+ - More deployment (and only one fix) for the 're' module.
95+
96+ - New Python mode for Emacs.
97+
98+ - OS/2 support.
99+
94100
95101If you don't read instructions
96102------------------------------
0 commit comments