5
5
(editors: check NEWS.help for information about editing NEWS using ReST.)
7
What's New in Python 2.6.5 rc 2?
8
================================
10
*Release date: 2010-03-09*
15
- Issue #8089: a OS X framework build with --with-universal-archs=3-way|intel
16
had no way to select a 32-bit executable.
18
- Issue #8084: fixes build issues on OSX 10.6 when targetting OSX 10.4.
23
- Reverting the changes made in r78432. Discussed in the tracker issue #7540.
28
- Issue #7670: sqlite3: Fixed crashes when operating on closed connections.
30
- Issue #8053: logic was inverted on which platforms to run a test on.
31
caused test_thread to fail on Windows.
34
What's New in Python 2.6.5 rc 1?
35
================================
37
*Release date: 2010-03-01*
42
- Issue #7309: Fix unchecked attribute access when converting
43
UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to
46
- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a
47
UnicodeDecodeError if 'char' is a byte string that can't be decoded using
50
- Issue #5677: Explicitly forbid write operations on read-only file objects,
51
and read operations on write-only file objects. On Windows, the system C
52
library would return a bogus result; on Solaris, it was possible to crash
53
the interpreter. Patch by Stefan Krah.
55
- Issue #4978: Passing keyword arguments as unicode strings is now allowed.
57
- Issue #7819: Check sys.call_tracing() arguments types.
59
- Issue #7788: Fix an interpreter crash produced by deleting a list
60
slice with very large step value.
62
- Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`)
63
could crash in many places because of the PyByteArray_AS_STRING() macro
64
returning NULL. The macro now returns a statically allocated empty
67
- Issue #7604: Deleting an unset slotted attribute did not raise an
70
- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat()
71
used to drop the time part of the result.
73
- Issue #6108: unicode(exception) and str(exception) should return the same
74
message when only __str__ (and not __unicode__) is overridden in the
77
- Issue #7491: Metaclass's __cmp__ method was ignored.
79
- Add Py3k warnings for parameter names in parenthesis.
81
- Issue #7362: Give a proper error message for def f((x)=3): pass.
83
- Issue #7085: Fix crash when importing some extensions in a thread
86
- Issue #7070: Fix round bug for large odd integer arguments.
88
- Issue #7078: Set struct.__doc__ from _struct.__doc__.
90
- Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which
91
fixes the problem of some exceptions being thrown at shutdown when the
92
interpreter is killed. Patch by Adam Olsen.
94
- Issue #7084: Fix a (very unlikely) crash when printing a list from one
95
thread, and mutating it from another one. Patch by Scott Dial.
97
- Issue #1747858: Fix lchown & fchown to work with large uid's and gid's on
104
- Issue #7250: Fix info leak of os.environ across multi-run uses of
105
wsgiref.handlers.CGIHandler.
107
- Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
109
- Issue #691291: codecs.open() should not convert end of lines on reading and
112
- Issue #7975: correct regression in dict methods supported by bsddb.dbshelve.
114
- Issue #7959: ctypes callback functions are now registered correctly
115
with the cycle garbage collector.
117
- Issue #6243: curses.getkey() can segfault when used with ungetch.
118
Fix by Trundle and Jerry Chen.
120
- Issue #7597: curses.use_env() can now be called before initscr().
121
Noted by Kan-Ru Chen.
123
- Issue #7970: email.Generator.flatten now correctly flattens message/rfc822
124
messages parsed by email.Parser.HeaderParser.
126
- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode.
128
- Issue #7835: shelve should no longer produce mysterious warnings during
129
interpreter shutdown.
131
- Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
132
specified, rather than fall through to AF_PACKET (in the `socket` module).
133
Also, raise ValueError rather than TypeError when an unknown TIPC address
134
type is specified. Patch by Brian Curtin.
136
- Issue #6939: Fix file I/O objects in the `io` module to keep the original
137
file position when calling `truncate()`. It would previously change the
138
file position to the given argument, which goes against the tradition of
139
ftruncate() and other truncation APIs. Patch by Pascal Chambon.
141
- Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when
142
the release file is empty.
144
- Issue #7748: Since unicode values are supported for some metadata options
145
in Distutils, the DistributionMetadata get_* methods will now return an utf-8
146
encoded string for them. This ensure that the upload and register commands
147
send the right values to PyPI without any error.
149
- Issue #1670765: Prevent email.generator.Generator from re-wrapping
150
headers in multipart/signed MIME parts, which fixes one of the sources of
151
invalid modifications to such parts by Generator.
153
- Issue #7701: Fix crash in binascii.b2a_uu() in debug mode when given a
154
1-byte argument. Patch by Victor Stinner.
156
- Issue #3299: Fix possible crash in the _sre module when given bad
157
argument values in debug mode. Patch by Victor Stinner.
159
- Issue #5827: Make sure that normpath preserves unicode. Initial patch
162
- Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
163
Extension extra options may change the output without changing the .c
164
file). Initial patch by Collin Winter.
166
- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes
167
gcc when it has a fully qualified configuration prefix. Initial patch
170
- Issue #7071: byte-compilation in Distutils is now done with respect to
171
sys.dont_write_bytecode.
173
- Issue #7092: Remove py3k warning when importing cPickle. 2to3 handles
174
renaming of `cPickle` to `pickle`. The warning was annoying since there's
175
no alternative to cPickle if you care about performance. Patch by Florent
178
- Issue #7455: Fix possible crash in cPickle on invalid input. Patch by
181
- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
182
opening an empty or very small file.
184
- Issue #7552: Removed line feed in the base64 Authorization header in
185
the Distutils upload command to avoid an error when PyPI reads it.
186
This occurs on long passwords. Initial patch by JP St. Pierre.
188
- Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by
191
- Issue #7348: StringIO.StringIO.readline(-1) now acts as if it got no argument
192
like other file objects.
194
- Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is
195
missing proper end-of-line termination.
197
- Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d
199
- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is
200
generated in Distutils. Patch by Stephen Emslie.
202
- Issue #4120: Drop reference to CRT from manifest when building extensions
205
- Issue #7410: deepcopy of itertools.count() erroneously reset the count.
207
- Issue #7403: logging: Fixed possible race condition in lock creation.
209
- Issue #7341: Close the internal file object in the TarFile constructor in
212
- Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch
214
- Issue #7318: multiprocessing now uses a timeout when it fails to establish
215
a connection with another process, rather than looping endlessly. The
216
default timeout is 20 seconds, which should be amply sufficient for
219
- Issue #7282: Fix a memory leak when an RLock was used in a thread other
220
than those started through `threading.Thread` (for example, using
221
`thread.start_new_thread()`.
223
- Issue #7264: Fix a possible deadlock when deallocating thread-local objects
224
which are part of a reference cycle.
226
- Issue #7249: Methods of io.BytesIO now allow `long` as well as `int`
229
- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
231
- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
232
LP64 platforms (most 64-bit Linux, bsd, unix systems).
234
- Issue #7246 & Issue #7208: getpass now properly flushes input before
235
reading from stdin so that existing input does not confuse it and
236
lead to incorrect entry or an IOError. It also properly flushes it
237
afterwards to avoid the terminal echoing the input afterwards on
238
OSes such as Solaris.
240
- Issue #7244: itertools.izip_longest() no longer ignores exceptions
241
raised during the formation of an output tuple.
243
- Issue #7233: Fix a number of two-argument Decimal methods to make
244
sure that they accept an int or long as the second argument. Also
245
fix buggy handling of large arguments (those with coefficient longer
246
than the current precision) in shift and rotate.
248
- Issue #7082: When falling back to the MIME 'name' parameter, the
249
correct place to look for it is the Content-Type header.
251
- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
254
- Issue #7205: Fix a possible deadlock when using a BZ2File object from
255
several threads at once.
257
- Issue #7048: Force Decimal.logb to round its result when that result
258
is too large to fit in the current precision.
260
- Issue #1488943: difflib.Differ() doesn't always add hints for tab characters
262
- Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of
265
- Issue #7481: When a threading.Thread failed to start it would leave the
266
instance stuck in initial state and present in threading.enumerate().
268
- Issue #1068268: The subprocess module now handles EINTR in internal
269
os.waitpid and os.read system calls where appropriate.
274
- Issue #7808: Fix reference leaks in _bsddb and related tests.
276
- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
277
msvcr100.dll is not a platform assembly anymore.
279
- Issue #6877: Make it possible to link the readline extension to libedit
282
- Expat: Fix DoS via XML document with malformed UTF-8 sequences
285
- Issue #7242: On Solaris 9 and earlier calling os.fork() from within a
286
thread could raise an incorrect RuntimeError about not holding the import
287
lock. The import lock is now reinitialized after fork.
289
- Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1
290
parameter on some platforms such as OS X.
295
- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
297
- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
298
Patch by Florent Xicluna.
300
- Issue #7589: Only build the nis module when the correct header files are
303
- Switch to OpenSSL 0.9.8l on Windows.
305
- Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it
306
compiles correctly under gcc on x86-64. This fixes a reported
307
problem with the --with-tsc build on x86-64.
309
- Ensure that it possible to build extensions for the default
310
binary distribution on OSX 10.6 even when the user does not
311
have the 10.4u SDK installed.
313
- Issue #7541: when using ``python-config`` with a framework install the
314
compiler might use the wrong library.
319
- Updating `Using Python` documentation to include description of CPython's
320
-J, -U and -X options.
322
- Update python manual page (options -B, -O0, -s, environment variables
323
PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
328
- issue #7728: test_timeout was changed to use test_support.bind_port
329
instead of a hard coded port.
331
- Issue #7498: test_multiprocessing now uses test_support.find_unused_port
332
instead of a hardcoded port number in test_rapid_restart.
334
- Issue #7431: use TESTFN in test_linecache instead of trying to create a
335
file in the Lib/test directory, which might be read-only for the
336
user running the tests.
338
- Issue #7324: add a sanity check to regrtest argument parsing to
339
catch the case of an option with no handler.
341
- Issue #7295: Do not use a hardcoded file name in test_tarfile.
343
- Issue #7270: Add some dedicated unit tests for multi-thread synchronization
344
primitives such as Lock, RLock, Condition, Event and Semaphore.
346
- Issue #7055: test___all__ now greedily detects all modules which have an
347
__all__ attribute, rather than using a hardcoded and incomplete list.
7
350
What's New in Python 2.6.4 final?
8
351
=================================