Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(11)

Side by Side Diff: Misc/HISTORY

Issue 15550: Trailing white spaces
Patch Set: Created 7 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Misc/gdbinit ('k') | Misc/Porting » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Python History 1 Python History
2 -------------- 2 --------------
3 3
4 This file contains the release messages for previous Python releases. 4 This file contains the release messages for previous Python releases.
5 As you read on you go back to the dark ages of Python's history. 5 As you read on you go back to the dark ages of Python's history.
6 (Note: news about 2.5c2 and later 2.5 releases is in the Misc/NEWS 6 (Note: news about 2.5c2 and later 2.5 releases is in the Misc/NEWS
7 file of the release25-maint branch.) 7 file of the release25-maint branch.)
8 8
9 9
10 ====================================================================== 10 ======================================================================
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 - Issue #4211: The __path__ attribute of frozen packages is now a list instead 152 - Issue #4211: The __path__ attribute of frozen packages is now a list instead
153 of a string as required by PEP 302. 153 of a string as required by PEP 302.
154 154
155 - Issue #3727: Fixed poplib. 155 - Issue #3727: Fixed poplib.
156 156
157 - Issue #3714: Fixed nntplib by using bytes where appropriate. 157 - Issue #3714: Fixed nntplib by using bytes where appropriate.
158 158
159 - Issue #1210: Fixed imaplib and its documentation. 159 - Issue #1210: Fixed imaplib and its documentation.
160 160
161 - Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()`` 161 - Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
162 method on file objects with closefd=False. The file descriptor is still 162 method on file objects with closefd=False. The file descriptor is still
163 kept open but the file object behaves like a closed file. The ``FileIO`` 163 kept open but the file object behaves like a closed file. The ``FileIO``
164 object also got a new readonly attribute ``closefd``. 164 object also got a new readonly attribute ``closefd``.
165 165
166 - Issue #3626: On cygwin, starting python with a non-existent script name 166 - Issue #3626: On cygwin, starting python with a non-existent script name
167 would not display anything if the file name is only 1 character long. 167 would not display anything if the file name is only 1 character long.
168 168
169 - Issue #4176: Fixed a crash when pickling an object which ``__reduce__`` 169 - Issue #4176: Fixed a crash when pickling an object which ``__reduce__``
170 method does not return iterators for the 4th and 5th items. 170 method does not return iterators for the 4th and 5th items.
171 171
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 the recursion limit checking code, due to bogus handling of recursion 295 the recursion limit checking code, due to bogus handling of recursion
296 limit when USE_STACKCHEK was enabled. 296 limit when USE_STACKCHEK was enabled.
297 297
298 - Issue 3639: The _warnings module could segfault the interpreter when 298 - Issue 3639: The _warnings module could segfault the interpreter when
299 unexpected types were passed in as arguments. 299 unexpected types were passed in as arguments.
300 300
301 - Issue #3712: The memoryview object had a reference leak and didn't support 301 - Issue #3712: The memoryview object had a reference leak and didn't support
302 cyclic garbage collection. 302 cyclic garbage collection.
303 303
304 - Issue #3668: Fix a memory leak with the "s*" argument parser in 304 - Issue #3668: Fix a memory leak with the "s*" argument parser in
305 PyArg_ParseTuple and friends, which occurred when the argument for "s*" 305 PyArg_ParseTuple and friends, which occurred when the argument for "s*"
306 was correctly parsed but parsing of subsequent arguments failed. 306 was correctly parsed but parsing of subsequent arguments failed.
307 307
308 - Issue #3611: An exception __context__ could be cleared in a complex pattern 308 - Issue #3611: An exception __context__ could be cleared in a complex pattern
309 involving a __del__ method re-raising an exception. 309 involving a __del__ method re-raising an exception.
310 310
311 - Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to 311 - Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
312 match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__ 312 match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__
313 mechanism. In the process, fix a bug where isinstance() and issubclass(), 313 mechanism. In the process, fix a bug where isinstance() and issubclass(),
314 when given a tuple of classes as second argument, were looking up 314 when given a tuple of classes as second argument, were looking up
315 __instancecheck__ / __subclasscheck__ on the tuple rather than on each 315 __instancecheck__ / __subclasscheck__ on the tuple rather than on each
316 type object. 316 type object.
317 317
318 - Issue #3663: Py_None was decref'd when printing SyntaxErrors. 318 - Issue #3663: Py_None was decref'd when printing SyntaxErrors.
319 319
320 - Issue #3651: Fix various memory leaks when using the buffer 320 - Issue #3651: Fix various memory leaks when using the buffer
321 interface, or when the "s#" code of PyArg_ParseTuple is given a 321 interface, or when the "s#" code of PyArg_ParseTuple is given a
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 will be deprecated in the future. 379 will be deprecated in the future.
380 380
381 - Issue #3719: platform.architecture() fails if there are spaces in the 381 - Issue #3719: platform.architecture() fails if there are spaces in the
382 path to the Python binary. 382 path to the Python binary.
383 383
384 - Issue 3602: As part of the merge of r66135, make the parameters on 384 - Issue 3602: As part of the merge of r66135, make the parameters on
385 warnings.catch_warnings() keyword-only. Also remove a DeprecationWarning. 385 warnings.catch_warnings() keyword-only. Also remove a DeprecationWarning.
386 386
387 - The deprecation warnings for the camelCase threading API names were removed. 387 - The deprecation warnings for the camelCase threading API names were removed.
388 388
389 - Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing 389 - Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing
390 SEM_VALUE_MAX. 390 SEM_VALUE_MAX.
391 391
392 Extension Modules 392 Extension Modules
393 ----------------- 393 -----------------
394 394
395 - Issue #3782: os.write() must not accept unicode strings. 395 - Issue #3782: os.write() must not accept unicode strings.
396 396
397 - Issue #2975: When compiling several extension modules with Visual Studio 2008 397 - Issue #2975: When compiling several extension modules with Visual Studio 2008
398 from the same python interpreter, some environment variables would grow 398 from the same python interpreter, some environment variables would grow
399 without limit. 399 without limit.
(...skipping 11692 matching lines...) Expand 10 before | Expand all | Expand 10 after
12092 version in hexadecimal. In other words, hex(sys.hexversion) == 12092 version in hexadecimal. In other words, hex(sys.hexversion) ==
12093 0x010502b2 for Python 1.5.2b2. 12093 0x010502b2 for Python 1.5.2b2.
12094 12094
12095 New or improved ports 12095 New or improved ports
12096 --------------------- 12096 ---------------------
12097 12097
12098 - Support for Nextstep descendants (future Mac systems). 12098 - Support for Nextstep descendants (future Mac systems).
12099 12099
12100 - Improved BeOS support. 12100 - Improved BeOS support.
12101 12101
12102 - Support dynamic loading of shared libraries on NetBSD platforms that 12102 - Support dynamic loading of shared libraries on NetBSD platforms that
12103 use ELF (i.e., MIPS and Alpha systems). 12103 use ELF (i.e., MIPS and Alpha systems).
12104 12104
12105 Configuration/build changes 12105 Configuration/build changes
12106 --------------------------- 12106 ---------------------------
12107 12107
12108 - The Lib/test directory is no longer included in the default module 12108 - The Lib/test directory is no longer included in the default module
12109 search path (sys.path) -- "test" has been a package ever since 1.5. 12109 search path (sys.path) -- "test" has been a package ever since 1.5.
12110 12110
12111 - Now using autoconf 2.13. 12111 - Now using autoconf 2.13.
12112 12112
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
12309 12309
12310 - netrc.py by Eric Raymond provides a parser for .netrc files. (The 12310 - netrc.py by Eric Raymond provides a parser for .netrc files. (The
12311 undocumented Netrc class in ftplib.py is now obsolete.) 12311 undocumented Netrc class in ftplib.py is now obsolete.)
12312 12312
12313 - codeop.py is a new module that contains the compile_command() 12313 - codeop.py is a new module that contains the compile_command()
12314 function that was previously in code.py. This is so that JPython can 12314 function that was previously in code.py. This is so that JPython can
12315 provide its own version of this function, while still sharing the 12315 provide its own version of this function, while still sharing the
12316 higher-level classes in code.py. 12316 higher-level classes in code.py.
12317 12317
12318 - turtle.py is a new module for simple turtle graphics. I'm still 12318 - turtle.py is a new module for simple turtle graphics. I'm still
12319 working on it; let me know if you use this to teach Python to children 12319 working on it; let me know if you use this to teach Python to children
12320 or other novices without prior programming experience. 12320 or other novices without prior programming experience.
12321 12321
12322 Obsoleted library modules 12322 Obsoleted library modules
12323 ------------------------- 12323 -------------------------
12324 12324
12325 - poly.py and zmod.py have been moved to Lib/lib-old to emphasize 12325 - poly.py and zmod.py have been moved to Lib/lib-old to emphasize
12326 their status of obsoleteness. They don't do a particularly good job 12326 their status of obsoleteness. They don't do a particularly good job
12327 and don't seem particularly relevant to the Python core. 12327 and don't seem particularly relevant to the Python core.
12328 12328
12329 New tools 12329 New tools
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
12441 - readline.c: Bernard Herzog pointed out that rl_parse_and_bind 12441 - readline.c: Bernard Herzog pointed out that rl_parse_and_bind
12442 modifies its argument string (bad function!), so we make a temporary 12442 modifies its argument string (bad function!), so we make a temporary
12443 copy. 12443 copy.
12444 12444
12445 - sunaudiodev.c: Barry Warsaw added more smarts to get the device and 12445 - sunaudiodev.c: Barry Warsaw added more smarts to get the device and
12446 control pseudo-device, per audio(7I). 12446 control pseudo-device, per audio(7I).
12447 12447
12448 Changes to tools 12448 Changes to tools
12449 ---------------- 12449 ----------------
12450 12450
12451 - New, improved version of Barry Warsaw's Misc/python-mode.el (editing 12451 - New, improved version of Barry Warsaw's Misc/python-mode.el (editing
12452 support for Emacs). 12452 support for Emacs).
12453 12453
12454 - tabnanny.py: added a -q ('quiet') option to tabnanny, which causes 12454 - tabnanny.py: added a -q ('quiet') option to tabnanny, which causes
12455 only the names of offending files to be printed. 12455 only the names of offending files to be printed.
12456 12456
12457 - freeze: when printing missing modules, also print the module they 12457 - freeze: when printing missing modules, also print the module they
12458 were imported from. 12458 were imported from.
12459 12459
12460 - untabify.py: patch by Detlef Lannert to implement -t option 12460 - untabify.py: patch by Detlef Lannert to implement -t option
12461 (set tab size). 12461 (set tab size).
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
12716 12716
12717 - Call LoadLibraryEx(..., ..., LOAD_WITH_ALTERED_SEARCH_PATH) to 12717 - Call LoadLibraryEx(..., ..., LOAD_WITH_ALTERED_SEARCH_PATH) to
12718 search for dependent dlls in the directory containing the .pyd. 12718 search for dependent dlls in the directory containing the .pyd.
12719 12719
12720 - In debugging mode, call DebugBreak() in Py_FatalError(). 12720 - In debugging mode, call DebugBreak() in Py_FatalError().
12721 12721
12722 Windows Installer 12722 Windows Installer
12723 ----------------- 12723 -----------------
12724 12724
12725 - Install zlib.dll in the DLLs directory instead of in the win32 12725 - Install zlib.dll in the DLLs directory instead of in the win32
12726 system directory, to avoid conflicts with other applications that have 12726 system directory, to avoid conflicts with other applications that have
12727 their own zlib.dll. 12727 their own zlib.dll.
12728 12728
12729 Test Suite 12729 Test Suite
12730 ---------- 12730 ----------
12731 12731
12732 - test_long.py: new test for long integers, by Tim Peters. 12732 - test_long.py: new test for long integers, by Tim Peters.
12733 12733
12734 - regrtest.py: improved so it can be used for other test suites as 12734 - regrtest.py: improved so it can be used for other test suites as
12735 well. 12735 well.
12736 12736
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
12796 General 12796 General
12797 ------- 12797 -------
12798 12798
12799 - When searching for the library, a landmark that is a compiled module 12799 - When searching for the library, a landmark that is a compiled module
12800 (string.pyc or string.pyo) is also accepted. 12800 (string.pyc or string.pyo) is also accepted.
12801 12801
12802 - When following symbolic links to the python executable, use a loop 12802 - When following symbolic links to the python executable, use a loop
12803 so that a symlink to a symlink can work. 12803 so that a symlink to a symlink can work.
12804 12804
12805 - Added a hack so that when you type 'quit' or 'exit' at the 12805 - Added a hack so that when you type 'quit' or 'exit' at the
12806 interpreter, you get a friendly explanation of how to press Ctrl-D (or 12806 interpreter, you get a friendly explanation of how to press Ctrl-D (or
12807 Ctrl-Z) to exit. 12807 Ctrl-Z) to exit.
12808 12808
12809 - New and improved Misc/python-mode.el (Python mode for Emacs). 12809 - New and improved Misc/python-mode.el (Python mode for Emacs).
12810 12810
12811 - Revert a new feature in Unix dynamic loading: for one or two 12811 - Revert a new feature in Unix dynamic loading: for one or two
12812 revisions, modules were loaded using the RTLD_GLOBAL flag. It turned 12812 revisions, modules were loaded using the RTLD_GLOBAL flag. It turned
12813 out to be a bad idea. 12813 out to be a bad idea.
12814 12814
12815 Miscellaneous fixed bugs 12815 Miscellaneous fixed bugs
12816 ------------------------ 12816 ------------------------
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
12969 12969
12970 Miscellaneous services 12970 Miscellaneous services
12971 ---------------------- 12971 ----------------------
12972 12972
12973 - In whrandom.py, added new method and function randrange(), same as 12973 - In whrandom.py, added new method and function randrange(), same as
12974 choice(range(start, stop, step)) but faster. This addresses the 12974 choice(range(start, stop, step)) but faster. This addresses the
12975 problem that randint() was accidentally defined as taking an inclusive 12975 problem that randint() was accidentally defined as taking an inclusive
12976 range. Also, randint(a, b) is now redefined as randrange(a, b+1), 12976 range. Also, randint(a, b) is now redefined as randrange(a, b+1),
12977 adding extra range and type checking to its arguments! 12977 adding extra range and type checking to its arguments!
12978 12978
12979 - Add some semi-thread-safety to random.gauss() (it used to be able to 12979 - Add some semi-thread-safety to random.gauss() (it used to be able to
12980 crash when invoked from separate threads; now the worst it can do is 12980 crash when invoked from separate threads; now the worst it can do is
12981 give a duplicate result occasionally). 12981 give a duplicate result occasionally).
12982 12982
12983 - Some restructuring and generalization done to cmd.py. 12983 - Some restructuring and generalization done to cmd.py.
12984 12984
12985 - Major upgrade to ConfigParser.py; converted to using 're', added new 12985 - Major upgrade to ConfigParser.py; converted to using 're', added new
12986 exceptions, support underscore in section header and option name. No 12986 exceptions, support underscore in section header and option name. No
12987 longer add 'name' option to every section; instead, add '__name__'. 12987 longer add 'name' option to every section; instead, add '__name__'.
12988 12988
12989 - In getpass.py, don't use raw_input() to ask for the password -- we 12989 - In getpass.py, don't use raw_input() to ask for the password -- we
12990 don't want it to show up in the readline history! Also don't catch 12990 don't want it to show up in the readline history! Also don't catch
12991 interrupts (the try-finally already does all necessary cleanup). 12991 interrupts (the try-finally already does all necessary cleanup).
12992 12992
12993 Generic OS Services 12993 Generic OS Services
12994 ------------------- 12994 -------------------
12995 12995
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
13172 13172
13173 - In the msvcrt extension module, release the interpreter lock for 13173 - In the msvcrt extension module, release the interpreter lock for
13174 calls that may block: _locking(), _getch(), _getche(). Also fix a 13174 calls that may block: _locking(), _getch(), _getche(). Also fix a
13175 bogus error return when open_osfhandle() doesn't have the right 13175 bogus error return when open_osfhandle() doesn't have the right
13176 argument list. 13176 argument list.
13177 13177
13178 Windows Installer 13178 Windows Installer
13179 ----------------- 13179 -----------------
13180 13180
13181 - The registry key used is now "1.5" instead of "1.5.x" -- so future 13181 - The registry key used is now "1.5" instead of "1.5.x" -- so future
13182 versions of 1.5 and Mark Hammond's win32all installer don't need to be 13182 versions of 1.5 and Mark Hammond's win32all installer don't need to be
13183 resynchronized. 13183 resynchronized.
13184 13184
13185 Windows Tools 13185 Windows Tools
13186 ------------- 13186 -------------
13187 13187
13188 - Several improvements to freeze specifically for Windows. 13188 - Several improvements to freeze specifically for Windows.
13189 13189
13190 Windows Build Procedure 13190 Windows Build Procedure
13191 ----------------------- 13191 -----------------------
13192 13192
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
13239 13239
13240 - New macro PyList_SET_ITEM(). 13240 - New macro PyList_SET_ITEM().
13241 13241
13242 - New macros to access object members for PyFunction, PyCFunction 13242 - New macros to access object members for PyFunction, PyCFunction
13243 objects. 13243 objects.
13244 13244
13245 - New APIs PyImport_AppendInittab() an PyImport_ExtendInittab() to 13245 - New APIs PyImport_AppendInittab() an PyImport_ExtendInittab() to
13246 dynamically add one or many entries to the table of built-in modules. 13246 dynamically add one or many entries to the table of built-in modules.
13247 13247
13248 - New macro Py_InitModule3(name, methods, doc) which calls 13248 - New macro Py_InitModule3(name, methods, doc) which calls
13249 Py_InitModule4() with appropriate arguments. (The -4 variant requires 13249 Py_InitModule4() with appropriate arguments. (The -4 variant requires
13250 you to pass an obscure version number constant which is always the same.) 13250 you to pass an obscure version number constant which is always the same.)
13251 13251
13252 - New APIs PySys_WriteStdout() and PySys_WriteStderr() to write to 13252 - New APIs PySys_WriteStdout() and PySys_WriteStderr() to write to
13253 sys.stdout or sys.stderr using a printf-like interface. (Used in 13253 sys.stdout or sys.stderr using a printf-like interface. (Used in
13254 _tkinter.c, for example.) 13254 _tkinter.c, for example.)
13255 13255
13256 - New APIs for conversion between Python longs and C 'long long' if 13256 - New APIs for conversion between Python longs and C 'long long' if
13257 your compiler supports it. 13257 your compiler supports it.
13258 13258
13259 - PySequence_In() is now called PySequence_Contains(). 13259 - PySequence_In() is now called PySequence_Contains().
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
13311 - No longer a core dump when attempting to print (or repr(), or str()) 13311 - No longer a core dump when attempting to print (or repr(), or str())
13312 a list or dictionary that contains an instance of itself; instead, the 13312 a list or dictionary that contains an instance of itself; instead, the
13313 recursive entry is printed as [...] or {...}. See Py_ReprEnter() and 13313 recursive entry is printed as [...] or {...}. See Py_ReprEnter() and
13314 Py_ReprLeave() below. Comparisons of such objects still go beserk, 13314 Py_ReprLeave() below. Comparisons of such objects still go beserk,
13315 since this requires a different kind of fix; fortunately, this is a 13315 since this requires a different kind of fix; fortunately, this is a
13316 less common scenario in practice. 13316 less common scenario in practice.
13317 13317
13318 Syntax change 13318 Syntax change
13319 ------------- 13319 -------------
13320 13320
13321 - The raise statement can now be used without arguments, to re-raise 13321 - The raise statement can now be used without arguments, to re-raise
13322 a previously set exception. This should be used after catching an 13322 a previously set exception. This should be used after catching an
13323 exception with an except clause only, either in the except clause or 13323 exception with an except clause only, either in the except clause or
13324 later in the same function. 13324 later in the same function.
13325 13325
13326 Import and module handling 13326 Import and module handling
13327 -------------------------- 13327 --------------------------
13328 13328
13329 - The implementation of import has changed to use a mutex (when 13329 - The implementation of import has changed to use a mutex (when
13330 threading is supported). This means that when two threads 13330 threading is supported). This means that when two threads
13331 simultaneously import the same module, the import statements are 13331 simultaneously import the same module, the import statements are
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
13370 13370
13371 - There are two new tools in Tools/scripts: tabnanny.py and 13371 - There are two new tools in Tools/scripts: tabnanny.py and
13372 tabpolice.py, implementing two different ways of checking whether a 13372 tabpolice.py, implementing two different ways of checking whether a
13373 file uses indentation in a way that is sensitive to the interpretation 13373 file uses indentation in a way that is sensitive to the interpretation
13374 of a tab. The preferred module is tabnanny.py (by Tim Peters). 13374 of a tab. The preferred module is tabnanny.py (by Tim Peters).
13375 13375
13376 - Some new demo programs: 13376 - Some new demo programs:
13377 13377
13378 Demo/tkinter/guido/paint.py -- Dave Mitchell 13378 Demo/tkinter/guido/paint.py -- Dave Mitchell
13379 Demo/sockets/unixserver.py -- Piet van Oostrum 13379 Demo/sockets/unixserver.py -- Piet van Oostrum
13380 » 13380
13381 13381
13382 - Much better freeze support. The freeze script can now freeze 13382 - Much better freeze support. The freeze script can now freeze
13383 hierarchical module names (with a corresponding change to import.c), 13383 hierarchical module names (with a corresponding change to import.c),
13384 and has a few extra options (e.g. to suppress freezing specific 13384 and has a few extra options (e.g. to suppress freezing specific
13385 modules). It also does much more on Windows NT. 13385 modules). It also does much more on Windows NT.
13386 13386
13387 - Version 1.0 of the faq wizard is included (only very small changes 13387 - Version 1.0 of the faq wizard is included (only very small changes
13388 since version 0.9.0). 13388 since version 0.9.0).
13389 13389
13390 - New feature for the ftpmirror script: when removing local files 13390 - New feature for the ftpmirror script: when removing local files
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
13509 13509
13510 - The normpath() function in the dospath and ntpath modules no longer 13510 - The normpath() function in the dospath and ntpath modules no longer
13511 does case normalization -- for that, use the separate function 13511 does case normalization -- for that, use the separate function
13512 normcase() (which always existed); normcase() has been sped up and 13512 normcase() (which always existed); normcase() has been sped up and
13513 fixed (it was the cause of a crash in Mark Hammond's installer in 13513 fixed (it was the cause of a crash in Mark Hammond's installer in
13514 certain locales). 13514 certain locales).
13515 13515
13516 - New command supported by the ftplib module: rmd(); also fixed some 13516 - New command supported by the ftplib module: rmd(); also fixed some
13517 minor bugs. 13517 minor bugs.
13518 13518
13519 - The profile module now uses a different timer function by default -- 13519 - The profile module now uses a different timer function by default --
13520 time.clock() is generally better than os.times(). This makes it work 13520 time.clock() is generally better than os.times(). This makes it work
13521 better on Windows NT, too. 13521 better on Windows NT, too.
13522 13522
13523 - The tempfile module now recovers when os.getcwd() raises an 13523 - The tempfile module now recovers when os.getcwd() raises an
13524 exception. 13524 exception.
13525 13525
13526 - Fixed some bugs in the random module; gauss() was subtly wrong, and 13526 - Fixed some bugs in the random module; gauss() was subtly wrong, and
13527 vonmisesvariate() should return a full circle. Courtesy Mike Miller, 13527 vonmisesvariate() should return a full circle. Courtesy Mike Miller,
13528 Lambert Meertens (gauss()), and Magnus Kessler (vonmisesvariate()). 13528 Lambert Meertens (gauss()), and Magnus Kessler (vonmisesvariate()).
13529 13529
(...skipping 18 matching lines...) Expand all
13548 error messages). 13548 error messages).
13549 13549
13550 - Some performance tweaks by Jeremy Hylton to the gzip module. 13550 - Some performance tweaks by Jeremy Hylton to the gzip module.
13551 13551
13552 - Fixed a bug in the merge order of dictionaries in the ConfigParser 13552 - Fixed a bug in the merge order of dictionaries in the ConfigParser
13553 module. Courtesy Barry Warsaw. 13553 module. Courtesy Barry Warsaw.
13554 13554
13555 - In the multifile module, support the optional second parameter to 13555 - In the multifile module, support the optional second parameter to
13556 seek() when possible. 13556 seek() when possible.
13557 13557
13558 - Several fixes to the gopherlib module by Lars Marius Garshol. Also, 13558 - Several fixes to the gopherlib module by Lars Marius Garshol. Also,
13559 urlparse now correctly handles Gopher URLs with query strings. 13559 urlparse now correctly handles Gopher URLs with query strings.
13560 13560
13561 - Fixed a tiny bug in format_exception() in the traceback module. 13561 - Fixed a tiny bug in format_exception() in the traceback module.
13562 Also rewrite tb_lineno() to be compatible with JPython (and not 13562 Also rewrite tb_lineno() to be compatible with JPython (and not
13563 disturb the current exception!); by Jim Hugunin. 13563 disturb the current exception!); by Jim Hugunin.
13564 13564
13565 - The httplib module is more robust when servers send a short response 13565 - The httplib module is more robust when servers send a short response
13566 -- courtesy Tim O'Malley. 13566 -- courtesy Tim O'Malley.
13567 13567
13568 Tkinter and friends 13568 Tkinter and friends
13569 ------------------- 13569 -------------------
13570 13570
13571 - Various typos and bugs fixed. 13571 - Various typos and bugs fixed.
13572 13572
13573 - New module Tkdnd implements a drag-and-drop protocol (within one 13573 - New module Tkdnd implements a drag-and-drop protocol (within one
13574 application only). 13574 application only).
13575 13575
13576 - The event_*() widget methods have been restructured slightly -- they 13576 - The event_*() widget methods have been restructured slightly -- they
13577 no longer use the default root. 13577 no longer use the default root.
13578 13578
13579 - The interfaces for the bind*() and unbind() widget methods have been 13579 - The interfaces for the bind*() and unbind() widget methods have been
13580 redesigned; the bind*() methods now return the name of the Tcl command 13580 redesigned; the bind*() methods now return the name of the Tcl command
13581 created for the callback, and this can be passed as a optional 13581 created for the callback, and this can be passed as a optional
13582 argument to unbind() in order to delete the command (normally, such 13582 argument to unbind() in order to delete the command (normally, such
13583 commands are automatically unbound when the widget is destroyed, but 13583 commands are automatically unbound when the widget is destroyed, but
13584 for some applications this isn't enough). 13584 for some applications this isn't enough).
13585 13585
13586 - Variable objects now have trace methods to interface to Tcl's 13586 - Variable objects now have trace methods to interface to Tcl's
13587 variable tracing facilities. 13587 variable tracing facilities.
13588 13588
13589 - Image objects now have an optional keyword argument, 'master', to 13589 - Image objects now have an optional keyword argument, 'master', to
13590 specify a widget (tree) to which they belong. The image_names() and 13590 specify a widget (tree) to which they belong. The image_names() and
(...skipping 15 matching lines...) Expand all
13606 The Python/C API 13606 The Python/C API
13607 ---------------- 13607 ----------------
13608 13608
13609 - New function PyThreadState_GetDict() returns a per-thread dictionary 13609 - New function PyThreadState_GetDict() returns a per-thread dictionary
13610 intended for storing thread-local global variables. 13610 intended for storing thread-local global variables.
13611 13611
13612 - New functions Py_ReprEnter() and Py_ReprLeave() use the per-thread 13612 - New functions Py_ReprEnter() and Py_ReprLeave() use the per-thread
13613 dictionary to allow recursive container types to detect recursion in 13613 dictionary to allow recursive container types to detect recursion in
13614 their repr(), str() and print implementations. 13614 their repr(), str() and print implementations.
13615 13615
13616 - New function PyObject_Not(x) calculates (not x) according to Python's 13616 - New function PyObject_Not(x) calculates (not x) according to Python's
13617 standard rules (basically, it negates the outcome PyObject_IsTrue(x). 13617 standard rules (basically, it negates the outcome PyObject_IsTrue(x).
13618 13618
13619 - New function _PyModule_Clear(), which clears a module's dictionary 13619 - New function _PyModule_Clear(), which clears a module's dictionary
13620 carefully without removing the __builtins__ entry. This is implied 13620 carefully without removing the __builtins__ entry. This is implied
13621 when a module object is deallocated (this used to clear the dictionary 13621 when a module object is deallocated (this used to clear the dictionary
13622 completely). 13622 completely).
13623 13623
13624 - New function PyImport_ExecCodeModuleEx(), which extends 13624 - New function PyImport_ExecCodeModuleEx(), which extends
13625 PyImport_ExecCodeModule() by adding an extra parameter to pass it the 13625 PyImport_ExecCodeModule() by adding an extra parameter to pass it the
13626 true file. 13626 true file.
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
13767 - Changes in pickle.py and cPickle.c: when unpickling an instance of a 13767 - Changes in pickle.py and cPickle.c: when unpickling an instance of a
13768 class that doesn't define the __getinitargs__() method, the __init__() 13768 class that doesn't define the __getinitargs__() method, the __init__()
13769 constructor is no longer called. This makes a much larger group of 13769 constructor is no longer called. This makes a much larger group of
13770 classes picklable by default, but may occasionally change semantics. 13770 classes picklable by default, but may occasionally change semantics.
13771 To force calling __init__() on unpickling, define a __getinitargs__() 13771 To force calling __init__() on unpickling, define a __getinitargs__()
13772 method. Other changes too, in particular cPickle now handles classes 13772 method. Other changes too, in particular cPickle now handles classes
13773 defined in packages correctly. The same change applies to copying 13773 defined in packages correctly. The same change applies to copying
13774 instances with copy.py. The cPickle.c changes and some pickle.py 13774 instances with copy.py. The cPickle.c changes and some pickle.py
13775 changes are courtesy Jim Fulton. 13775 changes are courtesy Jim Fulton.
13776 13776
13777 - Locale support in he "re" (Perl regular expressions) module. Use 13777 - Locale support in he "re" (Perl regular expressions) module. Use
13778 the flag re.L (or re.LOCALE) to enable locale-specific matching 13778 the flag re.L (or re.LOCALE) to enable locale-specific matching
13779 rules for \w and \b. The in-line syntax for this flag is (?L). 13779 rules for \w and \b. The in-line syntax for this flag is (?L).
13780 13780
13781 - The built-in function isinstance(x, y) now also succeeds when y is 13781 - The built-in function isinstance(x, y) now also succeeds when y is
13782 a type object and type(x) is y. 13782 a type object and type(x) is y.
13783 13783
13784 - repr() and str() of class and instance objects now reflect the 13784 - repr() and str() of class and instance objects now reflect the
13785 package/module in which the class is defined. 13785 package/module in which the class is defined.
13786 13786
13787 - Module "ni" has been removed. (If you really need it, it's been 13787 - Module "ni" has been removed. (If you really need it, it's been
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
13833 and C++ style comments should be gone now. 13833 and C++ style comments should be gone now.
13834 13834
13835 - In random.py, added Pareto and Weibull distributions. 13835 - In random.py, added Pareto and Weibull distributions.
13836 13836
13837 - The crypt module is now disabled in Modules/Setup.in by default; it 13837 - The crypt module is now disabled in Modules/Setup.in by default; it
13838 is rarely needed and causes errors on some systems where users often 13838 is rarely needed and causes errors on some systems where users often
13839 don't know how to deal with those. 13839 don't know how to deal with those.
13840 13840
13841 - Some improvements to the _tkinter build line suggested by Case Roole. 13841 - Some improvements to the _tkinter build line suggested by Case Roole.
13842 13842
13843 - A full suite of platform specific files for NetBSD 1.x, submitted by 13843 - A full suite of platform specific files for NetBSD 1.x, submitted by
13844 Anders Andersen. 13844 Anders Andersen.
13845 13845
13846 - New Solaris specific header STROPTS.py. 13846 - New Solaris specific header STROPTS.py.
13847 13847
13848 - Moved a confusing occurrence of *shared* from the comments in 13848 - Moved a confusing occurrence of *shared* from the comments in
13849 Modules/Setup.in (people would enable this one instead of the real 13849 Modules/Setup.in (people would enable this one instead of the real
13850 one, and get disappointing results). 13850 one, and get disappointing results).
13851 13851
13852 - Changed the default mode for directories to be group-writable when 13852 - Changed the default mode for directories to be group-writable when
13853 the installation process creates them. 13853 the installation process creates them.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
13903 - PyArg_Parse[Tuple] now explicitly check for bad characters at the 13903 - PyArg_Parse[Tuple] now explicitly check for bad characters at the
13904 end of the format string. 13904 end of the format string.
13905 13905
13906 - Revamped PC/example_nt to support VC++ 5.x. 13906 - Revamped PC/example_nt to support VC++ 5.x.
13907 13907
13908 - <listobject>.sort() now uses a modified quicksort by Raymund Galvin, 13908 - <listobject>.sort() now uses a modified quicksort by Raymund Galvin,
13909 after studying the GNU libg++ quicksort. This should be much faster 13909 after studying the GNU libg++ quicksort. This should be much faster
13910 if there are lots of duplicates, and otherwise at least as good. 13910 if there are lots of duplicates, and otherwise at least as good.
13911 13911
13912 - Added "uue" as an alias for "uuencode" to mimetools.py. (Hm, the 13912 - Added "uue" as an alias for "uuencode" to mimetools.py. (Hm, the
13913 uudecode bug where it complaints about trailing garbage is still there 13913 uudecode bug where it complaints about trailing garbage is still there
13914 :-( ). 13914 :-( ).
13915 13915
13916 - pickle.py requires integers in text mode to be in decimal notation 13916 - pickle.py requires integers in text mode to be in decimal notation
13917 (it used to accept octal and hex, even though it would only generate 13917 (it used to accept octal and hex, even though it would only generate
13918 decimal numbers). 13918 decimal numbers).
13919 13919
13920 - In string.atof(), don't fail when the "re" module is unavailable. 13920 - In string.atof(), don't fail when the "re" module is unavailable.
13921 Plug the ensueing security leak by supplying an empty __builtins__ 13921 Plug the ensueing security leak by supplying an empty __builtins__
13922 directory to eval(). 13922 directory to eval().
13923 13923
(...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after
14679 - It's much faster (almost twice for pystone.py -- see 14679 - It's much faster (almost twice for pystone.py -- see
14680 Tools/scripts). See the entry on string interning below. 14680 Tools/scripts). See the entry on string interning below.
14681 14681
14682 - Some speedup by using separate free lists for method objects (both 14682 - Some speedup by using separate free lists for method objects (both
14683 the C and the Python variety) and for floating point numbers. 14683 the C and the Python variety) and for floating point numbers.
14684 14684
14685 - Big speedup by allocating frame objects with a single malloc() call. 14685 - Big speedup by allocating frame objects with a single malloc() call.
14686 The Python/C API for frames is changed (you shouldn't be using this 14686 The Python/C API for frames is changed (you shouldn't be using this
14687 anyway). 14687 anyway).
14688 14688
14689 - Significant speedup by inlining some common opcodes for common operand 14689 - Significant speedup by inlining some common opcodes for common operand
14690 types (e.g. i+i, i-i, and list[i]). Fredrik Lundh. 14690 types (e.g. i+i, i-i, and list[i]). Fredrik Lundh.
14691 14691
14692 - Small speedup by reordering the method tables of some common 14692 - Small speedup by reordering the method tables of some common
14693 objects (e.g. list.append is now first). 14693 objects (e.g. list.append is now first).
14694 14694
14695 - Big optimization to the read() method of file objects. A read() 14695 - Big optimization to the read() method of file objects. A read()
14696 without arguments now attempts to use fstat to allocate a buffer of 14696 without arguments now attempts to use fstat to allocate a buffer of
14697 the right size; for pipes and sockets, it will fall back to doubling 14697 the right size; for pipes and sockets, it will fall back to doubling
14698 the buffer size. While that the improvement is real on all systems, 14698 the buffer size. While that the improvement is real on all systems,
14699 it is most dramatic on Windows. 14699 it is most dramatic on Windows.
14700 14700
14701 14701
14702 Documentation 14702 Documentation
14703 ------------- 14703 -------------
14704 14704
14705 - Many new pieces of library documentation were contributed, mostly by 14705 - Many new pieces of library documentation were contributed, mostly by
14706 Andrew Kuchling. Even cmath is now documented! There's also a 14706 Andrew Kuchling. Even cmath is now documented! There's also a
14707 chapter of the library manual, "libundoc.tex", which provides a 14707 chapter of the library manual, "libundoc.tex", which provides a
14708 listing of all undocumented modules, plus their status (e.g. internal, 14708 listing of all undocumented modules, plus their status (e.g. internal,
14709 obsolete, or in need of documentation). Also contributions by Sue 14709 obsolete, or in need of documentation). Also contributions by Sue
14710 Williams, Skip Montanaro, and some module authors who succumbed to 14710 Williams, Skip Montanaro, and some module authors who succumbed to
14711 pressure to document their own contributed modules :-). Note that 14711 pressure to document their own contributed modules :-). Note that
14712 printing the documentation now kills fewer trees -- the margins have 14712 printing the documentation now kills fewer trees -- the margins have
14713 been reduced. 14713 been reduced.
14714 14714
14715 - I have started documenting the Python/C API. Unfortunately this project 14715 - I have started documenting the Python/C API. Unfortunately this project
14716 hasn't been completed yet. It will be complete before the final release of 14716 hasn't been completed yet. It will be complete before the final release of
14717 Python 1.5, though. At the moment, it's better to read the LaTeX source 14717 Python 1.5, though. At the moment, it's better to read the LaTeX source
14718 than to attempt to run it through LaTeX and print the resulting dvi file. 14718 than to attempt to run it through LaTeX and print the resulting dvi file.
14719 14719
14720 - The posix module (and hence os.py) now has doc strings! Thanks to Neil 14720 - The posix module (and hence os.py) now has doc strings! Thanks to Neil
14721 Schemenauer. I received a few other contributions of doc strings. In most 14721 Schemenauer. I received a few other contributions of doc strings. In most
14722 other places, doc strings are still wishful thinking... 14722 other places, doc strings are still wishful thinking...
14723 14723
14724 14724
14725 Language changes 14725 Language changes
14726 ---------------- 14726 ----------------
14727 14727
14728 - Private variables with leading double underscore are now a permanent 14728 - Private variables with leading double underscore are now a permanent
14729 feature of the language. (These were experimental in release 1.4. I have 14729 feature of the language. (These were experimental in release 1.4. I have
14730 favorable experience using them; I can't label them "experimental" 14730 favorable experience using them; I can't label them "experimental"
14731 forever.) 14731 forever.)
14732 14732
14733 - There's new string literal syntax for "raw strings". Prefixing a string 14733 - There's new string literal syntax for "raw strings". Prefixing a string
14734 literal with the letter r (or R) disables all escape processing in the 14734 literal with the letter r (or R) disables all escape processing in the
14735 string; for example, r'\n' is a two-character string consisting of a 14735 string; for example, r'\n' is a two-character string consisting of a
14736 backslash followed by the letter n. This combines with all forms of string 14736 backslash followed by the letter n. This combines with all forms of string
14737 quotes; it is actually useful for triple quoted doc strings which might 14737 quotes; it is actually useful for triple quoted doc strings which might
14738 contain references to \n or \t. An embedded quote prefixed with a 14738 contain references to \n or \t. An embedded quote prefixed with a
14739 backslash does not terminate the string, but the backslash is still 14739 backslash does not terminate the string, but the backslash is still
14740 included in the string; for example, r'\'' is a two-character string 14740 included in the string; for example, r'\'' is a two-character string
14741 consisting of a backslash and a quote. (Raw strings are also 14741 consisting of a backslash and a quote. (Raw strings are also
14742 affectionately known as Robin strings, after their inventor, Robin 14742 affectionately known as Robin strings, after their inventor, Robin
14743 Friedrich.) 14743 Friedrich.)
14744 14744
14745 - There's a simple assert statement, and a new exception 14745 - There's a simple assert statement, and a new exception
14746 AssertionError. For example, ``assert foo > 0'' is equivalent to ``if 14746 AssertionError. For example, ``assert foo > 0'' is equivalent to ``if
14747 not foo > 0: raise AssertionError''. Sorry, the text of the asserted 14747 not foo > 0: raise AssertionError''. Sorry, the text of the asserted
14748 condition is not available; it would be too complicated to generate 14748 condition is not available; it would be too complicated to generate
14749 code for this (since the code is generated from a parse tree). 14749 code for this (since the code is generated from a parse tree).
14750 However, the text is displayed as part of the traceback! 14750 However, the text is displayed as part of the traceback!
14751 14751
14752 - The raise statement has a new feature: when using "raise SomeClass, 14752 - The raise statement has a new feature: when using "raise SomeClass,
14753 somevalue" where somevalue is not an instance of SomeClass, it 14753 somevalue" where somevalue is not an instance of SomeClass, it
14754 instantiates SomeClass(somevalue). In 1.5a4, if somevalue is an 14754 instantiates SomeClass(somevalue). In 1.5a4, if somevalue is an
14755 instance of a *derived* class of SomeClass, the exception class raised 14755 instance of a *derived* class of SomeClass, the exception class raised
14756 is set to somevalue.__class__, and SomeClass is ignored after that. 14756 is set to somevalue.__class__, and SomeClass is ignored after that.
14757 14757
14758 - Duplicate keyword arguments are now detected at compile time; 14758 - Duplicate keyword arguments are now detected at compile time;
14759 f(a=1,a=2) is now a syntax error. 14759 f(a=1,a=2) is now a syntax error.
14760 14760
14761 14761
14762 Changes to built-in features 14762 Changes to built-in features
14763 ---------------------------- 14763 ----------------------------
14764 14764
14765 - There's a new exception FloatingPointError (used only by Lee Busby's 14765 - There's a new exception FloatingPointError (used only by Lee Busby's
14766 patches to catch floating point exceptions, at the moment). 14766 patches to catch floating point exceptions, at the moment).
14767 14767
14768 - The obsolete exception ConflictError (presumably used by the long 14768 - The obsolete exception ConflictError (presumably used by the long
14769 obsolete access statement) has been deleted. 14769 obsolete access statement) has been deleted.
14770 14770
14771 - There's a new function sys.exc_info() which returns the tuple 14771 - There's a new function sys.exc_info() which returns the tuple
14772 (sys.exc_type, sys.exc_value, sys.exc_traceback) in a thread-safe way. 14772 (sys.exc_type, sys.exc_value, sys.exc_traceback) in a thread-safe way.
14773 14773
14774 - There's a new variable sys.executable, pointing to the executable file 14774 - There's a new variable sys.executable, pointing to the executable file
14775 for the Python interpreter. 14775 for the Python interpreter.
14776 14776
14777 - The sort() methods for lists no longer uses the C library qsort(); I 14777 - The sort() methods for lists no longer uses the C library qsort(); I
14778 wrote my own quicksort implementation, with lots of help (in the form 14778 wrote my own quicksort implementation, with lots of help (in the form
14779 of a kind of competition) from Tim Peters. This solves a bug in 14779 of a kind of competition) from Tim Peters. This solves a bug in
14780 dictionary comparisons on some Solaris versions when Python is built 14780 dictionary comparisons on some Solaris versions when Python is built
14781 with threads, and makes sorting lists even faster. 14781 with threads, and makes sorting lists even faster.
14782 14782
14783 - The semantics of comparing two dictionaries have changed, to make 14783 - The semantics of comparing two dictionaries have changed, to make
14784 comparison of unequal dictionaries faster. A shorter dictionary is 14784 comparison of unequal dictionaries faster. A shorter dictionary is
14785 always considered smaller than a larger dictionary. For dictionaries 14785 always considered smaller than a larger dictionary. For dictionaries
14786 of the same size, the smallest differing element determines the 14786 of the same size, the smallest differing element determines the
14787 outcome (which yields the same results as before in this case, without 14787 outcome (which yields the same results as before in this case, without
14788 explicit sorting). Thanks to Aaron Watters for suggesting something 14788 explicit sorting). Thanks to Aaron Watters for suggesting something
14789 like this. 14789 like this.
14790 14790
14791 - The semantics of try-except have changed subtly so that calling a 14791 - The semantics of try-except have changed subtly so that calling a
14792 function in an exception handler that itself raises and catches an 14792 function in an exception handler that itself raises and catches an
14793 exception no longer overwrites the sys.exc_* variables. This also 14793 exception no longer overwrites the sys.exc_* variables. This also
14794 alleviates the problem that objects referenced in a stack frame that 14794 alleviates the problem that objects referenced in a stack frame that
14795 caught an exception are kept alive until another exception is caught 14795 caught an exception are kept alive until another exception is caught
14796 -- the sys.exc_* variables are restored to their previous value when 14796 -- the sys.exc_* variables are restored to their previous value when
14797 returning from a function that caught an exception. 14797 returning from a function that caught an exception.
14798 14798
14799 - There's a new "buffer" interface. Certain objects (e.g. strings and 14799 - There's a new "buffer" interface. Certain objects (e.g. strings and
14800 arrays) now support the "buffer" protocol. Buffer objects are acceptable 14800 arrays) now support the "buffer" protocol. Buffer objects are acceptable
14801 whenever formerly a string was required for a write operation; mutable 14801 whenever formerly a string was required for a write operation; mutable
14802 buffer objects can be the target of a read operation using the call 14802 buffer objects can be the target of a read operation using the call
14803 f.readinto(buffer). A cool feature is that regular expression matching now 14803 f.readinto(buffer). A cool feature is that regular expression matching now
14804 also work on array objects. Contribution by Jack Jansen. (Needs 14804 also work on array objects. Contribution by Jack Jansen. (Needs
14805 documentation.) 14805 documentation.)
14806 14806
14807 - String interning: dictionary lookups are faster when the lookup 14807 - String interning: dictionary lookups are faster when the lookup
14808 string object is the same object as the key in the dictionary, not 14808 string object is the same object as the key in the dictionary, not
14809 just a string with the same value. This is done by having a pool of 14809 just a string with the same value. This is done by having a pool of
14810 "interned" strings. Most names generated by the interpreter are now 14810 "interned" strings. Most names generated by the interpreter are now
14811 automatically interned, and there's a new built-in function intern(s) 14811 automatically interned, and there's a new built-in function intern(s)
14812 that returns the interned version of a string. Interned strings are 14812 that returns the interned version of a string. Interned strings are
14813 not a different object type, and interning is totally optional, but by 14813 not a different object type, and interning is totally optional, but by
14814 interning most keys a speedup of about 15% was obtained for the 14814 interning most keys a speedup of about 15% was obtained for the
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
15086 15086
15087 - Added timezone support to the rfc822.py module, in the form of a 15087 - Added timezone support to the rfc822.py module, in the form of a
15088 getdate_tz() method and a parsedate_tz() function; also a mktime_tz(). 15088 getdate_tz() method and a parsedate_tz() function; also a mktime_tz().
15089 Also added recognition of some non-standard date formats, by Lars 15089 Also added recognition of some non-standard date formats, by Lars
15090 Wirzenius, and RFC 850 dates (Chris Lawrence). 15090 Wirzenius, and RFC 850 dates (Chris Lawrence).
15091 15091
15092 - mhlib.py: various enhancements, including almost compatible parsing 15092 - mhlib.py: various enhancements, including almost compatible parsing
15093 of message sequence specifiers without invoking a subprocess. Also 15093 of message sequence specifiers without invoking a subprocess. Also
15094 added a createmessage() method by Lars Wirzenius. 15094 added a createmessage() method by Lars Wirzenius.
15095 15095
15096 - The StringIO.StringIO class now supports readline(nbytes). (Lars 15096 - The StringIO.StringIO class now supports readline(nbytes). (Lars
15097 Wirzenius.) (Of course, you should be using cStringIO for performance.) 15097 Wirzenius.) (Of course, you should be using cStringIO for performance.)
15098 15098
15099 - UserDict.py supports the new dictionary methods as well. 15099 - UserDict.py supports the new dictionary methods as well.
15100 15100
15101 - Improvements for whrandom.py by Tim Peters: use 32-bit arithmetic to 15101 - Improvements for whrandom.py by Tim Peters: use 32-bit arithmetic to
15102 speed it up, and replace 0 seed values by 1 to avoid degeneration. 15102 speed it up, and replace 0 seed values by 1 to avoid degeneration.
15103 A bug was fixed in the test for invalid arguments. 15103 A bug was fixed in the test for invalid arguments.
15104 15104
15105 - Module ftplib.py: added support for parsing a .netrc file (Fred 15105 - Module ftplib.py: added support for parsing a .netrc file (Fred
15106 Drake). Also added an ntransfercmd() method to the FTP class, which 15106 Drake). Also added an ntransfercmd() method to the FTP class, which
(...skipping 27 matching lines...) Expand all
15134 15134
15135 - The python debugger (pdb.py, and its base class bdb.py) now support 15135 - The python debugger (pdb.py, and its base class bdb.py) now support
15136 conditional breakpoints. See the docs. 15136 conditional breakpoints. See the docs.
15137 15137
15138 - The modules base64.py, uu.py and quopri.py can now be used as simple 15138 - The modules base64.py, uu.py and quopri.py can now be used as simple
15139 command line utilities. 15139 command line utilities.
15140 15140
15141 - Various small fixes to the nntplib.py module that I can't bother to 15141 - Various small fixes to the nntplib.py module that I can't bother to
15142 document in detail. 15142 document in detail.
15143 15143
15144 - Sjoerd Mullender's mimify.py module now supports base64 encoding and 15144 - Sjoerd Mullender's mimify.py module now supports base64 encoding and
15145 includes functions to handle the funny encoding you sometimes see in mail 15145 includes functions to handle the funny encoding you sometimes see in mail
15146 headers. It is now documented. 15146 headers. It is now documented.
15147 15147
15148 - mailbox.py: Added BabylMailbox. Improved the way the mailbox is 15148 - mailbox.py: Added BabylMailbox. Improved the way the mailbox is
15149 gotten from the environment. 15149 gotten from the environment.
15150 15150
15151 - Many more modules now correctly open files in binary mode when this 15151 - Many more modules now correctly open files in binary mode when this
15152 is necessary on non-Unix platforms. 15152 is necessary on non-Unix platforms.
15153 15153
15154 - The copying functions in the undocumented module shutil.py are 15154 - The copying functions in the undocumented module shutil.py are
15155 smarter. 15155 smarter.
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
15486 - Demo/classes/Rat.py completely rewritten by Sjoerd Mullender. 15486 - Demo/classes/Rat.py completely rewritten by Sjoerd Mullender.
15487 15487
15488 15488
15489 Windows (NT and 95) 15489 Windows (NT and 95)
15490 ------------------- 15490 -------------------
15491 15491
15492 - New project files for Developer Studio (Visual C++) 5.0 for Windows 15492 - New project files for Developer Studio (Visual C++) 5.0 for Windows
15493 NT (the old VC++ 4.2 Makefile is also still supported, but will 15493 NT (the old VC++ 4.2 Makefile is also still supported, but will
15494 eventually be withdrawn due to its bulkiness). 15494 eventually be withdrawn due to its bulkiness).
15495 15495
15496 - See the note on the new module search path in the "Miscellaneous" section 15496 - See the note on the new module search path in the "Miscellaneous" section
15497 above. 15497 above.
15498 15498
15499 - Support for Win32s (the 32-bit Windows API under Windows 3.1) is 15499 - Support for Win32s (the 32-bit Windows API under Windows 3.1) is
15500 basically withdrawn. If it still works for you, you're lucky. 15500 basically withdrawn. If it still works for you, you're lucky.
15501 15501
15502 - There's a new extension module, msvcrt.c, which provides various 15502 - There's a new extension module, msvcrt.c, which provides various
15503 low-level operations defined in the Microsoft Visual C++ Runtime Library. 15503 low-level operations defined in the Microsoft Visual C++ Runtime Library.
15504 These include locking(), setmode(), get_osfhandle(), set_osfhandle(), and 15504 These include locking(), setmode(), get_osfhandle(), set_osfhandle(), and
15505 console I/O functions like kbhit(), getch() and putch(). 15505 console I/O functions like kbhit(), getch() and putch().
15506 15506
15507 - The -u option not only sets the standard I/O streams to unbuffered 15507 - The -u option not only sets the standard I/O streams to unbuffered
15508 status, but also sets them in binary mode. (This can also be done 15508 status, but also sets them in binary mode. (This can also be done
15509 using msvcrt.setmode(), by the way.) 15509 using msvcrt.setmode(), by the way.)
15510 15510
15511 - The, sys.prefix and sys.exec_prefix variables point to the directory 15511 - The, sys.prefix and sys.exec_prefix variables point to the directory
15512 where Python is installed, or to the top of the source tree, if it was run 15512 where Python is installed, or to the top of the source tree, if it was run
15513 from there. 15513 from there.
15514 15514
15515 - The various os.path modules (posixpath, ntpath, macpath) now support 15515 - The various os.path modules (posixpath, ntpath, macpath) now support
15516 passing more than two arguments to the join() function, so 15516 passing more than two arguments to the join() function, so
15517 os.path.join(a, b, c) is the same as os.path.join(a, os.path.join(b, 15517 os.path.join(a, b, c) is the same as os.path.join(a, os.path.join(b,
15518 c)). 15518 c)).
15519 15519
15520 - The ntpath module (normally used as os.path) supports ~ to $HOME 15520 - The ntpath module (normally used as os.path) supports ~ to $HOME
15521 expansion in expanduser(). 15521 expansion in expanduser().
15522 15522
15523 - The freeze tool now works on Windows. 15523 - The freeze tool now works on Windows.
15524 15524
15525 - See also the Tkinter category for a sad note on 15525 - See also the Tkinter category for a sad note on
15526 _tkinter.createfilehandler(). 15526 _tkinter.createfilehandler().
15527 15527
15528 - The truncate() method for file objects now works on Windows. 15528 - The truncate() method for file objects now works on Windows.
15529 15529
15530 - Py_Initialize() is no longer called when the DLL is loaded. You 15530 - Py_Initialize() is no longer called when the DLL is loaded. You
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
15808 - New module MimeWriter for writing MIME documents. 15808 - New module MimeWriter for writing MIME documents.
15809 15809
15810 - More changes to formatter module. 15810 - More changes to formatter module.
15811 15811
15812 - The freeze script works once again and is much more robust (using 15812 - The freeze script works once again and is much more robust (using
15813 sys.prefix etc.). It also supports a -o option to specify an 15813 sys.prefix etc.). It also supports a -o option to specify an
15814 output directory. 15814 output directory.
15815 15815
15816 - New module whichdb recognizes dbm, gdbm and bsddb/dbhash files. 15816 - New module whichdb recognizes dbm, gdbm and bsddb/dbhash files.
15817 15817
15818 - The Doc/Makefile targets have been reorganized somewhat to remove the 15818 - The Doc/Makefile targets have been reorganized somewhat to remove the
15819 insistence on always generating PostScript. 15819 insistence on always generating PostScript.
15820 15820
15821 - The texinfo to html filter (Doc/texi2html.py) has been improved somewhat. 15821 - The texinfo to html filter (Doc/texi2html.py) has been improved somewhat.
15822 15822
15823 - "errors.h" has been renamed to "pyerrors.h" to resolve a long-standing 15823 - "errors.h" has been renamed to "pyerrors.h" to resolve a long-standing
15824 name conflict on the Mac. 15824 name conflict on the Mac.
15825 15825
15826 - Linking a module compiled with a different setting for Py_TRACE_REFS now 15826 - Linking a module compiled with a different setting for Py_TRACE_REFS now
15827 generates a linker error rather than a core dump. 15827 generates a linker error rather than a core dump.
15828 15828
15829 - The cgi module has a new convenience function print_exception(), which 15829 - The cgi module has a new convenience function print_exception(), which
15830 formats a python exception using HTML. It also fixes a bug in the 15830 formats a python exception using HTML. It also fixes a bug in the
15831 compatibility code and adds a dubious feature which makes it possible to 15831 compatibility code and adds a dubious feature which makes it possible to
15832 have two query strings, one in the URL and one in the POST data. 15832 have two query strings, one in the URL and one in the POST data.
15833 15833
15834 - A subtle change in the unpickling of class instances makes it possible 15834 - A subtle change in the unpickling of class instances makes it possible
15835 to unpickle in restricted execution mode, where the __dict__ attribute is 15835 to unpickle in restricted execution mode, where the __dict__ attribute is
15836 not available (but setattr() is). 15836 not available (but setattr() is).
15837 15837
15838 - Documentation for os.path.splitext() (== posixpath.splitext()) has been 15838 - Documentation for os.path.splitext() (== posixpath.splitext()) has been
15839 cleared up. It splits at the *last* dot. 15839 cleared up. It splits at the *last* dot.
15840 15840
15841 - posixfile locking is now also correctly supported on AIX. 15841 - posixfile locking is now also correctly supported on AIX.
15842 15842
15843 - The tempfile module once again honors an initial setting of tmpdir. It 15843 - The tempfile module once again honors an initial setting of tmpdir. It
15844 now works on Windows, too. 15844 now works on Windows, too.
15845 15845
15846 - The traceback module has some new functions to extract, format and print 15846 - The traceback module has some new functions to extract, format and print
15847 the active stack. 15847 the active stack.
15848 15848
15849 - Some translation functions in the urllib module have been made a little 15849 - Some translation functions in the urllib module have been made a little
15850 less sluggish. 15850 less sluggish.
15851 15851
15852 - The addtag_* methods for Canvas widgets in Tkinter as well as in the 15852 - The addtag_* methods for Canvas widgets in Tkinter as well as in the
15853 separate Canvas class have been fixed so they actually do something 15853 separate Canvas class have been fixed so they actually do something
15854 meaningful. 15854 meaningful.
15855 15855
15856 - A tiny _test() function has been added to Tkinter.py. 15856 - A tiny _test() function has been added to Tkinter.py.
15857 15857
15858 - A generic Makefile for dynamically loaded modules is provided in the Misc 15858 - A generic Makefile for dynamically loaded modules is provided in the Misc
15859 subdirectory (Misc/gMakefile). 15859 subdirectory (Misc/gMakefile).
15860 15860
15861 - A new version of python-mode.el for Emacs is provided. See 15861 - A new version of python-mode.el for Emacs is provided. See
15862 http://www.python.org/ftp/emacs/pmdetails.html for details. The 15862 http://www.python.org/ftp/emacs/pmdetails.html for details. The
15863 separate file pyimenu.el is no longer needed, imenu support is folded 15863 separate file pyimenu.el is no longer needed, imenu support is folded
15864 into python-mode.el. 15864 into python-mode.el.
15865 15865
15866 - The configure script can finally correctly find the readline library in a 15866 - The configure script can finally correctly find the readline library in a
15867 non-standard location. The LDFLAGS variable is passed on the Makefiles 15867 non-standard location. The LDFLAGS variable is passed on the Makefiles
15868 from the configure script. 15868 from the configure script.
15869 15869
15870 - Shared libraries are now installed as programs (i.e. with executable 15870 - Shared libraries are now installed as programs (i.e. with executable
15871 permission). This is required on HP-UX and won't hurt on other systems. 15871 permission). This is required on HP-UX and won't hurt on other systems.
15872 15872
15873 - The objc.c module is no longer part of the distribution. Objective-C 15873 - The objc.c module is no longer part of the distribution. Objective-C
15874 support may become available as contributed software on the ftp site. 15874 support may become available as contributed software on the ftp site.
15875 15875
15876 - The sybase module is no longer part of the distribution. A much 15876 - The sybase module is no longer part of the distribution. A much
15877 improved sybase module is available as contributed software from the 15877 improved sybase module is available as contributed software from the
15878 ftp site. 15878 ftp site.
15879 15879
15880 - _tkinter is now compatible with Tcl 7.5 / Tk 4.1 patch1 on Windows and 15880 - _tkinter is now compatible with Tcl 7.5 / Tk 4.1 patch1 on Windows and
15881 Mac (don't use unpatched Tcl/Tk!). The default line in the Setup.in file 15881 Mac (don't use unpatched Tcl/Tk!). The default line in the Setup.in file
15882 now links with Tcl 7.5 / Tk 4.1 rather than 7.4/4.0. 15882 now links with Tcl 7.5 / Tk 4.1 rather than 7.4/4.0.
15883 15883
15884 - In Setup, you can now write "*shared*" instead of "*noconfig*", and you 15884 - In Setup, you can now write "*shared*" instead of "*noconfig*", and you
15885 can use *.so and *.sl as shared libraries. 15885 can use *.so and *.sl as shared libraries.
15886 15886
15887 - Some more fidgeting for AIX shared libraries. 15887 - Some more fidgeting for AIX shared libraries.
15888 15888
15889 - The mpz module is now compatible with GMP 2.x. (Not tested by me.) 15889 - The mpz module is now compatible with GMP 2.x. (Not tested by me.)
15890 (Note -- a complete replacement by Niels Mo"ller, called gpmodule, is 15890 (Note -- a complete replacement by Niels Mo"ller, called gpmodule, is
15891 available from the contrib directory on the ftp site.) 15891 available from the contrib directory on the ftp site.)
15892 15892
15893 - A warning is written to sys.stderr when a __del__ method raises an 15893 - A warning is written to sys.stderr when a __del__ method raises an
15894 exception (formerly, such exceptions were completely ignored). 15894 exception (formerly, such exceptions were completely ignored).
15895 15895
15896 - The configure script now defines HAVE_OLD_CPP if the C preprocessor is 15896 - The configure script now defines HAVE_OLD_CPP if the C preprocessor is
15897 incapable of ANSI style token concatenation and stringification. 15897 incapable of ANSI style token concatenation and stringification.
15898 15898
15899 - All source files (except a few platform specific modules) are once again 15899 - All source files (except a few platform specific modules) are once again
15900 compatible with K&R C compilers as well as ANSI compilers. In particular, 15900 compatible with K&R C compilers as well as ANSI compilers. In particular,
15901 ANSI-isms have been removed or made conditional in complexobject.c, 15901 ANSI-isms have been removed or made conditional in complexobject.c,
15902 getargs.c and operator.c. 15902 getargs.c and operator.c.
15903 15903
15904 - The abstract object API has three new functions, PyObject_DelItem, 15904 - The abstract object API has three new functions, PyObject_DelItem,
15905 PySequence_DelItem, and PySequence_DelSlice. 15905 PySequence_DelItem, and PySequence_DelSlice.
15906 15906
15907 - The operator module has new functions delitem and delslice, and the 15907 - The operator module has new functions delitem and delslice, and the
15908 functions "or" and "and" are renamed to "or_" and "and_" (since "or" and 15908 functions "or" and "and" are renamed to "or_" and "and_" (since "or" and
15909 "and" are reserved words). ("__or__" and "__and__" are unchanged.) 15909 "and" are reserved words). ("__or__" and "__and__" are unchanged.)
15910 15910
15911 - The environment module is no longer supported; putenv() is now a function 15911 - The environment module is no longer supported; putenv() is now a function
15912 in posixmodule (also under NT). 15912 in posixmodule (also under NT).
15913 15913
15914 - Error in filter(<function>, "") has been fixed. 15914 - Error in filter(<function>, "") has been fixed.
15915 15915
15916 - Unrecognized keyword arguments raise TypeError, not KeyError. 15916 - Unrecognized keyword arguments raise TypeError, not KeyError.
15917 15917
15918 - Better portability, fewer bugs and memory leaks, fewer compiler warnings, 15918 - Better portability, fewer bugs and memory leaks, fewer compiler warnings,
15919 some more documentation. 15919 some more documentation.
15920 15920
15921 - Bug in float power boundary case (0.0 to the negative integer power) 15921 - Bug in float power boundary case (0.0 to the negative integer power)
15922 fixed. 15922 fixed.
15923 15923
15924 - The test of negative number to the float power has been moved from the 15924 - The test of negative number to the float power has been moved from the
15925 built-in pow() functin to floatobject.c (so complex numbers can yield the 15925 built-in pow() functin to floatobject.c (so complex numbers can yield the
15926 correct result). 15926 correct result).
15927 15927
15928 - The bug introduced in beta2 where shared libraries loaded (using 15928 - The bug introduced in beta2 where shared libraries loaded (using
15929 dlopen()) from the current directory would fail, has been fixed. 15929 dlopen()) from the current directory would fail, has been fixed.
15930 15930
15931 - Modules imported as shared libraries now also have a __file__ attribute, 15931 - Modules imported as shared libraries now also have a __file__ attribute,
15932 giving the filename from which they were loaded. The only modules without 15932 giving the filename from which they were loaded. The only modules without
15933 a __file__ attribute now are built-in modules. 15933 a __file__ attribute now are built-in modules.
15934 15934
15935 - On the Mac, dynamically loaded modules can end in either ".slb" or 15935 - On the Mac, dynamically loaded modules can end in either ".slb" or
15936 ".<platform>.slb" where <platform> is either "CFM68K" or "ppc". The ".slb" 15936 ".<platform>.slb" where <platform> is either "CFM68K" or "ppc". The ".slb"
15937 extension should only be used for "fat" binaries. 15937 extension should only be used for "fat" binaries.
15938 15938
15939 - C API addition: marshal.c now supports 15939 - C API addition: marshal.c now supports
15940 PyMarshal_WriteObjectToString(object). 15940 PyMarshal_WriteObjectToString(object).
15941 15941
15942 - C API addition: getargs.c now supports 15942 - C API addition: getargs.c now supports
15943 PyArg_ParseTupleAndKeywords(args, kwdict, format, kwnames, ...) 15943 PyArg_ParseTupleAndKeywords(args, kwdict, format, kwnames, ...)
15944 to parse keyword arguments. 15944 to parse keyword arguments.
15945 15945
15946 - The PC versioning scheme (sys.winver) has changed once again. the 15946 - The PC versioning scheme (sys.winver) has changed once again. the
15947 version number is now "<digit>.<digit>.<digit>.<apiversion>", where the 15947 version number is now "<digit>.<digit>.<digit>.<apiversion>", where the
15948 first three <digit>s are the Python version (e.g. "1.4.0" for Python 1.4, 15948 first three <digit>s are the Python version (e.g. "1.4.0" for Python 1.4,
15949 "1.4.1" for Python 1.4.1 -- the beta level is not included) and 15949 "1.4.1" for Python 1.4.1 -- the beta level is not included) and
15950 <apiversion> is the four-digit PYTHON_API_VERSION (currently 1005). 15950 <apiversion> is the four-digit PYTHON_API_VERSION (currently 1005).
15951 15951
15952 - h2py.py accepts whitespace before the # in CPP directives 15952 - h2py.py accepts whitespace before the # in CPP directives
15953 15953
15954 - On Solaris 2.5, it should now be possible to use either Posix threads or 15954 - On Solaris 2.5, it should now be possible to use either Posix threads or
15955 Solaris threads (XXX: how do you select which is used???). (Note: the 15955 Solaris threads (XXX: how do you select which is used???). (Note: the
15956 Python pthreads interface doesn't fully support semaphores yet -- anyone 15956 Python pthreads interface doesn't fully support semaphores yet -- anyone
15957 care to fix this?) 15957 care to fix this?)
15958 15958
15959 - Thread support should now work on AIX, using either DCE threads or 15959 - Thread support should now work on AIX, using either DCE threads or
15960 pthreads. 15960 pthreads.
15961 15961
15962 - New file Demo/sockets/unicast.py 15962 - New file Demo/sockets/unicast.py
15963 15963
15964 - Working Mac port, with CFM68K support, with Tk 4.1 support (though not 15964 - Working Mac port, with CFM68K support, with Tk 4.1 support (though not
15965 both) (XXX) 15965 both) (XXX)
15966 15966
15967 - New project setup for PC port, now compatible with PythonWin, with 15967 - New project setup for PC port, now compatible with PythonWin, with
15968 _tkinter and NumPy support (XXX) 15968 _tkinter and NumPy support (XXX)
15969 15969
15970 - New module site.py (XXX) 15970 - New module site.py (XXX)
15971 15971
15972 - New module xdrlib.py and optional support module _xdrmodule.c (XXX) 15972 - New module xdrlib.py and optional support module _xdrmodule.c (XXX)
15973 15973
15974 - parser module adapted to new grammar, complete w/ Doc & Demo (XXX) 15974 - parser module adapted to new grammar, complete w/ Doc & Demo (XXX)
15975 15975
15976 - regen script fixed (XXX) 15976 - regen script fixed (XXX)
15977 15977
15978 - new machdep subdirectories Lib/{aix3,aix4,next3_3,freebsd2,linux2} (XXX) 15978 - new machdep subdirectories Lib/{aix3,aix4,next3_3,freebsd2,linux2} (XXX)
15979 15979
15980 - testall now also tests math module (XXX) 15980 - testall now also tests math module (XXX)
15981 15981
15982 - string.atoi c.s. now raise an exception for an empty input string. 15982 - string.atoi c.s. now raise an exception for an empty input string.
15983 15983
15984 - At last, it is no longer necessary to define HAVE_CONFIG_H in order to 15984 - At last, it is no longer necessary to define HAVE_CONFIG_H in order to
15985 have config.h included at various places. 15985 have config.h included at various places.
15986 15986
15987 - Unrecognized keyword arguments now raise TypeError rather than KeyError. 15987 - Unrecognized keyword arguments now raise TypeError rather than KeyError.
15988 15988
15989 - The makesetup script recognizes files with extension .so or .sl as 15989 - The makesetup script recognizes files with extension .so or .sl as
15990 (shared) libraries. 15990 (shared) libraries.
15991 15991
15992 - 'access' is no longer a reserved word, and all code related to its 15992 - 'access' is no longer a reserved word, and all code related to its
15993 implementation is gone (or at least #ifdef'ed out). This should make 15993 implementation is gone (or at least #ifdef'ed out). This should make
15994 Python a little speedier too! 15994 Python a little speedier too!
15995 15995
15996 - Performance enhancements suggested by Sjoerd Mullender. This includes 15996 - Performance enhancements suggested by Sjoerd Mullender. This includes
15997 the introduction of two new optional function pointers in type object, 15997 the introduction of two new optional function pointers in type object,
15998 getattro and setattro, which are like getattr and setattr but take a 15998 getattro and setattro, which are like getattr and setattr but take a
15999 string object instead of a C string pointer. 15999 string object instead of a C string pointer.
16000 16000
16001 - New operations in string module: lstrip(s) and rstrip(s) strip whitespace 16001 - New operations in string module: lstrip(s) and rstrip(s) strip whitespace
16002 only on the left or only on the right, A new optional third argument to 16002 only on the left or only on the right, A new optional third argument to
16003 split() specifies the maximum number of separators honored (so 16003 split() specifies the maximum number of separators honored (so
16004 splitfields(s, sep, n) returns a list of at most n+1 elements). (Since 16004 splitfields(s, sep, n) returns a list of at most n+1 elements). (Since
16005 1.3, splitfields(s, None) is totally equivalent to split(s).) 16005 1.3, splitfields(s, None) is totally equivalent to split(s).)
16006 string.capwords() has an optional second argument specifying the 16006 string.capwords() has an optional second argument specifying the
16007 separator (which is passed to split()). 16007 separator (which is passed to split()).
16008 16008
16009 - regsub.split() has the same addition as string.split(). regsub.splitx(s, 16009 - regsub.split() has the same addition as string.split(). regsub.splitx(s,
16010 sep, maxsep) implements the functionality that was regsub.split(s, 1) in 16010 sep, maxsep) implements the functionality that was regsub.split(s, 1) in
16011 1.4beta2 (return a list containing the delimiters as well as the words). 16011 1.4beta2 (return a list containing the delimiters as well as the words).
16012 16012
16013 - Final touch for AIX loading, rewritten Misc/AIX-NOTES. 16013 - Final touch for AIX loading, rewritten Misc/AIX-NOTES.
16014 16014
16015 - In Modules/_tkinter.c, when using Tk 4.1 or higher, use className 16015 - In Modules/_tkinter.c, when using Tk 4.1 or higher, use className
16016 argument to _tkinter.create() to set Tcl's argv0 variable, so X 16016 argument to _tkinter.create() to set Tcl's argv0 variable, so X
16017 resources use the right resource class again. 16017 resources use the right resource class again.
16018 16018
16019 - Add #undef fabs to Modules/mathmodule.c for macintosh. 16019 - Add #undef fabs to Modules/mathmodule.c for macintosh.
16020 16020
(...skipping 23 matching lines...) Expand all
16044 16044
16045 What's new in 1.4beta2 (since beta1)? 16045 What's new in 1.4beta2 (since beta1)?
16046 ------------------------------------- 16046 -------------------------------------
16047 16047
16048 - Portability bug in the md5.h header solved. 16048 - Portability bug in the md5.h header solved.
16049 16049
16050 - The PC build procedure now really works, and sets sys.platform to a 16050 - The PC build procedure now really works, and sets sys.platform to a
16051 meaningful value (a few things were botched in beta 1). Lib/dos_8x3 16051 meaningful value (a few things were botched in beta 1). Lib/dos_8x3
16052 is now a standard part of the distribution (alas). 16052 is now a standard part of the distribution (alas).
16053 16053
16054 - More improvements to the installation procedure. Typing "make install" 16054 - More improvements to the installation procedure. Typing "make install"
16055 now inserts the version number in the pathnames of almost everything 16055 now inserts the version number in the pathnames of almost everything
16056 installed, and creates the machine dependent modules (FCNTL.py etc.) if not 16056 installed, and creates the machine dependent modules (FCNTL.py etc.) if not
16057 supplied by the distribution. (XXX There's still a problem with the latter 16057 supplied by the distribution. (XXX There's still a problem with the latter
16058 because the "regen" script requires that Python is installed. Some manual 16058 because the "regen" script requires that Python is installed. Some manual
16059 intervention may still be required.) (This has been fixed in 1.4beta3.) 16059 intervention may still be required.) (This has been fixed in 1.4beta3.)
16060 16060
16061 - New modules: errno, operator (XXX). 16061 - New modules: errno, operator (XXX).
16062 16062
16063 - Changes for use with Numerical Python: built-in function slice() and 16063 - Changes for use with Numerical Python: built-in function slice() and
16064 Ellipses object, and corresponding syntax: 16064 Ellipses object, and corresponding syntax:
16065 16065
16066 x[lo:hi:stride] == x[slice(lo, hi, stride)] 16066 x[lo:hi:stride] == x[slice(lo, hi, stride)]
16067 x[a, ..., z] == x[(a, Ellipses, z)] 16067 x[a, ..., z] == x[(a, Ellipses, z)]
16068 16068
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
16111 16111
16112 - Modules regexmodule.c, bsddbmodule.c and xxmodule.c have been 16112 - Modules regexmodule.c, bsddbmodule.c and xxmodule.c have been
16113 converted to new naming style. 16113 converted to new naming style.
16114 16114
16115 16115
16116 What's new in 1.4beta1 (since 1.3)? 16116 What's new in 1.4beta1 (since 1.3)?
16117 ----------------------------------- 16117 -----------------------------------
16118 16118
16119 - Added sys.platform and sys.exec_platform for Bill Janssen. 16119 - Added sys.platform and sys.exec_platform for Bill Janssen.
16120 16120
16121 - Installation has been completely overhauled. "make install" now installs 16121 - Installation has been completely overhauled. "make install" now installs
16122 everything, not just the python binary. Installation uses the install-sh 16122 everything, not just the python binary. Installation uses the install-sh
16123 script (borrowed from X11) to install each file. 16123 script (borrowed from X11) to install each file.
16124 16124
16125 - New functions in the posix module: mkfifo, plock, remove (== unlink), 16125 - New functions in the posix module: mkfifo, plock, remove (== unlink),
16126 and ftruncate. More functions are also available under NT. 16126 and ftruncate. More functions are also available under NT.
16127 16127
16128 - New function in the fcntl module: flock. 16128 - New function in the fcntl module: flock.
16129 16129
16130 - Shared library support for FreeBSD. 16130 - Shared library support for FreeBSD.
16131 16131
16132 - The --with-readline option can now be used without a DIRECTORY argument, 16132 - The --with-readline option can now be used without a DIRECTORY argument,
16133 for systems where libreadline.* is in one of the standard places. It is 16133 for systems where libreadline.* is in one of the standard places. It is
16134 also possible for it to be a shared library. 16134 also possible for it to be a shared library.
16135 16135
16136 - The extension tkinter has been renamed to _tkinter, to avoid confusion 16136 - The extension tkinter has been renamed to _tkinter, to avoid confusion
16137 with Tkinter.py oncase insensitive file systems. It now supports Tk 4.1 as 16137 with Tkinter.py oncase insensitive file systems. It now supports Tk 4.1 as
16138 well as 4.0. 16138 well as 4.0.
16139 16139
16140 - Author's change of address from CWI in Amsterdam, The Netherlands, to 16140 - Author's change of address from CWI in Amsterdam, The Netherlands, to
16141 CNRI in Reston, VA, USA. 16141 CNRI in Reston, VA, USA.
16142 16142
16143 - The math.hypot() function is now always available (if it isn't found in 16143 - The math.hypot() function is now always available (if it isn't found in
16144 the C math library, Python provides its own implementation). 16144 the C math library, Python provides its own implementation).
16145 16145
16146 - The latex documentation is now compatible with latex2e, thanks to David 16146 - The latex documentation is now compatible with latex2e, thanks to David
16147 Ascher. 16147 Ascher.
16148 16148
16149 - The expression x**y is now equivalent to pow(x, y). 16149 - The expression x**y is now equivalent to pow(x, y).
16150 16150
16151 - The indexing expression x[a, b, c] is now equivalent to x[(a, b, c)]. 16151 - The indexing expression x[a, b, c] is now equivalent to x[(a, b, c)].
16152 16152
16153 - Complex numbers are now supported. Imaginary constants are written with 16153 - Complex numbers are now supported. Imaginary constants are written with
16154 a 'j' or 'J' prefix, general complex numbers can be formed by adding a real 16154 a 'j' or 'J' prefix, general complex numbers can be formed by adding a real
16155 part to an imaginary part, like 3+4j. Complex numbers are always stored in 16155 part to an imaginary part, like 3+4j. Complex numbers are always stored in
16156 floating point form, so this is equivalent to 3.0+4.0j. It is also 16156 floating point form, so this is equivalent to 3.0+4.0j. It is also
16157 possible to create complex numbers with the new built-in function 16157 possible to create complex numbers with the new built-in function
16158 complex(re, [im]). For the footprint-conscious, complex number support can 16158 complex(re, [im]). For the footprint-conscious, complex number support can
16159 be disabled by defining the symbol WITHOUT_COMPLEX. 16159 be disabled by defining the symbol WITHOUT_COMPLEX.
16160 16160
16161 - New built-in function list() is the long-awaited counterpart of tuple(). 16161 - New built-in function list() is the long-awaited counterpart of tuple().
16162 16162
16163 - There's a new "cmath" module which provides the same functions as the 16163 - There's a new "cmath" module which provides the same functions as the
16164 "math" library but with complex arguments and results. (There are very 16164 "math" library but with complex arguments and results. (There are very
16165 good reasons why math.sqrt(-1) still raises an exception -- you have to use 16165 good reasons why math.sqrt(-1) still raises an exception -- you have to use
16166 cmath.sqrt(-1) to get 1j for an answer.) 16166 cmath.sqrt(-1) to get 1j for an answer.)
16167 16167
16168 - The Python.h header file (which is really the same as allobjects.h except 16168 - The Python.h header file (which is really the same as allobjects.h except
16169 it disables support for old style names) now includes several more files, 16169 it disables support for old style names) now includes several more files,
16170 so you have to have fewer #include statements in the average extension. 16170 so you have to have fewer #include statements in the average extension.
16171 16171
16172 - The NDEBUG symbol is no longer used. Code that used to be dependent on 16172 - The NDEBUG symbol is no longer used. Code that used to be dependent on
16173 the presence of NDEBUG is now present on the absence of DEBUG. TRACE_REFS 16173 the presence of NDEBUG is now present on the absence of DEBUG. TRACE_REFS
16174 and REF_DEBUG have been renamed to Py_TRACE_REFS and Py_REF_DEBUG, 16174 and REF_DEBUG have been renamed to Py_TRACE_REFS and Py_REF_DEBUG,
16175 respectively. At long last, the source actually compiles and links without 16175 respectively. At long last, the source actually compiles and links without
16176 errors when this symbol is defined. 16176 errors when this symbol is defined.
16177 16177
16178 - Several symbols that didn't follow the new naming scheme have been 16178 - Several symbols that didn't follow the new naming scheme have been
16179 renamed (usually by adding to rename2.h) to use a Py or _Py prefix. There 16179 renamed (usually by adding to rename2.h) to use a Py or _Py prefix. There
16180 are no external symbols left without a Py or _Py prefix, not even those 16180 are no external symbols left without a Py or _Py prefix, not even those
16181 defined by sources that were incorporated from elsewhere (regexpr.c, 16181 defined by sources that were incorporated from elsewhere (regexpr.c,
16182 md5c.c). (Macros are a different story...) 16182 md5c.c). (Macros are a different story...)
16183 16183
16184 - There are now typedefs for the structures defined in config.c and 16184 - There are now typedefs for the structures defined in config.c and
16185 frozen.c. 16185 frozen.c.
16186 16186
16187 - New PYTHON_API_VERSION value and .pyc file magic number. 16187 - New PYTHON_API_VERSION value and .pyc file magic number.
16188 16188
16189 - New module Bastion. (XXX) 16189 - New module Bastion. (XXX)
16190 16190
16191 - Improved performance of StringIO module. 16191 - Improved performance of StringIO module.
16192 16192
16193 - UserList module now supports + and * operators. 16193 - UserList module now supports + and * operators.
16194 16194
16195 - The binhex and binascii modules now actually work. 16195 - The binhex and binascii modules now actually work.
16196 16196
16197 - The cgi module has been almost totally rewritten and documented. 16197 - The cgi module has been almost totally rewritten and documented.
16198 It now supports file upload and a new data type to handle forms more 16198 It now supports file upload and a new data type to handle forms more
16199 flexibly. 16199 flexibly.
16200 16200
16201 - The formatter module (for use with htmllib) has been overhauled (again). 16201 - The formatter module (for use with htmllib) has been overhauled (again).
16202 16202
16203 - The ftplib module now supports passive mode and has doc strings. 16203 - The ftplib module now supports passive mode and has doc strings.
16204 16204
16205 - In (ideally) all places where binary files are read or written, the file 16205 - In (ideally) all places where binary files are read or written, the file
16206 is now correctly opened in binary mode ('rb' or 'wb') so the code will work 16206 is now correctly opened in binary mode ('rb' or 'wb') so the code will work
16207 on Mac or PC. 16207 on Mac or PC.
16208 16208
16209 - Dummy versions of os.path.expandvars() and expanduser() are now provided 16209 - Dummy versions of os.path.expandvars() and expanduser() are now provided
16210 on non-Unix platforms. 16210 on non-Unix platforms.
16211 16211
16212 - Module urllib now has two new functions url2pathname and pathname2url 16212 - Module urllib now has two new functions url2pathname and pathname2url
16213 which turn local filenames into "file:..." URLs using the same rules as 16213 which turn local filenames into "file:..." URLs using the same rules as
16214 Netscape (why be different). it also supports urlretrieve() with a 16214 Netscape (why be different). it also supports urlretrieve() with a
16215 pathname parameter, and honors the proxy environment variables (http_proxy 16215 pathname parameter, and honors the proxy environment variables (http_proxy
16216 etc.). The URL parsing has been improved somewhat, too. 16216 etc.). The URL parsing has been improved somewhat, too.
16217 16217
16218 - Micro improvements to urlparse. Added urlparse.urldefrag() which 16218 - Micro improvements to urlparse. Added urlparse.urldefrag() which
16219 removes a trailing ``#fragment'' if any. 16219 removes a trailing ``#fragment'' if any.
16220 16220
16221 - The mailbox module now supports MH style message delimiters as well. 16221 - The mailbox module now supports MH style message delimiters as well.
16222 16222
16223 - The mhlib module contains some new functionality: setcontext() to set the 16223 - The mhlib module contains some new functionality: setcontext() to set the
16224 current folder and parsesequence() to parse a sequence as commonly passed 16224 current folder and parsesequence() to parse a sequence as commonly passed
16225 to MH commands (e.g. 1-10 or last:5). 16225 to MH commands (e.g. 1-10 or last:5).
16226 16226
16227 - New module mimify for conversion to and from MIME format of email 16227 - New module mimify for conversion to and from MIME format of email
16228 messages. 16228 messages.
16229 16229
16230 - Module ni now automatically installs itself when first imported -- this 16230 - Module ni now automatically installs itself when first imported -- this
16231 is against the normal rule that modules should define classes and functions 16231 is against the normal rule that modules should define classes and functions
16232 but not invoke them, but appears more useful in the case that two 16232 but not invoke them, but appears more useful in the case that two
16233 different, independent modules want to use ni's features. 16233 different, independent modules want to use ni's features.
16234 16234
16235 - Some small performance enhancements in module pickle. 16235 - Some small performance enhancements in module pickle.
16236 16236
16237 - Small interface change to the profile.run*() family of functions -- more 16237 - Small interface change to the profile.run*() family of functions -- more
16238 sensible handling of return values. 16238 sensible handling of return values.
16239 16239
16240 - The officially registered Mac creator for Python files is 'Pyth'. This 16240 - The officially registered Mac creator for Python files is 'Pyth'. This
16241 replaces 'PYTH' which was used before but never registered. 16241 replaces 'PYTH' which was used before but never registered.
16242 16242
16243 - Added regsub.capwords(). (XXX) 16243 - Added regsub.capwords(). (XXX)
16244 16244
16245 - Added string.capwords(), string.capitalize() and string.translate(). 16245 - Added string.capwords(), string.capitalize() and string.translate().
16246 (XXX) 16246 (XXX)
16247 16247
16248 - Fixed an interface bug in the rexec module: it was impossible to pass a 16248 - Fixed an interface bug in the rexec module: it was impossible to pass a
16249 hooks instance to the RExec class. rexec now also supports the dynamic 16249 hooks instance to the RExec class. rexec now also supports the dynamic
16250 loading of modules from shared libraries. Some other interfaces have been 16250 loading of modules from shared libraries. Some other interfaces have been
16251 added too. 16251 added too.
16252 16252
16253 - Module rfc822 now caches the headers in a dictionary for more efficient 16253 - Module rfc822 now caches the headers in a dictionary for more efficient
16254 lookup. 16254 lookup.
16255 16255
16256 - The sgmllib module now understands a limited number of SGML "shorthands" 16256 - The sgmllib module now understands a limited number of SGML "shorthands"
16257 like <A/.../ for <A>...</A>. (It's not clear that this was a good idea...) 16257 like <A/.../ for <A>...</A>. (It's not clear that this was a good idea...)
16258 16258
16259 - The tempfile module actually tries a number of different places to find a 16259 - The tempfile module actually tries a number of different places to find a
16260 usable temporary directory. (This was prompted by certain Linux 16260 usable temporary directory. (This was prompted by certain Linux
16261 installations that appear to be missing a /usr/tmp directory.) [A bug in 16261 installations that appear to be missing a /usr/tmp directory.) [A bug in
16262 the implementation that would ignore a pre-existing tmpdir global has been 16262 the implementation that would ignore a pre-existing tmpdir global has been
16263 fixed in beta3.] 16263 fixed in beta3.]
16264 16264
16265 - Much improved and enhanved FileDialog module for Tkinter. 16265 - Much improved and enhanved FileDialog module for Tkinter.
16266 16266
16267 - Many small changes to Tkinter, to bring it more in line with Tk 4.0 (as 16267 - Many small changes to Tkinter, to bring it more in line with Tk 4.0 (as
16268 well as Tk 4.1). 16268 well as Tk 4.1).
16269 16269
16270 - New socket interfaces include ntohs(), ntohl(), htons(), htonl(), and 16270 - New socket interfaces include ntohs(), ntohl(), htons(), htonl(), and
16271 s.dup(). Sockets now work correctly on Windows. On Windows, the built-in 16271 s.dup(). Sockets now work correctly on Windows. On Windows, the built-in
16272 extension is called _socket and a wrapper module win/socket.py provides 16272 extension is called _socket and a wrapper module win/socket.py provides
16273 "makefile()" and "dup()" functionality. On Windows, the select module 16273 "makefile()" and "dup()" functionality. On Windows, the select module
16274 works only with socket objects. 16274 works only with socket objects.
16275 16275
16276 - Bugs in bsddb module fixed (e.g. missing default argument values). 16276 - Bugs in bsddb module fixed (e.g. missing default argument values).
16277 16277
16278 - The curses extension now includes <ncurses.h> when available. 16278 - The curses extension now includes <ncurses.h> when available.
16279 16279
16280 - The gdbm module now supports opening databases in "fast" mode by 16280 - The gdbm module now supports opening databases in "fast" mode by
16281 specifying 'f' as the second character or the mode string. 16281 specifying 'f' as the second character or the mode string.
16282 16282
16283 - new variables sys.prefix and sys.exec_prefix pass corresponding 16283 - new variables sys.prefix and sys.exec_prefix pass corresponding
16284 configuration options / Makefile variables to the Python programmer. 16284 configuration options / Makefile variables to the Python programmer.
16285 16285
16286 - The ``new'' module now supports creating new user-defined classes as well 16286 - The ``new'' module now supports creating new user-defined classes as well
16287 as instances thereof. 16287 as instances thereof.
16288 16288
16289 - The soundex module now sports get_soundex() to get the soundex value for an 16289 - The soundex module now sports get_soundex() to get the soundex value for an
16290 arbitrary string (formerly it would only do soundex-based string 16290 arbitrary string (formerly it would only do soundex-based string
16291 comparison) as well as doc strings. 16291 comparison) as well as doc strings.
16292 16292
16293 - New object type "cobject" to safely wrap void pointers for passing them 16293 - New object type "cobject" to safely wrap void pointers for passing them
16294 between various extension modules. 16294 between various extension modules.
16295 16295
16296 - More efficient computation of float**smallint. 16296 - More efficient computation of float**smallint.
16297 16297
16298 - The mysterious bug whereby "x.x" (two occurrences of the same 16298 - The mysterious bug whereby "x.x" (two occurrences of the same
16299 one-character name) typed from the commandline would sometimes fail 16299 one-character name) typed from the commandline would sometimes fail
16300 mysteriously. 16300 mysteriously.
16301 16301
16302 - The initialization of the readline function can now be invoked by a C 16302 - The initialization of the readline function can now be invoked by a C
16303 extension through PyOS_ReadlineInit(). 16303 extension through PyOS_ReadlineInit().
16304 16304
16305 - There's now an externally visible pointer PyImport_FrozenModules which 16305 - There's now an externally visible pointer PyImport_FrozenModules which
16306 can be changed by an embedding application. 16306 can be changed by an embedding application.
16307 16307
16308 - The argument parsing functions now support a new format character 'D' to 16308 - The argument parsing functions now support a new format character 'D' to
16309 specify complex numbers. 16309 specify complex numbers.
16310 16310
16311 - Various memory leaks plugged and bugs fixed. 16311 - Various memory leaks plugged and bugs fixed.
16312 16312
16313 - Improved support for posix threads (now that real implementations are 16313 - Improved support for posix threads (now that real implementations are
16314 beginning to apepar). Still no fully functioning semaphores. 16314 beginning to apepar). Still no fully functioning semaphores.
16315 16315
16316 - Some various and sundry improvements and new entries in the Tools 16316 - Some various and sundry improvements and new entries in the Tools
16317 directory. 16317 directory.
16318 16318
16319 16319
16320 ===================================== 16320 =====================================
16321 ==> Release 1.3 (13 October 1995) <== 16321 ==> Release 1.3 (13 October 1995) <==
16322 ===================================== 16322 =====================================
16323 16323
16324 Major change 16324 Major change
16325 ============ 16325 ============
16326 16326
(...skipping 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after
17916 assigned to those names as long as the object supports readline() or 17916 assigned to those names as long as the object supports readline() or
17917 write() methods. 17917 write() methods.
17918 17918
17919 The parser stack has been increased to 500 to accommodate more 17919 The parser stack has been increased to 500 to accommodate more
17920 complicated expressions (7 levels used to be the practical maximum, 17920 complicated expressions (7 levels used to be the practical maximum,
17921 it's now about 38). 17921 it's now about 38).
17922 17922
17923 The limit on the size of the *run-time* stack has completely been 17923 The limit on the size of the *run-time* stack has completely been
17924 removed -- this means that tuple or list displays can contain any 17924 removed -- this means that tuple or list displays can contain any
17925 number of elements (formerly more than 50 would crash the 17925 number of elements (formerly more than 50 would crash the
17926 interpreter). 17926 interpreter).
17927 17927
17928 17928
17929 Changes to existing built-in functions and methods 17929 Changes to existing built-in functions and methods
17930 -------------------------------------------------- 17930 --------------------------------------------------
17931 17931
17932 The built-in functions int(), long(), float(), oct() and hex() now 17932 The built-in functions int(), long(), float(), oct() and hex() now
17933 also apply to class instalces that define corresponding methods 17933 also apply to class instalces that define corresponding methods
17934 (__int__ etc.). 17934 (__int__ etc.).
17935 17935
17936 17936
(...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after
18818 18818
18819 - Micro changes only 18819 - Micro changes only
18820 - Added file "patchlevel.h" 18820 - Added file "patchlevel.h"
18821 18821
18822 18822
18823 ===================================== 18823 =====================================
18824 ==> Release 0.9.0 (February 1991) <== 18824 ==> Release 0.9.0 (February 1991) <==
18825 ===================================== 18825 =====================================
18826 18826
18827 Original posting to alt.sources. 18827 Original posting to alt.sources.
OLDNEW
« no previous file with comments | « Misc/gdbinit ('k') | Misc/Porting » ('j') | no next file with comments »

RSS Feeds Recent Issues | This issue
This is Rietveld 894c83f36cb7+