@@ -14,6 +14,238 @@ credit, let me know and I'll add you to the list!
1414======================================================================
1515
1616
17+ From 1.5.2b1 to 1.5.2b2
18+ =======================
19+
20+ General
21+ -------
22+
23+ - Many memory leaks fixed.
24+
25+ - Many small bugs fixed.
26+
27+ - Command line option -OO (or -O -O) suppresses inclusion of doc
28+ strings in resulting bytecode.
29+
30+ Windows-specific changes
31+ ------------------------
32+
33+ - New built-in module winsound provides an interface to the Win32
34+ PlaySound() call.
35+
36+ - Re-enable the audioop module in the config.c file.
37+
38+ - On Windows, support spawnv() and associated P_* symbols.
39+
40+ - Fixed the conversion of times() return values on Windows.
41+
42+ - Removed freeze from the installer -- it doesn't work without the
43+ source tree. (See FAQ 8.11.)
44+
45+ - On Windows 95/98, the Tkinter module now is smart enough to find
46+ Tcl/Tk even when the PATH environment variable hasn't been set -- when
47+ the import of _tkinter fails, it searches in a standard locations,
48+ patches os.environ["PATH"], and tries again. When it still fails, a
49+ clearer error message is produced. This should avoid most
50+ installation problems with Tkinter use (e.g. in IDLE).
51+
52+ - The -i option doesn't make any calls to set[v]buf() for stdin --
53+ this apparentlt screwed up _kbhit() and the _tkinter main loop.
54+
55+ - The ntpath module (and hence, os.path on Windows) now parses out UNC
56+ paths (e.g. \\host\mountpoint\dir\file) as "drive letters", so that
57+ splitdrive() will \\host\mountpoint as the drive and \dir\file as the
58+ path. ** EXPERIMENTAL **
59+
60+ - Added a hack to the exit code so that if (1) the exit status is
61+ nonzero and (2) we think we have our own DOS box (i.e. we're not
62+ started from a command line shell), we print a message and wait for
63+ the user to hit a key before the DOS box is closed.
64+
65+ - Updated the installer to WISE 5.0g. Added a dialog warning about
66+ the imminent Tcl installation. Added a dialog to specify the program
67+ group name in the start menu. Upgraded the Tcl installer to Tcl
68+ 8.0.4.
69+
70+ Changes to intrinsics
71+ ---------------------
72+
73+ - The repr() or str() of a module object now shows the __file__
74+ attribute (i.e., the file which it was loaded), or the string
75+ "(built-in)" if there is no __file__ attribute.
76+
77+ - The range() function now avoids overflow during its calculations (if
78+ at all possible).
79+
80+ - New info string sys.hexversion, which is an integer encoding the
81+ version in hexadecimal. In other words, hex(sys.hexversion) ==
82+ 0x010502b2 for Python 1.5.2b2.
83+
84+ New or improved ports
85+ ---------------------
86+
87+ - Support for Nextstep descendants (future Mac systems).
88+
89+ - Improved BeOS support.
90+
91+ - Support dynamic loading of shared libraries on NetBSD platforms that
92+ use ELF (i.e., MIPS and Alpha systems).
93+
94+ Configuration/build changes
95+ ---------------------------
96+
97+ - The Lib/test directory is no longer included in the default module
98+ search path (sys.path) -- "test" has been a package ever since 1.5.
99+
100+ - Now using autoconf 2.13.
101+
102+ New library modules
103+ -------------------
104+
105+ - New library modules asyncore and asynchat: these form Sam Rushing's
106+ famous asynchronous socket library. Sam has gracefully allowed me to
107+ incorporate these in the standard Python library.
108+
109+ - New module statvfs contains indexing constants for [f]statvfs()
110+ return tuple.
111+
112+ Changes to the library
113+ ----------------------
114+
115+ - The wave module (platform-independent support for Windows sound
116+ files) has been fixed to actually make it work.
117+
118+ - The sunau module (platform-independent support for Sun/NeXT sound
119+ files) has been fixed to work across platforms. Also, a weird
120+ encoding bug in the header of the audio test data file has been
121+ corrected.
122+
123+ - Fix a bug in the urllib module that occasionally tripped up
124+ webchecker and other ftp retrieves.
125+
126+ - ConfigParser's get() method now accepts an optional keyword argument
127+ (vars) that is substituted on top of the defaults that were setup in
128+ __init__. You can now also have recusive references in your
129+ configuration file.
130+
131+ - Some improvements to the Queue module, including a put_nowait()
132+ module and an optional "block" second argument, to get() and put(),
133+ defaulting to 1.
134+
135+ - The updated xmllib module is once again compatible with the version
136+ present in Python 1.5.1 (this was accidentally broken in 1.5.2b1).
137+
138+ - The bdb module (base class for the debugger) now supports
139+ canonicalizing pathnames used in breakpoints. The derived class must
140+ override the new canonical() method for this to work. Also changed
141+ clear_break() to the backwards compatible old signature, and added
142+ clear_bpbynumber() for the new functionality.
143+
144+ - In sgmllib (and hence htmllib), recognize attributes even if they
145+ don't have space in front of them. I.e. '<a
146+ name="foo"href="bar.html">' will now have two attributes recognized.
147+
148+ - In the debugger (pdb), change clear syntax to support three
149+ alternatives: clear; clear file:line; clear bpno bpno ...
150+
151+ - The os.path module now pretends to be a submodule within the os
152+ "package", so you can do things like "from os.path import exists".
153+
154+ - The standard exceptions now have doc strings.
155+
156+ - In the smtplib module, exceptions are now classes. Also avoid
157+ inserting a non-standard space after "TO" in rcpt() command.
158+
159+ - The rfc822 module's getaddrlist() method now uses all occurrences of
160+ the specified header instead of just the first. Some other bugfixes
161+ too (to handle more weird addresses found in a very large test set,
162+ and to avoid crashes on certain invalid dates), and a small test
163+ module has been added.
164+
165+ - Fixed bug in urlparse in the common-case code for HTTP URLs; it
166+ would lose the query, fragment, and/or parameter information.
167+
168+ - The sndhdr module no longer supports whatraw() -- it depended on a
169+ rare extenral program.
170+
171+ - The UserList module/class now supports the extend() method, like
172+ real list objects.
173+
174+ - The uu module now deals better with trailing garbage generated by
175+ some broke uuencoders.
176+
177+ - The telnet module now has an my_interact() method which uses threads
178+ instead of select. The interact() method uses this by default on
179+ Windows (where the single-threaded version doesn't work).
180+
181+ - Add a class to mailbox.py for dealing with qmail directory
182+ mailboxes. The test code was extended to notice these being used as
183+ well.
184+
185+ Changes to extension modules
186+ ----------------------------
187+
188+ - Support for the [f]statvfs() system call, where it exists.
189+
190+ - Fixed some bugs in cPickle where bad input could cause it to dump
191+ core.
192+
193+ - Fixed cStringIO to make the writelines() function actually work.
194+
195+ - Added strop.expandtabs() so string.expandtabs() is now much faster.
196+
197+ - Added fsync() and fdatasync(), if they appear to exist.
198+
199+ - Support for "long files" (64-bit seek pointers).
200+
201+ - Fixed a bug in the zlib module's flush() function.
202+
203+ - Added access() system call. It returns 1 if access granted, 0 if
204+ not.
205+
206+ - The curses module implements an optional nlines argument to
207+ w.scroll(). (It then calls wscrl(win, nlines) instead of scoll(win).)
208+
209+ Changes to tools
210+ ----------------
211+
212+ - Some changes to IDLE; see Tools/idle/NEWS.txt.
213+
214+ - Latest version of Misc/python-mode.el included.
215+
216+ Changes to Tkinter
217+ ------------------
218+
219+ - Avoid tracebacks when an image is deleted after its root has been
220+ destroyed.
221+
222+ Changes to the Python/C API
223+ ---------------------------
224+
225+ - When parentheses are used in a PyArg_Parse[Tuple]() call, any
226+ sequence is now accepted, instead of requiring a tuple. This is in
227+ line with the general trend towards accepting arbitrary sequences.
228+
229+ - Added PyModule_GetFilename().
230+
231+ - In PyNumber_Power(), remove unneeded and even harmful test for float
232+ to the negative power (which is already and better done in
233+ floatobject.c).
234+
235+ - New version identification symbols; read patchlevel.h for info. The
236+ version numbers are now exported by Python.h.
237+
238+ - Rolled back the API version change -- it's back to 1007!
239+
240+ - The frozenmain.c function calls PyInitFrozenExtensions().
241+
242+ - Added 'N' format character to Py_BuildValue -- like 'O' but doesn't
243+ INCREF.
244+
245+
246+ ======================================================================
247+
248+
17249From 1.5.2a2 to 1.5.2b1
18250=======================
19251
0 commit comments