| Skip Montanaro | e5d7f7f | 2002-09-20 14:16:59 +0000 | [diff] [blame] | 1 | +++++++++++ | 
|  | 2 | Python News | 
|  | 3 | +++++++++++ | 
|  | 4 |  | 
| Anthony Baxter | b0c6630 | 2004-11-04 05:23:17 +0000 | [diff] [blame] | 5 | (editors: check NEWS.help for information about editing NEWS using ReST.) | 
|  | 6 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 7 | What's New in Python 2.5 alpha 1? | 
|  | 8 | ================================= | 
|  | 9 |  | 
| Anthony Baxter | 12b6f6c | 2005-03-29 13:36:16 +0000 | [diff] [blame] | 10 | *Release date: XX-XXX-2006* | 
|  | 11 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 12 | Core and builtins | 
|  | 13 | ----------------- | 
|  | 14 |  | 
| Neal Norwitz | 92e212f | 2006-04-03 04:48:37 +0000 | [diff] [blame] | 15 | - __import__ accepts keyword arguments. | 
|  | 16 |  | 
| Georg Brandl | ccadf84 | 2006-03-31 18:54:53 +0000 | [diff] [blame] | 17 | - Patch #1460496: round() now accepts keyword arguments. | 
|  | 18 |  | 
| Anthony Baxter | 262c00a | 2006-03-30 10:53:17 +0000 | [diff] [blame] | 19 | - Fixed bug #1459029 - unicode reprs were double-escaped. | 
|  | 20 |  | 
| Hye-Shik Chang | d478f34 | 2006-03-23 12:32:36 +0000 | [diff] [blame] | 21 | - Patch #1396919: The system scope threads are reenabled on FreeBSD | 
|  | 22 | 5.4 and later versions. | 
|  | 23 |  | 
| Neal Norwitz | e98ccf6 | 2006-03-23 05:39:47 +0000 | [diff] [blame] | 24 | - Bug #1115379: Compiling a Unicode string with an encoding declaration | 
|  | 25 | now gives a SyntaxError. | 
|  | 26 |  | 
| Georg Brandl | abd1ff8 | 2006-03-18 07:59:59 +0000 | [diff] [blame] | 27 | - Previously, Python code had no easy way to access the contents of a | 
|  | 28 | cell object. Now, a ``cell_contents`` attribute has been added | 
|  | 29 | (closes patch #1170323). | 
|  | 30 |  | 
| Tim Peters | cf79aac | 2006-03-16 01:14:46 +0000 | [diff] [blame] | 31 | - Patch #1123430: Python's small-object allocator now returns an arena to | 
|  | 32 | the system ``free()`` when all memory within an arena becomes unused | 
|  | 33 | again.  Prior to Python 2.5, arenas (256KB chunks of memory) were never | 
|  | 34 | freed.  Some applications will see a drop in virtual memory size now, | 
|  | 35 | especially long-running applications that, from time to time, temporarily | 
|  | 36 | use a large number of small objects.  Note that when Python returns an | 
|  | 37 | arena to the platform C's ``free()``, there's no guarantee that the | 
|  | 38 | platform C will in turn return that memory to the operating system.  The | 
|  | 39 | effect of the patch is to stop making that impossible, and in tests it | 
|  | 40 | appears to be effective at least on Microsoft C and gcc-based systems. | 
|  | 41 | Thanks to Evan Jones for hard work and patience. | 
|  | 42 |  | 
| Georg Brandl | 533ff6f | 2006-03-08 18:09:27 +0000 | [diff] [blame] | 43 | - Patch #1434038: property() now uses the getter's docstring if there is | 
|  | 44 | no "doc" argument given. This makes it possible to legitimately use | 
|  | 45 | property() as a decorator to produce a read-only property. | 
|  | 46 |  | 
| Guido van Rossum | 9aa37ab | 2006-03-07 18:54:08 +0000 | [diff] [blame] | 47 | - PEP 357, patch 1436368: add an __index__ method to int/long and a matching | 
|  | 48 | nb_index slot to the PyNumberMethods struct.  The slot is consulted instead | 
|  | 49 | of requiring an int or long in slicing and a few other contexts, enabling | 
|  | 50 | other objects (e.g. Numeric Python's integers) to be used as slice indices. | 
|  | 51 |  | 
| Neal Norwitz | 995acdf | 2006-03-07 05:01:00 +0000 | [diff] [blame] | 52 | - Fixed various bugs reported by Coverity's Prevent tool. | 
|  | 53 |  | 
| Brett Cannon | bf36409 | 2006-03-01 04:25:17 +0000 | [diff] [blame] | 54 | - PEP 352, patch #1104669: Make exceptions new-style objects.  Introduced the | 
|  | 55 | new exception base class, BaseException, which has a new message attribute. | 
|  | 56 | KeyboardInterrupt and SystemExit to directly inherit from BaseException now. | 
|  | 57 | Raising a string exception now raises a DeprecationWarning. | 
|  | 58 |  | 
| Thomas Wouters | fb609f4 | 2006-02-28 16:37:25 +0000 | [diff] [blame] | 59 | - Patch #1438387, PEP 328: relative and absolute imports. Imports can now be | 
|  | 60 | explicitly relative, using 'from .module import name' to mean 'from the same | 
|  | 61 | package as this module is in. Imports without dots still default to the | 
|  | 62 | old relative-then-absolute, unless 'from __future__ import | 
|  | 63 | absolute_import' is used. | 
|  | 64 |  | 
| Brett Cannon | a7446e3 | 2006-02-27 23:39:10 +0000 | [diff] [blame] | 65 | - Properly check if 'warnings' raises an exception (usually when a filter set | 
|  | 66 | to "error" is triggered) when raising a warning for raising string | 
|  | 67 | exceptions. | 
|  | 68 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 69 | - CO_GENERATOR_ALLOWED is no longer defined. This behavior is the default. | 
| Neal Norwitz | 0023a2f | 2006-02-27 23:24:48 +0000 | [diff] [blame] | 70 | The name was removed from Include/code.h. | 
|  | 71 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 72 | - PEP 308: conditional expressions were added: (x if cond else y). | 
| Neal Norwitz | eb65125 | 2006-02-27 16:47:12 +0000 | [diff] [blame] | 73 |  | 
| Guido van Rossum | 1968ad3 | 2006-02-25 22:38:04 +0000 | [diff] [blame] | 74 | - Patch 1433928: | 
|  | 75 | - The copy module now "copies" function objects (as atomic objects). | 
|  | 76 | - dict.__getitem__ now looks for a __missing__ hook before raising | 
|  | 77 | KeyError. | 
|  | 78 |  | 
| Tim Peters | 84ef21c | 2006-02-28 20:39:06 +0000 | [diff] [blame] | 79 | - PEP 343: with statement implemented. Needs ``from __future__ import | 
|  | 80 | with_statement``. Use of 'with' as a variable will generate a warning. | 
|  | 81 | Use of 'as' as a variable will also generate a warning (unless it's | 
| Neal Norwitz | 055ec24 | 2006-02-28 20:06:49 +0000 | [diff] [blame] | 82 | part of an import statement). | 
| Guido van Rossum | 1a5e21e | 2006-02-28 21:57:43 +0000 | [diff] [blame] | 83 | The following objects have __context__ methods: | 
|  | 84 | - The built-in file type. | 
|  | 85 | - The thread.LockType type. | 
|  | 86 | - The following types defined by the threading module: | 
|  | 87 | Lock, RLock, Condition, Semaphore, BoundedSemaphore. | 
|  | 88 | - The decimal.Context class. | 
| Guido van Rossum | c2e2074 | 2006-02-27 22:32:47 +0000 | [diff] [blame] | 89 |  | 
| Marc-André Lemburg | fe4b34c | 2006-02-19 15:22:22 +0000 | [diff] [blame] | 90 | - Fix the encodings package codec search function to only search | 
|  | 91 | inside its own package. Fixes problem reported in patch #1433198. | 
|  | 92 |  | 
|  | 93 | Note: Codec packages should implement and register their own | 
|  | 94 | codec search function. PEP 100 has the details. | 
|  | 95 |  | 
| Martin v. Löwis | 18e1655 | 2006-02-15 17:27:45 +0000 | [diff] [blame] | 96 | - PEP 353: Using ssize_t as the index type. | 
|  | 97 |  | 
| Neal Norwitz | fc76d63 | 2006-01-10 06:03:13 +0000 | [diff] [blame] | 98 | - Patch #1400181, fix unicode string formatting to not use the locale. | 
|  | 99 | This is how string objects work.  u'%f' could use , instead of . | 
|  | 100 | for the decimal point.  Now both strings and unicode always use periods. | 
|  | 101 |  | 
| Neal Norwitz | 671b9e3 | 2006-01-09 07:07:12 +0000 | [diff] [blame] | 102 | - Bug #1244610, #1392915, fix build problem on OpenBSD 3.7 and 3.8. | 
|  | 103 | configure would break checking curses.h. | 
|  | 104 |  | 
| Georg Brandl | cd4d1e8 | 2005-12-27 17:37:07 +0000 | [diff] [blame] | 105 | - Bug #959576: The pwd module is now builtin. This allows Python to be | 
|  | 106 | built on UNIX platforms without $HOME set. | 
|  | 107 |  | 
| Neal Norwitz | c10978f | 2005-12-19 06:07:16 +0000 | [diff] [blame] | 108 | - Bug #1072182, fix some potential problems if characters are signed. | 
|  | 109 |  | 
| Neal Norwitz | 5d0ad50 | 2005-12-19 04:27:42 +0000 | [diff] [blame] | 110 | - Bug #889500, fix line number on SyntaxWarning for global declarations. | 
|  | 111 |  | 
| Neal Norwitz | db83eb3 | 2005-12-18 05:29:30 +0000 | [diff] [blame] | 112 | - Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter. | 
|  | 113 |  | 
| Neal Norwitz | e7214a1 | 2005-12-18 05:03:17 +0000 | [diff] [blame] | 114 | - Support for converting hex strings to floats no longer works. | 
|  | 115 | This was not portable.  float('0x3') now raises a ValueError. | 
|  | 116 |  | 
| Barry Warsaw | 2a38a86 | 2005-12-18 01:27:35 +0000 | [diff] [blame] | 117 | - Patch #1382163: Expose Subversion revision number to Python.  New C API | 
| Barry Warsaw | d3c38ff | 2006-03-07 09:46:03 +0000 | [diff] [blame] | 118 | function Py_GetBuildNumber().  New attribute sys.subversion.  Build number | 
| Barry Warsaw | 2a38a86 | 2005-12-18 01:27:35 +0000 | [diff] [blame] | 119 | is now displayed in interactive prompt banner. | 
|  | 120 |  | 
| Georg Brandl | fa16668 | 2005-12-17 21:45:17 +0000 | [diff] [blame] | 121 | - Implementation of PEP 341 - Unification of try/except and try/finally. | 
|  | 122 | "except" clauses can now be written together with a "finally" clause in | 
| Neal Norwitz | 11ca77e | 2005-12-17 22:24:12 +0000 | [diff] [blame] | 123 | one try statement instead of two nested ones.  Patch #1355913. | 
| Georg Brandl | fa16668 | 2005-12-17 21:45:17 +0000 | [diff] [blame] | 124 |  | 
| Hye-Shik Chang | 835b243 | 2005-12-17 04:38:31 +0000 | [diff] [blame] | 125 | - Bug #1379994: Builtin unicode_escape and raw_unicode_escape codec | 
|  | 126 | now encodes backslash correctly. | 
|  | 127 |  | 
| Martin v. Löwis | b45b315 | 2005-11-28 17:34:23 +0000 | [diff] [blame] | 128 | - Patch #1350409: Work around signal handling bug in Visual Studio 2005. | 
|  | 129 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 130 | - Bug #1281408: Py_BuildValue now works correctly even with unsigned longs | 
| Georg Brandl | f06e30a | 2005-11-24 15:37:42 +0000 | [diff] [blame] | 131 | and long longs. | 
|  | 132 |  | 
| Neal Norwitz | 67715f0 | 2005-11-09 06:59:35 +0000 | [diff] [blame] | 133 | - SF Bug #1350188, "setdlopenflags" leads to crash upon "import" | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 134 | It was possible for dlerror() to return a NULL pointer, so | 
|  | 135 | it will now use a default error message in this case. | 
| Neal Norwitz | 67715f0 | 2005-11-09 06:59:35 +0000 | [diff] [blame] | 136 |  | 
| Marc-André Lemburg | a5bafc4 | 2005-10-23 13:43:40 +0000 | [diff] [blame] | 137 | - Replaced most Unicode charmap codecs with new ones using the | 
|  | 138 | new Unicode translate string feature in the builtin charmap | 
|  | 139 | codec; the codecs were created from the mapping tables available | 
|  | 140 | at ftp.unicode.org and contain a few updates (e.g. the Mac OS | 
|  | 141 | encodings now include a mapping for the Apple logo) | 
|  | 142 |  | 
| Tim Peters | e3547fd | 2005-12-16 23:13:57 +0000 | [diff] [blame] | 143 | - Added a few more codecs for Mac OS encodings | 
| Marc-André Lemburg | a5bafc4 | 2005-10-23 13:43:40 +0000 | [diff] [blame] | 144 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 145 | - Sped up some Unicode operations. | 
| Neal Norwitz | fed9b3e | 2005-10-21 06:32:02 +0000 | [diff] [blame] | 146 |  | 
| Martin v. Löwis | bd260da | 2006-02-26 19:42:26 +0000 | [diff] [blame] | 147 | - A new AST parser implementation was completed. The abstract | 
|  | 148 | syntax tree is available for read-only (non-compile) access | 
| Martin v. Löwis | 577b5b9 | 2006-02-27 15:23:19 +0000 | [diff] [blame] | 149 | to Python code; an _ast module was added. | 
| Neal Norwitz | fed9b3e | 2005-10-21 06:32:02 +0000 | [diff] [blame] | 150 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 151 | - SF bug #1167751: fix incorrect code being produced for generator expressions. | 
| Neal Norwitz | 16af734 | 2005-10-21 06:25:33 +0000 | [diff] [blame] | 152 | The following code now raises a SyntaxError:  foo(a = i for i in range(10)) | 
|  | 153 |  | 
| Neal Norwitz | 708e51a | 2005-10-03 04:48:15 +0000 | [diff] [blame] | 154 | - SF Bug #976608: fix SystemError when mtime of an imported file is -1. | 
|  | 155 |  | 
| Neal Norwitz | 11bd119 | 2005-10-03 00:54:56 +0000 | [diff] [blame] | 156 | - SF Bug #887946: fix segfault when redirecting stdin from a directory. | 
|  | 157 | Provide a warning when a directory is passed on the command line. | 
|  | 158 |  | 
| Neal Norwitz | 40d3781 | 2005-10-02 01:48:49 +0000 | [diff] [blame] | 159 | - Fix segfault with invalid coding. | 
|  | 160 |  | 
|  | 161 | - SF bug #772896: unknown encoding results in MemoryError. | 
|  | 162 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 163 | - All iterators now have a Boolean value of True.  Formerly, some iterators | 
| Raymond Hettinger | 6b27cda | 2005-09-24 21:23:05 +0000 | [diff] [blame] | 164 | supported a __len__() method which evaluated to False when the iterator | 
|  | 165 | was empty. | 
|  | 166 |  | 
| Guido van Rossum | 630db60 | 2005-09-20 18:49:54 +0000 | [diff] [blame] | 167 | - On 64-bit platforms, when __len__() returns a value that cannot be | 
|  | 168 | represented as a C int, raise OverflowError. | 
|  | 169 |  | 
| Skip Montanaro | f8948ca | 2005-09-19 03:54:46 +0000 | [diff] [blame] | 170 | - test__locale is skipped on OS X < 10.4 (only partial locale support is | 
| Walter Dörwald | 6611a8b | 2005-10-09 19:28:35 +0000 | [diff] [blame] | 171 | present). | 
| Skip Montanaro | f8948ca | 2005-09-19 03:54:46 +0000 | [diff] [blame] | 172 |  | 
| Georg Brandl | 80bbf3f | 2005-09-14 19:38:29 +0000 | [diff] [blame] | 173 | - SF bug #893549: parsing keyword arguments was broken with a few format | 
|  | 174 | codes. | 
|  | 175 |  | 
| Guido van Rossum | 8ee3e5a | 2005-09-14 18:09:42 +0000 | [diff] [blame] | 176 | - Changes donated by Elemental Security to make it work on AIX 5.3 | 
|  | 177 | with IBM's 64-bit compiler (SF patch #1284289).  This also closes SF | 
|  | 178 | bug #105470: test_pwd fails on 64bit system (Opteron). | 
|  | 179 |  | 
| Guido van Rossum | 539c662 | 2005-09-14 17:49:54 +0000 | [diff] [blame] | 180 | - Changes donated by Elemental Security to make it work on HP-UX 11 on | 
|  | 181 | Itanium2 with HP's 64-bit compiler (SF patch #1225212). | 
|  | 182 |  | 
| Georg Brandl | 4550b8d | 2005-08-26 06:43:52 +0000 | [diff] [blame] | 183 | - Disallow keyword arguments for type constructors that don't use them | 
| Georg Brandl | 02c4287 | 2005-08-26 06:42:30 +0000 | [diff] [blame] | 184 | (fixes bug #1119418). | 
|  | 185 |  | 
| Martin v. Löwis | d35edda | 2005-08-24 08:39:24 +0000 | [diff] [blame] | 186 | - Forward UnicodeDecodeError into SyntaxError for source encoding errors. | 
|  | 187 |  | 
| Barry Warsaw | e2eca0b | 2005-08-15 18:14:19 +0000 | [diff] [blame] | 188 | - SF bug #900092: When tracing (e.g. for hotshot), restore 'return' events for | 
|  | 189 | exceptions that cause a function to exit. | 
|  | 190 |  | 
| Raymond Hettinger | 9f1a679 | 2005-07-31 01:16:36 +0000 | [diff] [blame] | 191 | - The implementation of set() and frozenset() was revised to use its | 
|  | 192 | own internal data structure.  Memory consumption is reduced by 1/3 | 
|  | 193 | and there are modest speed-ups as well.  The API is unchanged. | 
|  | 194 |  | 
| Tim Peters | de7990b | 2005-07-17 23:45:23 +0000 | [diff] [blame] | 195 | - SF bug #1238681:  freed pointer is used in longobject.c:long_pow(). | 
|  | 196 |  | 
| Michael W. Hudson | 0edc7a0 | 2005-07-12 10:21:19 +0000 | [diff] [blame] | 197 | - SF bug #1229429: PyObject_CallMethod failed to decrement some | 
|  | 198 | reference counts in some error exit cases. | 
|  | 199 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 200 | - SF bug #1185883:  Python's small-object memory allocator took over | 
|  | 201 | a block managed by the platform C library whenever a realloc specified | 
|  | 202 | a small new size.  However, there's no portable way to know then how | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 203 | much of the address space following the pointer is valid, so there's no | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 204 | portable way to copy data from the C-managed block into Python's | 
|  | 205 | small-object space without risking a memory fault.  Python's small-object | 
|  | 206 | realloc now leaves such blocks under the control of the platform C | 
|  | 207 | realloc. | 
|  | 208 |  | 
| Michael W. Hudson | b896381 | 2005-07-05 15:21:58 +0000 | [diff] [blame] | 209 | - SF bug #1232517: An overflow error was not detected properly when | 
|  | 210 | attempting to convert a large float to an int in os.utime(). | 
|  | 211 |  | 
| Raymond Hettinger | 3296e69 | 2005-06-29 23:29:56 +0000 | [diff] [blame] | 212 | - SF bug #1224347: hex longs now print with lowercase letters just | 
|  | 213 | like their int counterparts. | 
|  | 214 |  | 
| Michael W. Hudson | 188d436 | 2005-06-20 16:52:57 +0000 | [diff] [blame] | 215 | - SF bug #1163563: the original fix for bug #1010677 ("thread Module | 
|  | 216 | Breaks PyGILState_Ensure()") broke badly in the case of multiple | 
|  | 217 | interpreter states; back out that fix and do a better job (see | 
|  | 218 | http://mail.python.org/pipermail/python-dev/2005-June/054258.html | 
|  | 219 | for a longer write-up of the problem). | 
|  | 220 |  | 
| Michael W. Hudson | df88846 | 2005-06-03 14:41:55 +0000 | [diff] [blame] | 221 | - SF patch #1180995: marshal now uses a binary format by default when | 
|  | 222 | serializing floats. | 
|  | 223 |  | 
| Michael W. Hudson | da85a90 | 2005-06-01 11:34:22 +0000 | [diff] [blame] | 224 | - SF patch #1181301: on platforms that appear to use IEEE 754 floats, | 
|  | 225 | the routines that promise to produce IEEE 754 binary representations | 
|  | 226 | of floats now simply copy bytes around. | 
|  | 227 |  | 
| Skip Montanaro | bbf12ba | 2005-05-20 03:07:06 +0000 | [diff] [blame] | 228 | - bug #967182: disallow opening files with 'wU' or 'aU' as specified by PEP | 
|  | 229 | 278. | 
|  | 230 |  | 
| Brett Cannon | c3647ac | 2005-04-26 03:45:26 +0000 | [diff] [blame] | 231 | - patch #1109424: int, long, float, complex, and unicode now check for the | 
|  | 232 | proper magic slot for type conversions when subclassed.  Previously the | 
|  | 233 | magic slot was ignored during conversion.  Semantics now match the way | 
|  | 234 | subclasses of str always behaved.  int/long/float, conversion of an instance | 
| Walter Dörwald | 78a78b0 | 2005-09-01 12:04:29 +0000 | [diff] [blame] | 235 | to the base class has been moved to the proper nb_* magic slot and out of | 
| Brett Cannon | c3647ac | 2005-04-26 03:45:26 +0000 | [diff] [blame] | 236 | PyNumber_*(). | 
|  | 237 | Thanks Walter Dörwald. | 
|  | 238 |  | 
| Barry Warsaw | c8d907c | 2005-04-19 23:43:40 +0000 | [diff] [blame] | 239 | - Descriptors defined in C with a PyGetSetDef structure, where the setter is | 
|  | 240 | NULL, now raise an AttributeError when attempting to set or delete the | 
|  | 241 | attribute.  Previously a TypeError was raised, but this was inconsistent | 
|  | 242 | with the equivalent pure-Python implementation. | 
|  | 243 |  | 
| Michael W. Hudson | 774479c | 2005-04-18 08:46:17 +0000 | [diff] [blame] | 244 | - It is now safe to call PyGILState_Release() before | 
|  | 245 | PyEval_InitThreads() (note that if there is reason to believe there | 
|  | 246 | are multiple threads around you still must call PyEval_InitThreads() | 
|  | 247 | before using the Python API; this fix is for extension modules that | 
|  | 248 | have no way of knowing if Python is multi-threaded yet). | 
|  | 249 |  | 
| Michael W. Hudson | e3afc59 | 2005-04-07 10:11:19 +0000 | [diff] [blame] | 250 | - Typing Ctrl-C whilst raw_input() was waiting in a build with threads | 
|  | 251 | disabled caused a crash. | 
|  | 252 |  | 
| Michael W. Hudson | b330adf | 2005-03-31 09:35:44 +0000 | [diff] [blame] | 253 | - Bug #1165306: instancemethod_new allowed the creation of a method | 
|  | 254 | with im_class == im_self == NULL, which caused a crash when called. | 
|  | 255 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 256 | - Move exception finalisation later in the shutdown process - this | 
| Anthony Baxter | 12b6f6c | 2005-03-29 13:36:16 +0000 | [diff] [blame] | 257 | fixes the crash seen in bug #1165761 | 
|  | 258 |  | 
| Raymond Hettinger | 96229b1 | 2005-03-11 06:49:40 +0000 | [diff] [blame] | 259 | - Added two new builtins, any() and all(). | 
|  | 260 |  | 
| Brett Cannon | 409d8f2 | 2005-03-05 06:47:57 +0000 | [diff] [blame] | 261 | - Defining a class with empty parentheses is now allowed | 
| Brett Cannon | f418991 | 2005-04-09 02:30:16 +0000 | [diff] [blame] | 262 | (e.g., ``class C(): pass`` is no longer a syntax error). | 
|  | 263 | Patch #1176012 added support to the 'parser' module and 'compiler' package | 
|  | 264 | (thanks to logistix for that added support). | 
| Brett Cannon | 409d8f2 | 2005-03-05 06:47:57 +0000 | [diff] [blame] | 265 |  | 
| Martin v. Löwis | 96d743e | 2005-03-03 23:00:26 +0000 | [diff] [blame] | 266 | - Patch #1115086: Support PY_LONGLONG in structmember. | 
|  | 267 |  | 
| Raymond Hettinger | b67cc80 | 2005-03-03 16:45:19 +0000 | [diff] [blame] | 268 | - Bug #1155938: new style classes did not check that __init__() was | 
|  | 269 | returning None. | 
|  | 270 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 271 | - Patch #802188: Report characters after line continuation character | 
| Martin v. Löwis | 4bf108d | 2005-03-03 11:45:45 +0000 | [diff] [blame] | 272 | ('\') with a specific error message. | 
|  | 273 |  | 
| Martin v. Löwis | ff232d7 | 2005-03-03 09:24:38 +0000 | [diff] [blame] | 274 | - Bug #723201: Raise a TypeError for passing bad objects to 'L' format. | 
|  | 275 |  | 
| Michael W. Hudson | 8e1afab | 2005-02-17 14:55:21 +0000 | [diff] [blame] | 276 | - Bug #1124295: the __name__ attribute of file objects was | 
|  | 277 | inadvertently made inaccessible in restricted mode. | 
|  | 278 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 279 | - Bug #1074011: closing sys.std{out,err} now causes a flush() and | 
| Martin v. Löwis | 8e3ca8a | 2005-01-23 09:41:49 +0000 | [diff] [blame] | 280 | an ferror() call. | 
|  | 281 |  | 
| Raymond Hettinger | 3b0c7c2 | 2004-12-03 08:30:39 +0000 | [diff] [blame] | 282 | - min() and max() now support key= arguments with the same meaning as in | 
|  | 283 | list.sort(). | 
|  | 284 |  | 
| Raymond Hettinger | c34f867 | 2005-01-02 06:17:33 +0000 | [diff] [blame] | 285 | - The peephole optimizer now performs simple constant folding in expressions: | 
|  | 286 | (2+3) --> (5). | 
|  | 287 |  | 
| Raymond Hettinger | a422c34 | 2005-01-11 03:03:27 +0000 | [diff] [blame] | 288 | - set and frozenset objects can now be marshalled.  SF #1098985. | 
|  | 289 |  | 
| Michael W. Hudson | faa7648 | 2005-01-31 17:09:25 +0000 | [diff] [blame] | 290 | - Bug #1077106: Poor argument checking could cause memory corruption | 
|  | 291 | in calls to os.read(). | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 292 |  | 
| Jeremy Hylton | ab63050 | 2005-02-04 18:44:06 +0000 | [diff] [blame] | 293 | - The parser did not complain about future statements in illegal | 
|  | 294 | positions.  It once again reports a syntax error if a future | 
|  | 295 | statement occurs after anything other than a doc string. | 
|  | 296 |  | 
| Neil Schemenauer | cf52c07 | 2005-08-12 17:34:58 +0000 | [diff] [blame] | 297 | - Change the %s format specifier for str objects so that it returns a | 
|  | 298 | unicode instance if the argument is not an instance of basestring and | 
|  | 299 | calling __str__ on the argument returns a unicode instance. | 
|  | 300 |  | 
| Tim Peters | f4e6928 | 2006-02-27 17:15:31 +0000 | [diff] [blame] | 301 | - Patch #1413181:  changed ``PyThreadState_Delete()`` to forget about the | 
|  | 302 | current thread state when the auto-GIL-state machinery knows about | 
|  | 303 | it (since the thread state is being deleted, continuing to remember it | 
|  | 304 | can't help, but can hurt if another thread happens to get created with | 
|  | 305 | the same thread id). | 
|  | 306 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 307 | Extension Modules | 
|  | 308 | ----------------- | 
|  | 309 |  | 
| Georg Brandl | 43f08a8 | 2006-03-31 18:01:16 +0000 | [diff] [blame] | 310 | - Patch #1380952: fix SSL objects timing out on consecutive read()s | 
|  | 311 |  | 
| Neal Norwitz | 05a4559 | 2006-03-20 06:30:08 +0000 | [diff] [blame] | 312 | - Patch #1309579: wait3 and wait4 were added to the posix module. | 
|  | 313 |  | 
| Anthony Baxter | fa86907 | 2006-03-20 05:21:58 +0000 | [diff] [blame] | 314 | - Patch #1231053: The audioop module now supports encoding/decoding of alaw. | 
|  | 315 | In addition, the existing ulaw code was updated. | 
|  | 316 |  | 
| Georg Brandl | bc45a3f | 2006-03-17 19:17:34 +0000 | [diff] [blame] | 317 | - RFE #567972: Socket objects' family, type and proto properties are | 
| Georg Brandl | 72d7a78 | 2006-03-22 06:44:14 +0000 | [diff] [blame] | 318 | now exposed via new attributes. | 
| Georg Brandl | bc45a3f | 2006-03-17 19:17:34 +0000 | [diff] [blame] | 319 |  | 
| Neal Norwitz | 10be10c | 2006-03-16 06:50:13 +0000 | [diff] [blame] | 320 | - Everything under lib-old was removed.  This includes the following modules: | 
|  | 321 | Para, addpack, cmp, cmpcache, codehack, dircmp, dump, find, fmt, grep, | 
| Tim Peters | c9d78aa | 2006-03-26 23:27:58 +0000 | [diff] [blame] | 322 | lockfile, newdir, ni, packmail, poly, rand, statcache, tb, tzparse, | 
| Neal Norwitz | 10be10c | 2006-03-16 06:50:13 +0000 | [diff] [blame] | 323 | util, whatsound, whrandom, zmod | 
|  | 324 |  | 
|  | 325 | - The following modules were removed:  regsub, reconvert, regex, regex_syntax. | 
|  | 326 |  | 
|  | 327 | - re and sre were swapped, so help(re) provides full help.  importing sre | 
| Neal Norwitz | efbeaef | 2006-03-16 06:40:39 +0000 | [diff] [blame] | 328 | is deprecated.  The undocumented re.engine variable no longer exists. | 
|  | 329 |  | 
| Hye-Shik Chang | abb903f | 2006-03-13 10:20:08 +0000 | [diff] [blame] | 330 | - Bug #1448490: Fixed a bug that ISO-2022 codecs could not handle | 
|  | 331 | SS2 (single-shift 2) escape sequences correctly. | 
|  | 332 |  | 
| Martin v. Löwis | 480f1bb | 2006-03-09 23:38:20 +0000 | [diff] [blame] | 333 | - The unicodedata module was updated to the 4.1 version of the Unicode | 
|  | 334 | database. The 3.2 version is still available as unicodedata.db_3_2_0 | 
|  | 335 | for applications that require this specific version (such as IDNA). | 
|  | 336 |  | 
| Neal Norwitz | b62c433 | 2006-03-04 18:35:47 +0000 | [diff] [blame] | 337 | - The timing module is no longer built by default.  It was deprecated | 
|  | 338 | in PEP 4 in Python 2.0 or earlier. | 
|  | 339 |  | 
| Guido van Rossum | 1968ad3 | 2006-02-25 22:38:04 +0000 | [diff] [blame] | 340 | - Patch 1433928: Added a new type, defaultdict, to the collections module. | 
|  | 341 | This uses the new __missing__ hook behavior added to dict (see above). | 
|  | 342 |  | 
| Georg Brandl | dbd8339 | 2006-02-20 09:42:33 +0000 | [diff] [blame] | 343 | - Bug #854823: socketmodule now builds on Sun platforms even when | 
|  | 344 | INET_ADDRSTRLEN is not defined. | 
|  | 345 |  | 
| Georg Brandl | f4f4415 | 2006-02-18 22:29:33 +0000 | [diff] [blame] | 346 | - Patch #1393157: os.startfile() now has an optional argument to specify | 
|  | 347 | a "command verb" to invoke on the file. | 
|  | 348 |  | 
| Neal Norwitz | 082b2df | 2006-02-07 07:04:46 +0000 | [diff] [blame] | 349 | - Bug #876637, prevent stack corruption when socket descriptor | 
|  | 350 | is larger than FD_SETSIZE. | 
|  | 351 |  | 
| Neal Norwitz | 0e6bc8c | 2006-02-05 05:45:43 +0000 | [diff] [blame] | 352 | - Patch #1407135, bug #1424041: harmonize mmap behavior of anonymous memory. | 
|  | 353 | mmap.mmap(-1, size) now returns anonymous memory in both Unix and Windows. | 
|  | 354 | mmap.mmap(0, size) should not be used on Windows for anonymous memory. | 
|  | 355 |  | 
| Martin v. Löwis | 57a34e8 | 2006-02-04 19:12:37 +0000 | [diff] [blame] | 356 | - Patch #1422385: The nis module now supports access to domains other | 
|  | 357 | than the system default domain. | 
|  | 358 |  | 
| Martin v. Löwis | 1469466 | 2006-02-03 12:54:16 +0000 | [diff] [blame] | 359 | - Use Win32 API to implement os.stat/fstat. As a result, subsecond timestamps | 
|  | 360 | are reported, the limit on path name lengths is removed, and stat reports | 
|  | 361 | WindowsError now (instead of OSError). | 
|  | 362 |  | 
| Gregory P. Smith | cfc4a8d | 2006-01-29 19:46:23 +0000 | [diff] [blame] | 363 | - Add bsddb.db.DBEnv.set_tx_timestamp allowing time based database recovery. | 
|  | 364 |  | 
| Neal Norwitz | 62a2112 | 2006-01-25 05:21:55 +0000 | [diff] [blame] | 365 | - Bug #1413192, fix seg fault in bsddb if a transaction was deleted | 
|  | 366 | before the env. | 
|  | 367 |  | 
| Martin v. Löwis | 11017b1 | 2006-01-14 18:12:57 +0000 | [diff] [blame] | 368 | - Patch #1103116: Basic AF_NETLINK support. | 
|  | 369 |  | 
| Neal Norwitz | 3b4fff8 | 2006-01-11 08:54:45 +0000 | [diff] [blame] | 370 | - Bug #1402308, (possible) segfault when using mmap.mmap(-1, ...) | 
|  | 371 |  | 
| Neal Norwitz | 88bbd73 | 2006-01-10 07:05:44 +0000 | [diff] [blame] | 372 | - Bug #1400822, _curses over{lay,write} doesn't work when passing 6 ints. | 
|  | 373 | Also fix ungetmouse() which did not accept arguments properly. | 
|  | 374 | The code now conforms to the documented signature. | 
|  | 375 |  | 
| Neal Norwitz | 5e3d862 | 2006-01-09 06:24:35 +0000 | [diff] [blame] | 376 | - Bug #1400115, Fix segfault when calling curses.panel.userptr() | 
|  | 377 | without prior setting of the userptr. | 
|  | 378 |  | 
| Neal Norwitz | 40c6b47 | 2006-01-05 05:43:35 +0000 | [diff] [blame] | 379 | - Fix 64-bit problems in bsddb. | 
|  | 380 |  | 
| Neal Norwitz | 8856fb7 | 2005-12-18 03:34:22 +0000 | [diff] [blame] | 381 | - Patch #1365916: fix some unsafe 64-bit mmap methods. | 
|  | 382 |  | 
| Hye-Shik Chang | c5c57e6 | 2005-12-12 11:48:32 +0000 | [diff] [blame] | 383 | - Bug #1290333: Added a workaround for cjkcodecs' _codecs_cn build | 
|  | 384 | problem on AIX. | 
|  | 385 |  | 
| Georg Brandl | a13c244 | 2005-11-22 19:30:31 +0000 | [diff] [blame] | 386 | - Bug #869197: os.setgroups rejects long integer arguments | 
|  | 387 |  | 
| Neal Norwitz | 0f46bbf | 2005-11-03 05:00:25 +0000 | [diff] [blame] | 388 | - Bug #1346533, select.poll() doesn't raise an error if timeout > sys.maxint | 
|  | 389 |  | 
| Neal Norwitz | 7b63179 | 2005-11-02 05:26:07 +0000 | [diff] [blame] | 390 | - Bug #1344508, Fix UNIX mmap leaking file descriptors | 
|  | 391 |  | 
| Neal Norwitz | f339654 | 2005-10-28 05:52:22 +0000 | [diff] [blame] | 392 | - Patch #1338314, Bug #1336623: fix tarfile so it can extract | 
|  | 393 | REGTYPE directories from tarfiles written by old programs. | 
|  | 394 |  | 
| Gregory P. Smith | e101df9 | 2006-01-24 20:09:45 +0000 | [diff] [blame] | 395 | - Patch #1407992, fixes broken bsddb module db associate when using | 
|  | 396 | BerkeleyDB 3.3, 4.0 or 4.1. | 
|  | 397 |  | 
|  | 398 | - Get bsddb module to build with BerkeleyDB version 4.4 | 
|  | 399 |  | 
|  | 400 | - Get bsddb module to build with BerkeleyDB version 3.2 | 
| Neal Norwitz | fed9b3e | 2005-10-21 06:32:02 +0000 | [diff] [blame] | 401 |  | 
| Neal Norwitz | 484d9a4 | 2005-09-30 04:46:49 +0000 | [diff] [blame] | 402 | - Patch #1309009, Fix segfault in pyexpat when the XML document is in latin_1, | 
|  | 403 | but Python incorrectly assumes it is in UTF-8 format | 
|  | 404 |  | 
| Georg Brandl | e677adc | 2005-09-29 13:40:49 +0000 | [diff] [blame] | 405 | - Fix parse errors in the readline module when compiling without threads. | 
|  | 406 |  | 
| Hye-Shik Chang | 9ceebd5 | 2005-09-24 14:58:47 +0000 | [diff] [blame] | 407 | - Patch #1288833: Removed thread lock from socket.getaddrinfo on | 
|  | 408 | FreeBSD 5.3 and later versions which got thread-safe getaddrinfo(3). | 
|  | 409 |  | 
| Michael W. Hudson | 10402a3 | 2005-09-22 09:19:01 +0000 | [diff] [blame] | 410 | - Patches #1298449 and #1298499: Add some missing checks for error | 
|  | 411 | returns in cStringIO.c. | 
|  | 412 |  | 
| Neal Norwitz | 058bde1 | 2005-09-21 06:44:25 +0000 | [diff] [blame] | 413 | - Patch #1297028: fix segfault if call type on MultibyteCodec, | 
|  | 414 | MultibyteStreamReader, or MultibyteStreamWriter | 
|  | 415 |  | 
| Neal Norwitz | cfe7dd9 | 2005-09-19 06:49:27 +0000 | [diff] [blame] | 416 | - Fix memory leak in posix.access(). | 
|  | 417 |  | 
| Martin v. Löwis | 8b291e2 | 2005-09-18 08:17:56 +0000 | [diff] [blame] | 418 | - Patch #1213831: Fix typo in unicodedata._getcode. | 
|  | 419 |  | 
| Georg Brandl | fb1ef85 | 2005-09-14 20:53:32 +0000 | [diff] [blame] | 420 | - Bug #1007046: os.startfile() did not accept unicode strings encoded in | 
|  | 421 | the file system encoding. | 
|  | 422 |  | 
| Georg Brandl | d2e3ba7 | 2005-08-26 08:34:00 +0000 | [diff] [blame] | 423 | - Patch #756021: Special-case socket.inet_aton('255.255.255.255') for | 
|  | 424 | platforms that don't have inet_aton(). | 
| Georg Brandl | 02760f9 | 2005-08-25 13:10:41 +0000 | [diff] [blame] | 425 |  | 
| Georg Brandl | d2e3ba7 | 2005-08-26 08:34:00 +0000 | [diff] [blame] | 426 | - Bug #1215928: Fix bz2.BZ2File.seek() for 64-bit file offsets. | 
|  | 427 |  | 
|  | 428 | - Bug #1191043: Fix bz2.BZ2File.(x)readlines for files containing one | 
| Georg Brandl | 02760f9 | 2005-08-25 13:10:41 +0000 | [diff] [blame] | 429 | line without newlines. | 
|  | 430 |  | 
| Georg Brandl | 38387b8 | 2005-08-24 07:17:40 +0000 | [diff] [blame] | 431 | - Bug #728515: mmap.resize() now resizes the file on Unix as it did | 
|  | 432 | on Windows. | 
|  | 433 |  | 
| Walter Dörwald | a05834e | 2005-10-09 19:38:21 +0000 | [diff] [blame] | 434 | - Patch #1180695: Add nanosecond stat resolution, and st_gen, | 
| Martin v. Löwis | ebd9d5b | 2005-08-09 15:00:59 +0000 | [diff] [blame] | 435 | st_birthtime for FreeBSD. | 
|  | 436 |  | 
| Michael W. Hudson | 8137bea | 2005-07-27 20:24:40 +0000 | [diff] [blame] | 437 | - Patch #1231069: The fcntl.ioctl function now uses the 'I' code for | 
|  | 438 | the request code argument, which results in more C-like behaviour | 
|  | 439 | for large or negative values. | 
|  | 440 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 441 | - Bug #1234979: For the argument of thread.Lock.acquire, the Windows | 
| Andrew M. Kuchling | 88b8582 | 2005-08-23 00:57:07 +0000 | [diff] [blame] | 442 | implementation treated all integer values except 1 as false. | 
| Georg Brandl | af410b5 | 2005-07-08 22:26:13 +0000 | [diff] [blame] | 443 |  | 
| Georg Brandl | 6b95f1d | 2005-06-03 19:47:00 +0000 | [diff] [blame] | 444 | - Bug #1194181: bz2.BZ2File didn't handle mode 'U' correctly. | 
|  | 445 |  | 
| Hye-Shik Chang | 5f937a7 | 2005-06-02 13:09:30 +0000 | [diff] [blame] | 446 | - Patch #1212117: os.stat().st_flags is now accessible as a attribute | 
|  | 447 | if available on the platform. | 
|  | 448 |  | 
| Skip Montanaro | 5ff1492 | 2005-05-16 02:42:22 +0000 | [diff] [blame] | 449 | - Patch #1103951: Expose O_SHLOCK and O_EXLOCK in the posix module if | 
|  | 450 | available on the platform. | 
|  | 451 |  | 
| Michael W. Hudson | b330adf | 2005-03-31 09:35:44 +0000 | [diff] [blame] | 452 | - Bug #1166660: The readline module could segfault if hook functions | 
|  | 453 | were set in a different thread than that which called readline. | 
|  | 454 |  | 
| Raymond Hettinger | 4aec61e | 2005-03-18 21:20:23 +0000 | [diff] [blame] | 455 | - collections.deque objects now support a remove() method. | 
|  | 456 |  | 
| Raymond Hettinger | 984f9bb | 2005-03-09 16:38:48 +0000 | [diff] [blame] | 457 | - operator.itemgetter() and operator.attrgetter() now support retrieving | 
|  | 458 | multiple fields.  This provides direct support for sorting on multiple | 
|  | 459 | keys (primary, secondary, etc). | 
|  | 460 |  | 
| Martin v. Löwis | b60ae99 | 2005-03-08 09:10:29 +0000 | [diff] [blame] | 461 | - os.access now supports Unicode path names on non-Win32 systems. | 
|  | 462 |  | 
| Martin v. Löwis | fd78a6f | 2005-03-04 14:37:01 +0000 | [diff] [blame] | 463 | - Patches #925152, #1118602: Avoid reading after the end of the buffer | 
|  | 464 | in pyexpat.GetInputContext. | 
|  | 465 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 466 | - Patches #749830, #1144555: allow UNIX mmap size to default to current | 
| Martin v. Löwis | 7fe60c0 | 2005-03-03 11:22:44 +0000 | [diff] [blame] | 467 | file size. | 
|  | 468 |  | 
| Raymond Hettinger | 9c323f8 | 2005-02-28 19:39:44 +0000 | [diff] [blame] | 469 | - Added functional.partial().  See PEP309. | 
|  | 470 |  | 
| Martin v. Löwis | 9533e34 | 2005-02-27 20:33:25 +0000 | [diff] [blame] | 471 | - Patch #1093585: raise a ValueError for negative history items in readline. | 
|  | 472 | {remove_history,replace_history} | 
|  | 473 |  | 
| Fred Drake | 9c131f2 | 2005-01-23 15:16:08 +0000 | [diff] [blame] | 474 | - The spwd module has been added, allowing access to the shadow password | 
|  | 475 | database. | 
| Martin v. Löwis | c300175 | 2005-01-23 09:27:24 +0000 | [diff] [blame] | 476 |  | 
| Martin v. Löwis | fe33d0b | 2005-01-16 08:57:39 +0000 | [diff] [blame] | 477 | - stat_float_times is now True. | 
|  | 478 |  | 
| Raymond Hettinger | b0900e6 | 2004-12-16 16:23:40 +0000 | [diff] [blame] | 479 | - array.array objects are now picklable. | 
|  | 480 |  | 
| Raymond Hettinger | a6b45cc | 2004-12-07 07:05:57 +0000 | [diff] [blame] | 481 | - the cPickle module no longer accepts the deprecated None option in the | 
|  | 482 | args tuple returned by __reduce__(). | 
|  | 483 |  | 
| Raymond Hettinger | b259405 | 2004-12-05 09:25:51 +0000 | [diff] [blame] | 484 | - itertools.islice() now accepts None for the start and step arguments. | 
|  | 485 | This allows islice() to work more readily with slices: | 
|  | 486 | islice(s.start, s.stop, s.step) | 
|  | 487 |  | 
| Skip Montanaro | 0af3ade | 2005-01-13 04:12:31 +0000 | [diff] [blame] | 488 | - datetime.datetime() now has a strptime class method which can be used to | 
|  | 489 | create datetime object using a string and format. | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 490 |  | 
|  | 491 | Library | 
|  | 492 | ------- | 
|  | 493 |  | 
| Anthony Baxter | 93f5b93 | 2006-04-03 08:05:07 +0000 | [diff] [blame] | 494 | - The email module's parsedate_tz function now sets the daylight savings | 
|  | 495 | flag to -1 (unknown) since it can't tell from the date whether it should | 
|  | 496 | be set. | 
|  | 497 |  | 
| Fred Drake | ad5177c | 2006-04-01 22:14:43 +0000 | [diff] [blame] | 498 | - Patch #624325: urlparse.urlparse() and urlparse.urlsplit() results | 
|  | 499 | now sport attributes that provide access to the parts of the result. | 
|  | 500 |  | 
| Georg Brandl | 7f6b67c | 2006-04-01 08:35:18 +0000 | [diff] [blame] | 501 | - Patch #1462498: sgmllib now handles entity and character references | 
|  | 502 | in attribute values. | 
|  | 503 |  | 
| Anthony Baxter | c51ee69 | 2006-04-01 00:57:31 +0000 | [diff] [blame] | 504 | - Added the sqlite3 package. This is based on pysqlite2.1.3, and provides | 
| Georg Brandl | 828fdef | 2006-04-01 08:59:03 +0000 | [diff] [blame] | 505 | a DB-API interface in the standard library. You'll need sqlite 3.0.8 or | 
| Anthony Baxter | c51ee69 | 2006-04-01 00:57:31 +0000 | [diff] [blame] | 506 | later to build this - if you have an earlier version, the C extension | 
|  | 507 | module will not be built. | 
|  | 508 |  | 
| Tim Peters | c17976e | 2006-04-01 00:26:53 +0000 | [diff] [blame] | 509 | - Bug #1460340: ``random.sample(dict)`` failed in various ways.  Dicts | 
|  | 510 | aren't officially supported here, and trying to use them will probably | 
|  | 511 | raise an exception some day.  But dicts have been allowed, and "mostly | 
|  | 512 | worked", so support for them won't go away without warning. | 
|  | 513 |  | 
| Georg Brandl | 338ef7d | 2006-03-31 18:42:16 +0000 | [diff] [blame] | 514 | - Bug #1445068: getpass.getpass() can now be given an explicit stream | 
|  | 515 | argument to specify where to write the prompt. | 
|  | 516 |  | 
| Georg Brandl | 22ec80b | 2006-03-31 18:25:44 +0000 | [diff] [blame] | 517 | - Patch #1462313, bug #1443328: the pickle modules now can handle classes | 
|  | 518 | that have __private names in their __slots__. | 
|  | 519 |  | 
| Georg Brandl | dd2245f | 2006-03-31 17:18:06 +0000 | [diff] [blame] | 520 | - Bug #1250170: mimetools now gracefully handles socket.gethostname() | 
|  | 521 | failures gracefully. | 
|  | 522 |  | 
| Phillip J. Eby | 59821cf | 2006-03-30 02:16:40 +0000 | [diff] [blame] | 523 | - patch #1457316: "setup.py upload" now supports --identity to select the | 
|  | 524 | key to be used for signing the uploaded code. | 
|  | 525 |  | 
| Raymond Hettinger | fd3fcf0 | 2006-03-24 20:43:29 +0000 | [diff] [blame] | 526 | - Queue.Queue objects now support .task_done() and .join() methods | 
|  | 527 | to make it easier to monitor when daemon threads have completed | 
|  | 528 | processing all enqueued tasks.  Patch #1455676. | 
|  | 529 |  | 
| Martin v. Löwis | bd8dbab | 2006-03-23 18:18:35 +0000 | [diff] [blame] | 530 | - popen2.Popen objects now preserve the command in a .cmd attribute. | 
|  | 531 |  | 
| Thomas Heller | c61c049 | 2006-03-22 10:09:27 +0000 | [diff] [blame] | 532 | - Added the ctypes ffi package. | 
|  | 533 |  | 
| Barry Warsaw | 4d90bbd | 2006-03-22 02:45:50 +0000 | [diff] [blame] | 534 | - email 4.0 package now integrated.  This is largely the same as the email 3.0 | 
|  | 535 | package that was included in Python 2.3, except that PEP 8 module names are | 
|  | 536 | now used (e.g. mail.message instead of email.Message).  The MIME classes | 
|  | 537 | have been moved to a subpackage (e.g. email.mime.text instead of | 
|  | 538 | email.MIMEText).  The old names are still supported for now.  Several | 
|  | 539 | deprecated Message methods have been removed and lots of bugs have been | 
|  | 540 | fixed.  More details can be found in the email package documentation. | 
|  | 541 |  | 
| Walter Dörwald | 40108c9 | 2006-03-27 08:15:44 +0000 | [diff] [blame] | 542 | - Patches #1436130/#1443155: codecs.lookup() now returns a CodecInfo object | 
|  | 543 | (a subclass of tuple) that provides incremental decoders and encoders | 
|  | 544 | (a way to use stateful codecs without the stream API). Python functions | 
|  | 545 | codecs.getincrementaldecoder() and codecs.getincrementalencoder() as well | 
|  | 546 | as C functions PyCodec_IncrementalEncoder() and PyCodec_IncrementalDecoder() | 
|  | 547 | have been added. | 
| Walter Dörwald | abb02e5 | 2006-03-15 11:35:15 +0000 | [diff] [blame] | 548 |  | 
| Walter Dörwald | 067db48 | 2006-03-15 22:17:27 +0000 | [diff] [blame] | 549 | - Patch #1359365: Calling next() on a closed StringIO.String object raises | 
|  | 550 | a ValueError instead of a StopIteration now (like file and cString.String do). | 
|  | 551 | cStringIO.StringIO.isatty() will raise a ValueError now if close() has been | 
|  | 552 | called before (like file and StringIO.StringIO do). | 
| Walter Dörwald | 197e832 | 2006-03-15 22:13:13 +0000 | [diff] [blame] | 553 |  | 
| Martin v. Löwis | 04824ce | 2006-03-10 21:26:16 +0000 | [diff] [blame] | 554 | - A regrtest option -w was added to re-run failed tests in verbose mode. | 
|  | 555 |  | 
| Georg Brandl | e2b4677 | 2006-03-09 23:22:43 +0000 | [diff] [blame] | 556 | - Patch #1446372: quit and exit can now be called from the interactive | 
|  | 557 | interpreter to exit. | 
|  | 558 |  | 
| Barry Warsaw | d3c38ff | 2006-03-07 09:46:03 +0000 | [diff] [blame] | 559 | - The function get_count() has been added to the gc module, and gc.collect() | 
|  | 560 | grew an optional 'generation' argument. | 
|  | 561 |  | 
| Martin v. Löwis | fbab90e | 2006-03-05 13:36:04 +0000 | [diff] [blame] | 562 | - A library msilib to generate Windows Installer files, and a distutils | 
|  | 563 | command bdist_msi have been added. | 
|  | 564 |  | 
| Guido van Rossum | 1a5e21e | 2006-02-28 21:57:43 +0000 | [diff] [blame] | 565 | - PEP 343: new module contextlib.py defines decorator @contextmanager | 
|  | 566 | and helpful context managers nested() and closing(). | 
|  | 567 |  | 
| Martin v. Löwis | 415ed93 | 2006-02-27 19:56:30 +0000 | [diff] [blame] | 568 | - The compiler package now supports future imports after the module docstring. | 
|  | 569 |  | 
| Georg Brandl | 8f7c54e | 2006-02-20 08:40:38 +0000 | [diff] [blame] | 570 | - Bug #1413790: zipfile now sanitizes absolute archive names that are | 
|  | 571 | not allowed by the specs. | 
|  | 572 |  | 
| Georg Brandl | c98eeed | 2006-02-19 14:57:47 +0000 | [diff] [blame] | 573 | - Patch #1215184: FileInput now can be given an opening hook which can | 
|  | 574 | be used to control how files are opened. | 
|  | 575 |  | 
| Georg Brandl | c029f87 | 2006-02-19 14:12:34 +0000 | [diff] [blame] | 576 | - Patch #1212287: fileinput.input() now has a mode parameter for | 
|  | 577 | specifying the file mode input files should be opened with. | 
|  | 578 |  | 
| Georg Brandl | 67e9fb9 | 2006-02-19 13:56:17 +0000 | [diff] [blame] | 579 | - Patch #1215184: fileinput now has a fileno() function for getting the | 
|  | 580 | current file number. | 
|  | 581 |  | 
| Georg Brandl | 602b9ba | 2006-02-19 13:26:36 +0000 | [diff] [blame] | 582 | - Patch #1349274: gettext.install() now optionally installs additional | 
|  | 583 | translation functions other than _() in the builtin namespace. | 
|  | 584 |  | 
| Georg Brandl | e466217 | 2006-02-19 09:51:27 +0000 | [diff] [blame] | 585 | - Patch #1337756: fileinput now accepts Unicode filenames. | 
|  | 586 |  | 
| Georg Brandl | 7b4e7c2 | 2006-02-18 21:10:56 +0000 | [diff] [blame] | 587 | - Patch #1373643: The chunk module can now read chunks larger than | 
|  | 588 | two gigabytes. | 
|  | 589 |  | 
| Georg Brandl | 21dd1af | 2006-02-17 13:35:13 +0000 | [diff] [blame] | 590 | - Patch #1417555: SimpleHTTPServer now returns Last-Modified headers. | 
|  | 591 |  | 
| Georg Brandl | bd3bc4d | 2006-02-17 09:52:53 +0000 | [diff] [blame] | 592 | - Bug #1430298: It is now possible to send a mail with an empty | 
|  | 593 | return address using smtplib. | 
|  | 594 |  | 
| Georg Brandl | 0e1abe2 | 2006-02-17 09:48:14 +0000 | [diff] [blame] | 595 | - Bug #1432260: The names of lambda functions are now properly displayed | 
|  | 596 | in pydoc. | 
| Georg Brandl | 501dd0d | 2006-02-17 09:45:40 +0000 | [diff] [blame] | 597 |  | 
| Martin v. Löwis | 0075690 | 2006-02-05 17:09:41 +0000 | [diff] [blame] | 598 | - Patch #1412872: zipfile now sets the creator system to 3 (Unix) | 
|  | 599 | unless the system is Win32. | 
|  | 600 |  | 
| Tim Peters | da1329b | 2006-02-27 16:50:01 +0000 | [diff] [blame] | 601 | - Patch #1349118: urllib now supports user:pass@ style proxy | 
| Martin v. Löwis | 3e86595 | 2006-01-24 15:51:21 +0000 | [diff] [blame] | 602 | specifications, raises IOErrors when proxies for unsupported protocols | 
|  | 603 | are defined, and uses the https proxy on https redirections. | 
|  | 604 |  | 
| Georg Brandl | 531ceba | 2006-01-21 07:20:56 +0000 | [diff] [blame] | 605 | - Bug #902075: urllib2 now supports 'host:port' style proxy specifications. | 
|  | 606 |  | 
|  | 607 | - Bug #1407902: Add support for sftp:// URIs to urlparse. | 
| Georg Brandl | 89f35ac | 2006-01-20 17:24:23 +0000 | [diff] [blame] | 608 |  | 
| Georg Brandl | b709c2c | 2006-01-20 09:07:35 +0000 | [diff] [blame] | 609 | - Bug #1371247: Update Windows locale identifiers in locale.py. | 
|  | 610 |  | 
| Neal Norwitz | f60cd47 | 2006-01-14 07:05:13 +0000 | [diff] [blame] | 611 | - Bug #1394565: SimpleHTTPServer now doesn't choke on query parameters | 
| Georg Brandl | 45ab233 | 2006-01-13 17:05:56 +0000 | [diff] [blame] | 612 | any more. | 
| Georg Brandl | b709c2c | 2006-01-20 09:07:35 +0000 | [diff] [blame] | 613 |  | 
| Georg Brandl | 4edd989 | 2006-01-13 16:59:46 +0000 | [diff] [blame] | 614 | - Bug #1403410: The warnings module now doesn't get confused | 
|  | 615 | when it can't find out the module name it generates a warning for. | 
| Georg Brandl | b709c2c | 2006-01-20 09:07:35 +0000 | [diff] [blame] | 616 |  | 
| Martin v. Löwis | 412ed3b | 2006-01-08 10:45:39 +0000 | [diff] [blame] | 617 | - Patch #1177307: Added a new codec utf_8_sig for UTF-8 with a BOM signature. | 
|  | 618 |  | 
| Neal Norwitz | ab86f8e | 2005-12-23 21:44:36 +0000 | [diff] [blame] | 619 | - Patch #1157027: cookielib mishandles RFC 2109 cookies in Netscape mode | 
|  | 620 |  | 
| Neal Norwitz | 338e786 | 2005-12-23 21:27:46 +0000 | [diff] [blame] | 621 | - Patch #1117398: cookielib.LWPCookieJar and .MozillaCookieJar now raise | 
|  | 622 | LoadError as documented, instead of IOError.  For compatibility, | 
|  | 623 | LoadError subclasses IOError. | 
|  | 624 |  | 
| Brett Cannon | 3cbd038 | 2005-12-16 22:49:23 +0000 | [diff] [blame] | 625 | - Added the hashlib module.  It provides secure hash functions for MD5 and | 
| Tim Peters | e3547fd | 2005-12-16 23:13:57 +0000 | [diff] [blame] | 626 | SHA1, 224, 256, 384, and 512.  Note that recent developments make the | 
|  | 627 | historic MD5 and SHA1 unsuitable for cryptographic-strength applications. | 
|  | 628 | In <http://mail.python.org/pipermail/python-dev/2005-December/058850.html> | 
|  | 629 | Ronald L. Rivest offered this advice for Python: | 
|  | 630 |  | 
|  | 631 | "The consensus of researchers in this area (at least as | 
|  | 632 | expressed at the NIST Hash Function Workshop 10/31/05), | 
|  | 633 | is that SHA-256 is a good choice for the time being, but | 
|  | 634 | that research should continue, and other alternatives may | 
|  | 635 | arise from this research.  The larger SHA's also seem OK." | 
| Brett Cannon | 3cbd038 | 2005-12-16 22:49:23 +0000 | [diff] [blame] | 636 |  | 
| Fredrik Lundh | 7e0aef0 | 2005-12-12 18:54:55 +0000 | [diff] [blame] | 637 | - Added a subset of Fredrik Lundh's ElementTree package.  Available | 
|  | 638 | modules are xml.etree.ElementTree, xml.etree.ElementPath, and | 
|  | 639 | xml.etree.ElementInclude, from ElementTree 1.2.6. | 
|  | 640 |  | 
| Martin v. Löwis | 307021f | 2005-11-27 16:59:04 +0000 | [diff] [blame] | 641 | - Patch #1162825: Support non-ASCII characters in IDLE window titles. | 
|  | 642 |  | 
| Georg Brandl | 1f66357 | 2005-11-26 16:50:44 +0000 | [diff] [blame] | 643 | - Bug #1365984: urllib now opens "data:" URLs again. | 
|  | 644 |  | 
| Brett Cannon | ad07ff2 | 2005-11-23 02:15:50 +0000 | [diff] [blame] | 645 | - Patch #1314396: prevent deadlock for threading.Thread.join() when an exception | 
|  | 646 | is raised within the method itself on a previous call (e.g., passing in an | 
|  | 647 | illegal argument) | 
|  | 648 |  | 
| Brett Cannon | 5d0bf94 | 2005-11-02 23:04:26 +0000 | [diff] [blame] | 649 | - Bug #1340337: change time.strptime() to always return ValueError when there | 
|  | 650 | is an error in the format string. | 
|  | 651 |  | 
| Georg Brandl | e8f2443 | 2005-10-03 14:16:44 +0000 | [diff] [blame] | 652 | - Patch #754022: Greatly enhanced webbrowser.py (by Oleg Broytmann). | 
|  | 653 |  | 
| Walter Dörwald | a05834e | 2005-10-09 19:38:21 +0000 | [diff] [blame] | 654 | - Bug #729103: pydoc.py: Fix docother() method to accept additional | 
| Georg Brandl | 8b813db | 2005-10-01 16:32:31 +0000 | [diff] [blame] | 655 | "parent" argument. | 
|  | 656 |  | 
| Georg Brandl | aa93517 | 2005-09-29 20:49:16 +0000 | [diff] [blame] | 657 | - Patch #1300515: xdrlib.py: Fix pack_fstring() to really use null bytes | 
|  | 658 | for padding. | 
|  | 659 |  | 
| Georg Brandl | 80ba8e8 | 2005-09-29 20:16:07 +0000 | [diff] [blame] | 660 | - Bug #1296004: httplib.py: Limit maximal amount of data read from the | 
|  | 661 | socket to avoid a MemoryError on Windows. | 
|  | 662 |  | 
| Matthias Klose | f3f231f | 2005-09-20 07:02:49 +0000 | [diff] [blame] | 663 | - Patch #1166948: locale.py: Prefer LC_ALL, LC_CTYPE and LANG over LANGUAGE | 
|  | 664 | to get the correct encoding. | 
|  | 665 |  | 
|  | 666 | - Patch #1166938: locale.py: Parse LANGUAGE as a colon separated list of | 
|  | 667 | languages. | 
|  | 668 |  | 
| Martin v. Löwis | 4ed6738 | 2005-09-18 08:34:39 +0000 | [diff] [blame] | 669 | - Patch #1268314: Cache lines in StreamReader.readlines for performance. | 
|  | 670 |  | 
| Brett Cannon | a783d06 | 2005-09-15 02:34:56 +0000 | [diff] [blame] | 671 | - Bug #1290505: Fix clearing the regex cache for time.strptime(). | 
|  | 672 |  | 
| Martin v. Löwis | 5dbdc59 | 2005-08-27 10:07:56 +0000 | [diff] [blame] | 673 | - Bug #1167128: Fix size of a symlink in a tarfile to be 0. | 
|  | 674 |  | 
| Georg Brandl | 5a650a2 | 2005-08-26 08:51:34 +0000 | [diff] [blame] | 675 | - Patch #810023: Fix off-by-one bug in urllib.urlretrieve reporthook | 
|  | 676 | functionality. | 
|  | 677 |  | 
| Martin v. Löwis | 8b59514 | 2005-08-25 11:03:38 +0000 | [diff] [blame] | 678 | - Bug #1163178: Make IDNA return an empty string when the input is empty. | 
|  | 679 |  | 
| Georg Brandl | 532efab | 2005-08-24 22:34:21 +0000 | [diff] [blame] | 680 | - Patch #848017: Make Cookie more RFC-compliant. Use CRLF as default output | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 681 | separator and do not output trailing semicolon. | 
| Georg Brandl | 532efab | 2005-08-24 22:34:21 +0000 | [diff] [blame] | 682 |  | 
| Georg Brandl | b925602 | 2005-08-24 18:46:39 +0000 | [diff] [blame] | 683 | - Patch #1062060: urllib.urlretrieve() now raises a new exception, named | 
|  | 684 | ContentTooShortException, when the actually downloaded size does not | 
|  | 685 | match the Content-Length header. | 
|  | 686 |  | 
| Martin v. Löwis | 0a5d4a2 | 2005-08-24 14:55:22 +0000 | [diff] [blame] | 687 | - Bug #1121494: distutils.dir_utils.mkpath now accepts Unicode strings. | 
|  | 688 |  | 
| Martin v. Löwis | 56066d2 | 2005-08-24 07:38:12 +0000 | [diff] [blame] | 689 | - Bug #1178484: Return complete lines from codec stream readers | 
|  | 690 | even if there is an exception in later lines, resulting in | 
| Walter Dörwald | a05834e | 2005-10-09 19:38:21 +0000 | [diff] [blame] | 691 | correct line numbers for decoding errors in source code. | 
| Martin v. Löwis | 56066d2 | 2005-08-24 07:38:12 +0000 | [diff] [blame] | 692 |  | 
| Georg Brandl | 6d2b346 | 2005-08-24 07:36:17 +0000 | [diff] [blame] | 693 | - Bug #1192315: Disallow negative arguments to clear() in pdb. | 
|  | 694 |  | 
| Martin v. Löwis | b813c53 | 2005-08-07 20:51:04 +0000 | [diff] [blame] | 695 | - Patch #827386: Support absolute source paths in msvccompiler.py. | 
|  | 696 |  | 
| Georg Brandl | 649f8e7 | 2005-08-03 07:30:12 +0000 | [diff] [blame] | 697 | - Patch #1105730: Apply the new implementation of commonprefix in posixpath | 
|  | 698 | to ntpath, macpath, os2emxpath and riscospath. | 
|  | 699 |  | 
| Guido van Rossum | 755149f | 2005-07-27 00:00:44 +0000 | [diff] [blame] | 700 | - Fix a problem in Tkinter introduced by SF patch #869468: delete bogus | 
|  | 701 | __hasattr__ and __delattr__ methods on class Tk that were breaking | 
|  | 702 | Tkdnd. | 
|  | 703 |  | 
| Georg Brandl | 5dbda75 | 2005-07-17 20:27:41 +0000 | [diff] [blame] | 704 | - Bug #1015140: disambiguated the term "article id" in nntplib docs and | 
|  | 705 | docstrings to either "article number" or "message id". | 
|  | 706 |  | 
| Georg Brandl | a4a8b82 | 2005-07-15 09:13:21 +0000 | [diff] [blame] | 707 | - Bug #1238170: threading.Thread.__init__ no longer has "kwargs={}" as a | 
|  | 708 | parameter, but uses the usual "kwargs=None". | 
|  | 709 |  | 
| Andrew M. Kuchling | 88b8582 | 2005-08-23 00:57:07 +0000 | [diff] [blame] | 710 | - textwrap now processes text chunks at O(n) speed instead of O(n**2). | 
| Raymond Hettinger | 8bfa893 | 2005-07-15 06:53:35 +0000 | [diff] [blame] | 711 | Patch #1209527 (Contributed by Connelly). | 
|  | 712 |  | 
| Georg Brandl | 5c5fe2f | 2005-07-14 06:40:47 +0000 | [diff] [blame] | 713 | - urllib2 has now an attribute 'httpresponses' mapping from HTTP status code | 
|  | 714 | to W3C name (404 -> 'Not Found'). RFE #1216944. | 
|  | 715 |  | 
| Georg Brandl | 9e43acf | 2005-07-04 17:16:07 +0000 | [diff] [blame] | 716 | - Bug #1177468: Don't cache the /dev/urandom file descriptor for os.urandom, | 
|  | 717 | as this can cause problems with apps closing all file descriptors. | 
|  | 718 |  | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 719 | - Bug #839151: Fix an attempt to access sys.argv in the warnings module; | 
| Andrew M. Kuchling | 88b8582 | 2005-08-23 00:57:07 +0000 | [diff] [blame] | 720 | it can be missing in embedded interpreters | 
| Georg Brandl | 5284b53 | 2005-06-26 22:54:58 +0000 | [diff] [blame] | 721 |  | 
| Georg Brandl | 2f210b6 | 2005-06-26 22:09:06 +0000 | [diff] [blame] | 722 | - Bug #1155638: Fix a bug which affected HTTP 0.9 responses in httplib. | 
|  | 723 |  | 
| Georg Brandl | fbff1bc | 2005-06-26 21:36:25 +0000 | [diff] [blame] | 724 | - Bug #1100201: Cross-site scripting was possible on BaseHTTPServer via | 
|  | 725 | error messages. | 
|  | 726 |  | 
| Georg Brandl | 379f99d | 2005-06-26 21:09:38 +0000 | [diff] [blame] | 727 | - Bug #1108948: Cookie.py produced invalid JavaScript code. | 
|  | 728 |  | 
| Raymond Hettinger | da99d1c | 2005-06-21 07:43:58 +0000 | [diff] [blame] | 729 | - The tokenize module now detects and reports indentation errors. | 
|  | 730 | Bug #1224621. | 
|  | 731 |  | 
| Raymond Hettinger | 68c0453 | 2005-06-10 11:05:19 +0000 | [diff] [blame] | 732 | - The tokenize module has a new untokenize() function to support a full | 
| Andrew M. Kuchling | 7034f6b | 2006-04-01 10:50:08 +0000 | [diff] [blame] | 733 | roundtrip from lexed tokens back to Python source code.  In addition, | 
| Raymond Hettinger | 68c0453 | 2005-06-10 11:05:19 +0000 | [diff] [blame] | 734 | the generate_tokens() function now accepts a callable argument that | 
|  | 735 | terminates by raising StopIteration. | 
|  | 736 |  | 
| Georg Brandl | 9166e1a | 2005-06-04 09:20:03 +0000 | [diff] [blame] | 737 | - Bug #1196315: fix weakref.WeakValueDictionary constructor. | 
|  | 738 |  | 
| Georg Brandl | 268e61c | 2005-06-03 14:28:50 +0000 | [diff] [blame] | 739 | - Bug #1213894: os.path.realpath didn't resolve symlinks that were the first | 
|  | 740 | component of the path. | 
|  | 741 |  | 
| Skip Montanaro | 174dd22 | 2005-05-14 20:54:16 +0000 | [diff] [blame] | 742 | - Patch #1120353: The xmlrpclib module provides better, more transparent, | 
|  | 743 | support for datetime.{datetime,date,time} objects.  With use_datetime set | 
|  | 744 | to True, applications shouldn't have to fiddle with the DateTime wrapper | 
|  | 745 | class at all. | 
|  | 746 |  | 
| Martin v. Löwis | 55f1bb8 | 2005-03-21 20:56:35 +0000 | [diff] [blame] | 747 | - distutils.commands.upload was added to support uploading distribution | 
|  | 748 | files to PyPI. | 
|  | 749 |  | 
| Walter Dörwald | a6e8a4a | 2005-03-31 13:57:38 +0000 | [diff] [blame] | 750 | - distutils.commands.register now encodes the data as UTF-8 before posting | 
|  | 751 | them to PyPI. | 
|  | 752 |  | 
| Raymond Hettinger | 267b868 | 2005-03-27 10:47:39 +0000 | [diff] [blame] | 753 | - decimal operator and comparison methods now return NotImplemented | 
|  | 754 | instead of raising a TypeError when interacting with other types.  This | 
|  | 755 | allows other classes to implement __radd__ style methods and have them | 
|  | 756 | work as expected. | 
|  | 757 |  | 
| Raymond Hettinger | bea3f6f | 2005-03-15 04:59:17 +0000 | [diff] [blame] | 758 | - Bug #1163325:  Decimal infinities failed to hash.  Attempting to | 
|  | 759 | hash a NaN raised an InvalidOperation instead of a TypeError. | 
|  | 760 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 761 | - Patch #918101: Add tarfile open mode r|* for auto-detection of the | 
| Martin v. Löwis | 78be7df | 2005-03-05 12:47:42 +0000 | [diff] [blame] | 762 | stream compression; add, for symmetry reasons, r:* as a synonym of r. | 
|  | 763 |  | 
| Martin v. Löwis | 00a73e7 | 2005-03-04 19:40:34 +0000 | [diff] [blame] | 764 | - Patch #1043890: Add extractall method to tarfile. | 
|  | 765 |  | 
| Martin v. Löwis | c72dd38 | 2005-03-04 13:50:17 +0000 | [diff] [blame] | 766 | - Patch #1075887: Don't require MSVC in distutils if there is nothing | 
|  | 767 | to build. | 
|  | 768 |  | 
| Martin v. Löwis | 637431b | 2005-03-03 23:12:42 +0000 | [diff] [blame] | 769 | - Patch #1103407: Properly deal with tarfile iterators when untarring | 
|  | 770 | symbolic links on Windows. | 
|  | 771 |  | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 772 | - Patch #645894: Use getrusage for computing the time consumption in | 
| Martin v. Löwis | a4dac40 | 2005-03-03 11:39:45 +0000 | [diff] [blame] | 773 | profile.py if available. | 
|  | 774 |  | 
| Martin v. Löwis | df37c8c | 2005-03-03 11:08:03 +0000 | [diff] [blame] | 775 | - Patch #1046831: Use get_python_version where appropriate in sysconfig.py. | 
|  | 776 |  | 
| Martin v. Löwis | c5574e8 | 2005-03-03 10:57:37 +0000 | [diff] [blame] | 777 | - Patch #1117454: Remove code to special-case cookies without values | 
|  | 778 | in LWPCookieJar. | 
|  | 779 |  | 
| Martin v. Löwis | 4ea3ead | 2005-03-03 10:48:12 +0000 | [diff] [blame] | 780 | - Patch #1117339: Add cookielib special name tests. | 
|  | 781 |  | 
| Martin v. Löwis | e869eb1 | 2005-03-03 09:46:07 +0000 | [diff] [blame] | 782 | - Patch #1112812: Make bsddb/__init__.py more friendly for modulefinder. | 
|  | 783 |  | 
| Martin v. Löwis | f2a8d63 | 2005-03-03 08:35:22 +0000 | [diff] [blame] | 784 | - Patch #1110248: SYNC_FLUSH the zlib buffer for GZipFile.flush. | 
|  | 785 |  | 
| Martin v. Löwis | df24153 | 2005-03-03 08:17:42 +0000 | [diff] [blame] | 786 | - Patch #1107973: Allow to iterate over the lines of a tarfile.ExFileObject. | 
|  | 787 |  | 
| Martin v. Löwis | 8ed338a | 2005-03-03 08:12:27 +0000 | [diff] [blame] | 788 | - Patch #1104111: Alter setup.py --help and --help-commands. | 
|  | 789 |  | 
| Martin v. Löwis | 4afe154 | 2005-03-01 08:09:28 +0000 | [diff] [blame] | 790 | - Patch #1121234: Properly cleanup _exit and tkerror commands. | 
|  | 791 |  | 
| Martin v. Löwis | c2a0ac2 | 2005-02-24 20:22:10 +0000 | [diff] [blame] | 792 | - Patch #1049151: xdrlib now unpacks booleans as True or False. | 
|  | 793 |  | 
| Raymond Hettinger | bab4143 | 2005-02-05 01:31:19 +0000 | [diff] [blame] | 794 | - Fixed bug in a NameError bug in cookielib.  Patch #1116583. | 
|  | 795 |  | 
| Guido van Rossum | d064142 | 2005-02-03 15:01:24 +0000 | [diff] [blame] | 796 | - Applied a security fix to SimpleXMLRPCserver (PSF-2005-001).  This | 
|  | 797 | disables recursive traversal through instance attributes, which can | 
|  | 798 | be exploited in various ways. | 
|  | 799 |  | 
| Tim Peters | e3547fd | 2005-12-16 23:13:57 +0000 | [diff] [blame] | 800 | - Bug #1222790: in SimpleXMLRPCServer, set the reuse-address and close-on-exec | 
| Andrew M. Kuchling | 3a97605 | 2005-12-04 15:07:41 +0000 | [diff] [blame] | 801 | flags on the HTTP listening socket. | 
|  | 802 |  | 
| Andrew M. Kuchling | e63fde7 | 2005-12-04 15:36:57 +0000 | [diff] [blame] | 803 | - Bug #792570: SimpleXMLRPCServer had problems if the request grew too large. | 
|  | 804 | Fixed by reading the HTTP body in chunks instead of one big socket.read(). | 
|  | 805 |  | 
| Tim Peters | e3547fd | 2005-12-16 23:13:57 +0000 | [diff] [blame] | 806 | - Patches #893642, #1039083: add allow_none, encoding arguments to constructors of | 
| Andrew M. Kuchling | 10a16de | 2005-12-04 16:34:40 +0000 | [diff] [blame] | 807 | SimpleXMLRPCServer and CGIXMLRPCRequestHandler. | 
|  | 808 |  | 
| Martin v. Löwis | 1d11de6 | 2005-01-29 13:29:23 +0000 | [diff] [blame] | 809 | - Bug #1110478: Revert os.environ.update to do putenv again. | 
|  | 810 |  | 
| Thomas Heller | d6c6e22 | 2005-01-20 19:20:16 +0000 | [diff] [blame] | 811 | - Bug #1103844: fix distutils.install.dump_dirs() with negated options. | 
|  | 812 |  | 
| Martin v. Löwis | 22b457e | 2005-01-16 08:40:58 +0000 | [diff] [blame] | 813 | - os.{SEEK_SET, SEEK_CUR, SEEK_END} have been added for convenience. | 
|  | 814 |  | 
| Andrew McNamara | a08eecb | 2005-01-12 03:25:27 +0000 | [diff] [blame] | 815 | - Enhancements to the csv module: | 
|  | 816 |  | 
|  | 817 | + Dialects are now validated by the underlying C code, better | 
| Georg Brandl | 7eb4b7d | 2005-07-22 21:49:32 +0000 | [diff] [blame] | 818 | reflecting its capabilities, and improving its compliance with | 
| Tim Peters | ecc6e6a | 2005-07-10 22:30:55 +0000 | [diff] [blame] | 819 | PEP 305. | 
| Andrew McNamara | a08eecb | 2005-01-12 03:25:27 +0000 | [diff] [blame] | 820 | + Dialect parameter parsing has been re-implemented to improve error | 
|  | 821 | reporting. | 
|  | 822 | + quotechar=None and quoting=QUOTE_NONE now work the way PEP 305 | 
|  | 823 | dictates. | 
|  | 824 | + the parser now removes the escapechar prefix from escaped characters. | 
| Andrew McNamara | 0f0599d | 2005-01-12 09:45:18 +0000 | [diff] [blame] | 825 | + when quoting=QUOTE_NONNUMERIC, the writer now tests for numeric | 
| Andrew McNamara | f69d94f | 2005-01-13 11:30:54 +0000 | [diff] [blame] | 826 | types, rather than any object than can be represented as a numeric. | 
| Andrew McNamara | 0f0599d | 2005-01-12 09:45:18 +0000 | [diff] [blame] | 827 | + when quoting=QUOTE_NONNUMERIC, the reader now casts unquoted fields | 
|  | 828 | to floats. | 
| Andrew McNamara | f69d94f | 2005-01-13 11:30:54 +0000 | [diff] [blame] | 829 | + reader now allows \r characters to be quoted (previously it only allowed | 
|  | 830 | \n to be quoted). | 
| Andrew McNamara | c89f284 | 2005-01-12 07:44:42 +0000 | [diff] [blame] | 831 | + writer doublequote handling improved. | 
| Andrew McNamara | a08eecb | 2005-01-12 03:25:27 +0000 | [diff] [blame] | 832 | + Dialect classes passed to the module are no longer instantiated by | 
|  | 833 | the module before being parsed (the former validation scheme required | 
|  | 834 | this, but the mechanism was unreliable). | 
|  | 835 | + The dialect registry now contains instances of the internal | 
|  | 836 | C-coded dialect type, rather than references to python objects. | 
|  | 837 | + the internal c-coded dialect type is now immutable. | 
|  | 838 | + register_dialect now accepts the same keyword dialect specifications | 
|  | 839 | as the reader and writer, allowing the user to register dialects | 
|  | 840 | without first creating a dialect class. | 
|  | 841 | + a configurable limit to the size of parsed fields has been added - | 
|  | 842 | previously, an unmatched quote character could result in the entire | 
|  | 843 | file being read into the field buffer before an error was reported. | 
| Andrew McNamara | 31d8896 | 2005-01-12 03:45:10 +0000 | [diff] [blame] | 844 | + A new module method csv.field_size_limit() has been added that sets | 
| Andrew McNamara | a08eecb | 2005-01-12 03:25:27 +0000 | [diff] [blame] | 845 | the parser field size limit (returning the former limit). The initial | 
|  | 846 | limit is 128kB. | 
| Andrew McNamara | 7f2053e | 2005-01-12 11:17:16 +0000 | [diff] [blame] | 847 | + A line_num attribute has been added to the reader object, which tracks | 
|  | 848 | the number of lines read from the source iterator. This is not | 
|  | 849 | the same as the number of records returned, as records can span | 
|  | 850 | multiple lines. | 
| Andrew McNamara | a08eecb | 2005-01-12 03:25:27 +0000 | [diff] [blame] | 851 | + reader and writer objects were not being registered with the cyclic-GC. | 
|  | 852 | This has been fixed. | 
|  | 853 |  | 
| Brett Cannon | e6539c4 | 2005-01-08 02:43:53 +0000 | [diff] [blame] | 854 | - _DummyThread objects in the threading module now delete self.__block that is | 
|  | 855 | inherited from _Thread since it uses up a lock allocated by 'thread'.  The | 
|  | 856 | lock primitives tend to be limited in number and thus should not be wasted on | 
|  | 857 | a _DummyThread object.  Fixes bug #1089632. | 
|  | 858 |  | 
| Raymond Hettinger | 97db05d | 2005-01-07 08:15:41 +0000 | [diff] [blame] | 859 | - The imghdr module now detects Exif files. | 
|  | 860 |  | 
| Raymond Hettinger | 6065d32 | 2004-12-20 23:51:53 +0000 | [diff] [blame] | 861 | - StringIO.truncate() now correctly adjusts the size attribute. | 
|  | 862 | (Bug #951915). | 
|  | 863 |  | 
| Marc-André Lemburg | bb4f1bd | 2004-12-10 21:58:14 +0000 | [diff] [blame] | 864 | - locale.py now uses an updated locale alias table (built using | 
|  | 865 | Tools/i18n/makelocalealias.py, a tool to parse the X11 locale | 
|  | 866 | alias file); the encoding lookup was enhanced to use Python's | 
| Andrew M. Kuchling | 88b8582 | 2005-08-23 00:57:07 +0000 | [diff] [blame] | 867 | encoding alias table. | 
| Marc-André Lemburg | bb4f1bd | 2004-12-10 21:58:14 +0000 | [diff] [blame] | 868 |  | 
| Raymond Hettinger | 3557f42 | 2004-12-07 12:02:02 +0000 | [diff] [blame] | 869 | - moved deprecated modules to Lib/lib-old:  whrandom, tzparse, statcache. | 
|  | 870 |  | 
| Raymond Hettinger | a6b45cc | 2004-12-07 07:05:57 +0000 | [diff] [blame] | 871 | - the pickle module no longer accepts the deprecated None option in the | 
|  | 872 | args tuple returned by __reduce__(). | 
|  | 873 |  | 
| Brett Cannon | 84667c0 | 2004-12-07 03:25:18 +0000 | [diff] [blame] | 874 | - optparse now optionally imports gettext.  This allows its use in setup.py. | 
|  | 875 |  | 
| Raymond Hettinger | 3489cad | 2004-12-05 05:20:42 +0000 | [diff] [blame] | 876 | - the pickle module no longer uses the deprecated bin parameter. | 
|  | 877 |  | 
| Raymond Hettinger | 1bc82f8 | 2004-12-05 03:58:17 +0000 | [diff] [blame] | 878 | - the shelve module no longer uses the deprecated binary parameter. | 
|  | 879 |  | 
| Raymond Hettinger | 6c92d76 | 2004-12-05 03:28:00 +0000 | [diff] [blame] | 880 | - the pstats module no longer uses the deprecated ignore() method. | 
|  | 881 |  | 
| Raymond Hettinger | f3fa946 | 2004-12-05 01:58:09 +0000 | [diff] [blame] | 882 | - the filecmp module no longer uses the deprecated use_statcache argument. | 
|  | 883 |  | 
| Raymond Hettinger | 664347b | 2004-12-04 21:21:53 +0000 | [diff] [blame] | 884 | - unittest.TestCase.run() and unittest.TestSuite.run() can now be successfully | 
|  | 885 | extended or overridden by subclasses.  Formerly, the subclassed method would | 
|  | 886 | be ignored by the rest of the module.  (Bug #1078905). | 
|  | 887 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 888 | - heapq.nsmallest() and heapq.nlargest() now support key= arguments with | 
| Raymond Hettinger | 3b0c7c2 | 2004-12-03 08:30:39 +0000 | [diff] [blame] | 889 | the same meaning as in list.sort(). | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 890 |  | 
| Walter Dörwald | 3673369 | 2004-12-22 12:50:50 +0000 | [diff] [blame] | 891 | - Bug #1076985: ``codecs.StreamReader.readline()`` now calls ``read()`` only | 
|  | 892 | once when a size argument is given. This prevents a buffer overflow in the | 
|  | 893 | tokenizer with very long source lines. | 
|  | 894 |  | 
| Barry Warsaw | 538561e | 2006-01-01 21:48:54 +0000 | [diff] [blame] | 895 | - Bug #1083110: ``zlib.decompress.flush()`` would segfault if called | 
|  | 896 | immediately after creating the object, without any intervening | 
|  | 897 | ``.decompress()`` calls. | 
| Andrew M. Kuchling | 3b585b3 | 2004-12-28 20:10:48 +0000 | [diff] [blame] | 898 |  | 
| Skip Montanaro | 0588581 | 2005-01-16 20:48:27 +0000 | [diff] [blame] | 899 | - The reconvert.quote function can now emit triple-quoted strings.  The | 
|  | 900 | reconvert module now has some simple documentation. | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 901 |  | 
| Walter Dörwald | af3b39a | 2005-02-18 13:22:43 +0000 | [diff] [blame] | 902 | - ``UserString.MutableString`` now supports negative indices in | 
|  | 903 | ``__setitem__`` and ``__delitem__`` | 
|  | 904 |  | 
| Greg Ward | 4040794 | 2005-03-05 02:53:17 +0000 | [diff] [blame] | 905 | - Bug #1149508: ``textwrap`` now handles hyphenated numbers (eg. "2004-03-05") | 
|  | 906 | correctly. | 
|  | 907 |  | 
| Walter Dörwald | bc8e642 | 2005-04-21 21:32:03 +0000 | [diff] [blame] | 908 | - Partial fixes for SF bugs #1163244 and #1175396: If a chunk read by | 
|  | 909 | ``codecs.StreamReader.readline()`` has a trailing "\r", read one more | 
|  | 910 | character even if the user has passed a size parameter to get a proper | 
|  | 911 | line ending. Remove the special handling of a "\r\n" that has been split | 
|  | 912 | between two lines. | 
|  | 913 |  | 
| Walter Dörwald | a47d1c0 | 2005-08-30 10:23:14 +0000 | [diff] [blame] | 914 | - Bug #1251300: On UCS-4 builds the "unicode-internal" codec will now complain | 
|  | 915 | about illegal code points. The codec now supports PEP 293 style error | 
|  | 916 | handlers. | 
|  | 917 |  | 
| Walter Dörwald | 78a78b0 | 2005-09-01 12:04:29 +0000 | [diff] [blame] | 918 | - Bug #1235646: ``codecs.StreamRecoder.next()`` now reencodes the data it reads | 
| Walter Dörwald | c5238b8 | 2005-09-01 11:56:53 +0000 | [diff] [blame] | 919 | from the input stream, so that the output is a byte string in the correct | 
|  | 920 | encoding instead of a unicode string. | 
| Greg Ward | 4040794 | 2005-03-05 02:53:17 +0000 | [diff] [blame] | 921 |  | 
| Gustavo Niemeyer | 6fa0c5a | 2005-09-14 08:54:39 +0000 | [diff] [blame] | 922 | - Bug #1202493: Fixing SRE parser to handle '{}' as perl does, rather than | 
|  | 923 | considering it exactly like a '*'. | 
|  | 924 |  | 
| Walter Dörwald | 007f8df | 2005-10-09 19:42:27 +0000 | [diff] [blame] | 925 | - Bug #1245379: Add "unicode-1-1-utf-7" as an alias for "utf-7" to | 
|  | 926 | ``encodings.aliases``. | 
| Gustavo Niemeyer | 6fa0c5a | 2005-09-14 08:54:39 +0000 | [diff] [blame] | 927 |  | 
| Walter Dörwald | 09f0dd5 | 2005-11-21 19:10:07 +0000 | [diff] [blame] | 928 | - ` uu.encode()`` and ``uu.decode()`` now support unicode filenames. | 
|  | 929 |  | 
| Gustavo Niemeyer | 54814881 | 2006-01-31 18:34:13 +0000 | [diff] [blame] | 930 | - Patch #1413711: Certain patterns of differences were making difflib | 
|  | 931 | touch the recursion limit. | 
|  | 932 |  | 
| Walter Dörwald | 58917a6 | 2006-03-31 15:26:22 +0000 | [diff] [blame] | 933 | - Bug #947906: An object oriented interface has been added to the calendar | 
|  | 934 | module. It's possible to generate HTML calendar now and the module can be | 
| Walter Dörwald | 48d5e50 | 2006-04-01 07:57:00 +0000 | [diff] [blame] | 935 | called as a script (e.g. via ``python -mcalendar``). Localized month and | 
|  | 936 | weekday names can be ouput (even if an exotic encoding is used) using | 
|  | 937 | special classes that use unicode. | 
| Walter Dörwald | 58917a6 | 2006-03-31 15:26:22 +0000 | [diff] [blame] | 938 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 939 | Build | 
|  | 940 | ----- | 
|  | 941 |  | 
| Neal Norwitz | 602d339 | 2006-03-31 08:21:40 +0000 | [diff] [blame] | 942 | - Fix test_float, test_long, and test_struct failures on Tru64 with gcc | 
|  | 943 | by using -mieee gcc option. | 
|  | 944 |  | 
| Martin v. Löwis | 86d6626 | 2006-02-17 08:40:11 +0000 | [diff] [blame] | 945 | - Patch #1432345: Make python compile on DragonFly. | 
|  | 946 |  | 
| Martin v. Löwis | 856bf9a | 2006-02-14 20:42:55 +0000 | [diff] [blame] | 947 | - Build support for Win64-AMD64 was added. | 
|  | 948 |  | 
| Martin v. Löwis | a55e55e | 2006-02-11 15:55:14 +0000 | [diff] [blame] | 949 | - Patch #1428494: Prefer linking against ncursesw over ncurses library. | 
|  | 950 |  | 
| Martin v. Löwis | fd9a72a | 2006-01-08 10:07:33 +0000 | [diff] [blame] | 951 | - Patch #881820: look for openpty and forkpty also in libbsd. | 
|  | 952 |  | 
| Martin v. Löwis | 64c33dd | 2006-01-03 07:42:14 +0000 | [diff] [blame] | 953 | - The sources of zlib are now part of the Python distribution (zlib 1.2.3). | 
|  | 954 | The zlib module is now builtin on Windows. | 
|  | 955 |  | 
| Martin v. Löwis | d5845ec | 2005-12-30 12:31:38 +0000 | [diff] [blame] | 956 | - Use -xcode=pic32 for CCSHARED on Solaris with SunPro. | 
|  | 957 |  | 
| Martin v. Löwis | 147fbe5 | 2005-08-07 21:09:30 +0000 | [diff] [blame] | 958 | - Bug #1189330: configure did not correctly determine the necessary | 
|  | 959 | value of LINKCC if python was built with GCC 4.0. | 
|  | 960 |  | 
| Trent Mick | 8321b42 | 2005-07-26 02:29:21 +0000 | [diff] [blame] | 961 | - Upgrade Windows build to zlib 1.2.3 which eliminates a potential security | 
|  | 962 | vulnerability in zlib 1.2.1 and 1.2.2. | 
|  | 963 |  | 
| Brett Cannon | 08cd598 | 2005-04-24 22:26:38 +0000 | [diff] [blame] | 964 | - EXTRA_CFLAGS has been introduced as an environment variable to hold compiler | 
|  | 965 | flags that change binary compatibility.  Changes were also made to | 
|  | 966 | distutils.sysconfig to also use the environment variable when used during | 
| Martin v. Löwis | d7c795e | 2005-04-25 07:14:03 +0000 | [diff] [blame] | 967 | compilation of the interpreter and of C extensions through distutils. | 
| Brett Cannon | 08cd598 | 2005-04-24 22:26:38 +0000 | [diff] [blame] | 968 |  | 
| Bob Ippolito | ed23346 | 2005-03-29 13:47:59 +0000 | [diff] [blame] | 969 | - SF patch 1171735: Darwin 8's headers are anal about POSIX compliance, | 
|  | 970 | and linking has changed (prebinding is now deprecated, and libcc_dynamic | 
|  | 971 | no longer exists). This configure patch makes things right. | 
|  | 972 |  | 
| Martin v. Löwis | e2713be | 2005-03-08 15:03:08 +0000 | [diff] [blame] | 973 | - Bug #1158607: Build with --disable-unicode again. | 
|  | 974 |  | 
| Brett Cannon | 46d9623 | 2005-02-16 00:07:19 +0000 | [diff] [blame] | 975 | - spwdmodule.c is built only if either HAVE_GETSPNAM or HAVE_HAVE_GETSPENT is | 
|  | 976 | defined.  Discovered as a result of not being able to build on OS X. | 
|  | 977 |  | 
| Brett Cannon | 516592f | 2004-12-07 00:42:59 +0000 | [diff] [blame] | 978 | - setup.py now uses the directories specified in LDFLAGS using the -L option | 
|  | 979 | and in CPPFLAGS using the -I option for adding library and include | 
|  | 980 | directories, respectively, for compiling extension modules against.  This has | 
|  | 981 | led to the core being compiled using the values in CPPFLAGS.  It also removes | 
|  | 982 | the need for the special-casing of both DarwinPorts and Fink for darwin since | 
|  | 983 | the proper directories can be specified in LDFLAGS (``-L/sw/lib`` for Fink, | 
|  | 984 | ``-L/opt/local/lib`` for DarwinPorts) and CPPFLAGS (``-I/sw/include`` for | 
|  | 985 | Fink, ``-I/opt/local/include`` for DarwinPorts). | 
|  | 986 |  | 
| Brett Cannon | 4380242 | 2005-02-10 20:48:03 +0000 | [diff] [blame] | 987 | - Test in configure.in that checks for tzset no longer dependent on tm->tm_zone | 
|  | 988 | to exist in the struct (not required by either ISO C nor the UNIX 2 spec). | 
|  | 989 | Tests for sanity in tzname when HAVE_TZNAME defined were also defined. | 
|  | 990 | Closes bug #1096244.  Thanks Gregory Bond. | 
|  | 991 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 992 | C API | 
|  | 993 | ----- | 
|  | 994 |  | 
| Tim Peters | c9d78aa | 2006-03-26 23:27:58 +0000 | [diff] [blame] | 995 | - ``PyMem_{Del, DEL}`` and ``PyMem_{Free, FREE}`` no longer map to | 
|  | 996 | ``PyObject_{Free, FREE}``.  They map to the system ``free()`` now.  If memory | 
|  | 997 | is obtained via the ``PyObject_`` family, it must be released via the | 
|  | 998 | ``PyObject_`` family, and likewise for the ``PyMem_`` family.  This has | 
|  | 999 | always been officially true, but when Python's small-object allocator was | 
|  | 1000 | introduced, an attempt was made to cater to a few extension modules | 
|  | 1001 | discovered at the time that obtained memory via ``PyObject_New`` but | 
|  | 1002 | released it via ``PyMem_DEL``.  It's years later, and if such code still | 
|  | 1003 | exists it will fail now (probably with segfaults, but calling wrong | 
|  | 1004 | low-level memory management functions can yield many symptoms). | 
|  | 1005 |  | 
| Raymond Hettinger | beb3101 | 2005-08-16 03:47:52 +0000 | [diff] [blame] | 1006 | - Added a C API for set and frozenset objects. | 
|  | 1007 |  | 
| Raymond Hettinger | 6651748 | 2004-12-03 11:45:13 +0000 | [diff] [blame] | 1008 | - Removed PyRange_New(). | 
|  | 1009 |  | 
| Walter Dörwald | d1c1e10 | 2005-10-06 20:29:57 +0000 | [diff] [blame] | 1010 | - Patch #1313939: PyUnicode_DecodeCharmap() accepts a unicode string as the | 
|  | 1011 | mapping argument now. This string is used as a mapping table. Byte values | 
|  | 1012 | greater than the length of the string and 0xFFFE are treated as undefined | 
|  | 1013 | mappings. | 
|  | 1014 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 1015 |  | 
|  | 1016 | Tests | 
|  | 1017 | ----- | 
|  | 1018 |  | 
| Martin v. Löwis | 4d394df | 2005-01-23 09:19:22 +0000 | [diff] [blame] | 1019 | - In test_os, st_?time is now truncated before comparing it with ST_?TIME. | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 1020 |  | 
| Hye-Shik Chang | aaa2f1d | 2005-12-10 17:44:27 +0000 | [diff] [blame] | 1021 | - Patch #1276356: New resource "urlfetch" is implemented.  This enables | 
|  | 1022 | even impatient people to run tests that require remote files. | 
|  | 1023 |  | 
| Brett Cannon | ced04e0 | 2005-02-13 22:53:22 +0000 | [diff] [blame] | 1024 |  | 
|  | 1025 | Documentation | 
|  | 1026 | ------------- | 
|  | 1027 |  | 
| Georg Brandl | 8cb3077 | 2006-01-20 09:34:29 +0000 | [diff] [blame] | 1028 | - Bug #1402224: Add warning to dl docs about crashes. | 
|  | 1029 |  | 
| Georg Brandl | a3a93ae | 2006-01-20 09:14:36 +0000 | [diff] [blame] | 1030 | - Bug #1396471: Document that Windows' ftell() can return invalid | 
|  | 1031 | values for text files with UNIX-style line endings. | 
|  | 1032 |  | 
| Georg Brandl | 3225242 | 2005-09-14 20:42:00 +0000 | [diff] [blame] | 1033 | - Bug #1274828: Document os.path.splitunc(). | 
|  | 1034 |  | 
| Georg Brandl | 79c122f | 2005-08-24 07:31:33 +0000 | [diff] [blame] | 1035 | - Bug #1190204: Clarify which directories are searched by site.py. | 
|  | 1036 |  | 
| Georg Brandl | 6f2bbd3 | 2005-08-24 07:26:55 +0000 | [diff] [blame] | 1037 | - Bug #1193849: Clarify os.path.expanduser() documentation. | 
|  | 1038 |  | 
| Georg Brandl | f13c4ba | 2005-08-02 10:28:08 +0000 | [diff] [blame] | 1039 | - Bug #1243192: re.UNICODE and re.LOCALE affect \d, \D, \s and \S. | 
|  | 1040 |  | 
| Georg Brandl | 150db73 | 2005-07-18 08:53:17 +0000 | [diff] [blame] | 1041 | - Bug #755617: Document the effects of os.chown() on Windows. | 
|  | 1042 |  | 
| Georg Brandl | 379f99d | 2005-06-26 21:09:38 +0000 | [diff] [blame] | 1043 | - Patch #1180012: The documentation for modulefinder is now in the library reference. | 
|  | 1044 |  | 
|  | 1045 | - Patch #1213031: Document that os.chown() accepts argument values of -1. | 
|  | 1046 |  | 
|  | 1047 | - Bug #1190563: Document os.waitpid() return value with WNOHANG flag. | 
|  | 1048 |  | 
|  | 1049 | - Bug #1175022: Correct the example code for property(). | 
|  | 1050 |  | 
| Georg Brandl | 40c7165 | 2005-06-25 21:08:46 +0000 | [diff] [blame] | 1051 | - Document the IterableUserDict class in the UserDict module. | 
|  | 1052 | Closes bug #1166582. | 
|  | 1053 |  | 
| Brett Cannon | ced04e0 | 2005-02-13 22:53:22 +0000 | [diff] [blame] | 1054 | - Remove all latent references for "Macintosh" that referred to semantics for | 
|  | 1055 | Mac OS 9 and change to reflect the state for OS X. | 
|  | 1056 | Closes patch #1095802.  Thanks Jack Jansen. | 
|  | 1057 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 1058 | Mac | 
|  | 1059 | --- | 
|  | 1060 |  | 
|  | 1061 |  | 
| Hye-Shik Chang | 4e42281 | 2005-07-17 02:36:59 +0000 | [diff] [blame] | 1062 | New platforms | 
|  | 1063 | ------------- | 
|  | 1064 |  | 
|  | 1065 | - FreeBSD 7 support is added. | 
|  | 1066 |  | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 1067 |  | 
|  | 1068 | Tools/Demos | 
|  | 1069 | ----------- | 
|  | 1070 |  | 
| Brett Cannon | acde734 | 2006-03-01 04:28:00 +0000 | [diff] [blame] | 1071 | - Created Misc/Vim/vim_syntax.py to auto-generate a python.vim file in that | 
|  | 1072 | directory for syntax highlighting in Vim.  Vim directory was added and placed | 
|  | 1073 | vimrc to it (was previous up a level). | 
|  | 1074 |  | 
| Georg Brandl | 5689731 | 2005-08-24 18:32:30 +0000 | [diff] [blame] | 1075 | - Added two new files to Tools/scripts: pysource.py, which recursively | 
|  | 1076 | finds Python source files, and findnocoding.py, which finds Python | 
|  | 1077 | source files that need an encoding declaration. | 
|  | 1078 | Patch #784089, credits to Oleg Broytmann. | 
|  | 1079 |  | 
| Georg Brandl | 379f99d | 2005-06-26 21:09:38 +0000 | [diff] [blame] | 1080 | - Bug #1072853: pindent.py used an uninitialized variable. | 
|  | 1081 |  | 
| Martin v. Löwis | ab9ec16 | 2005-04-09 10:53:34 +0000 | [diff] [blame] | 1082 | - Patch #1177597: Correct Complex.__init__. | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 1083 |  | 
| Barry Warsaw | 538561e | 2006-01-01 21:48:54 +0000 | [diff] [blame] | 1084 | - Fixed a display glitch in Pynche, which could cause the right arrow to | 
|  | 1085 | wiggle over by a pixel. | 
| Raymond Hettinger | 4901a1f | 2004-12-02 08:59:14 +0000 | [diff] [blame] | 1086 |  | 
| Skip Montanaro | e5d7f7f | 2002-09-20 14:16:59 +0000 | [diff] [blame] | 1087 | ---- | 
|  | 1088 |  | 
|  | 1089 | **(For information about older versions, consult the HISTORY file.)** |