@@ -13,8 +13,8 @@ Core and Builtins
1313- Issue #10372: Import the warnings module only after the IO library is
1414 initialized, so as to avoid bootstrap issues with the '-W' option.
1515
16- - Issue #10293: Remove obsolete field in the PyMemoryView structure,
17- unused undocumented value PyBUF_SHADOW, and strangely-looking code in
16+ - Issue #10293: Remove obsolete field in the PyMemoryView structure, unused
17+ undocumented value PyBUF_SHADOW, and strangely-looking code in
1818 PyMemoryView_GetContiguous.
1919
2020- Issue #6081: Add str.format_map, similar to str.format(**mapping).
@@ -24,35 +24,35 @@ Core and Builtins
2424- Issue #10221: dict.pop(k) now has a key error message that includes the
2525 missing key (same message d[k] returns for missing keys).
2626
27- - Issue #5437: A preallocated MemoryError instance should not hold traceback
27+ - Issue #5437: A preallocated MemoryError instance should not keep traceback
2828 data (including local variables caught in the stack trace) alive infinitely.
2929
3030- Issue #10186: Fix the SyntaxError caret when the offset is equal to the length
3131 of the offending line.
3232
33- - Issue #10089: Add support for arbitrary -X options on the command- line.
34- They can be retrieved through a new attribute ``sys._xoptions``.
33+ - Issue #10089: Add support for arbitrary -X options on the command line. They
34+ can be retrieved through a new attribute ``sys._xoptions``.
3535
36- - Issue #4388: On Mac OS X, decode command line arguments from UTF-8, instead
37- of the locale encoding. If the LANG (and LC_ALL and LC_CTYPE) environment
36+ - Issue #4388: On Mac OS X, decode command line arguments from UTF-8, instead of
37+ the locale encoding. If the LANG (and LC_ALL and LC_CTYPE) environment
3838 variable is not set, the locale encoding is ISO-8859-1, whereas most programs
39- (including Python) expect UTF-8. Python already uses UTF-8 for the filesystem
39+ (including Python) expect UTF-8. Python already uses UTF-8 for the filesystem
4040 encoding and to encode command line arguments on this OS.
4141
42- - Issue #9713, #10114: Parser functions (eg. PyParser_ASTFromFile) expects
43- filenames encoded to the filesystem encoding with surrogateescape error
42+ - Issue #9713, #10114: Parser functions (e.g. PyParser_ASTFromFile) expect
43+ filenames encoded to the filesystem encoding with the surrogateescape error
4444 handler (to support undecodable bytes), instead of UTF-8 in strict mode.
4545
4646- Issue #9997: Don't let the name "top" have special significance in scope
4747 resolution.
4848
49- - Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding
50- its value as the default 512 when compiling on AIX.
49+ - Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding its value as
50+ the default 512 when compiling on AIX.
5151
5252- Use locale encoding instead of UTF-8 to encode and decode filenames if
5353 Py_FileSystemDefaultEncoding is not set.
5454
55- - Issue #10095: fp_setreadl() doesn't reopen the file, reuse instead the file
55+ - Issue #10095: fp_setreadl() doesn't reopen the file, instead reuse the file
5656 descriptor.
5757
5858- Issue #9418: Moved private string methods ``_formatter_parser`` and
@@ -65,47 +65,46 @@ Library
6565
6666- Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.
6767
68- - Fix Fraction.__hash__ so that Fraction.__hash__(-1) is -2. (See
69- also issue #10356.)
68+ - Fix Fraction.__hash__ so that Fraction.__hash__(-1) is -2. (See also issue
69+ #10356.)
7070
71- - Issue #4471: Add the IMAP.starttls() method to enable encryption on
72- standard IMAP4 connections. Original patch by Lorenzo M. Catucci.
71+ - Issue #4471: Add the IMAP.starttls() method to enable encryption on standard
72+ IMAP4 connections. Original patch by Lorenzo M. Catucci.
7373
74- - Issue #1466065: Add 'validate' option to base64.b64decode to raise
75- an error if there are non-base64 alphabet characters in the input.
74+ - Issue #1466065: Add 'validate' option to base64.b64decode to raise an error if
75+ there are non-base64 alphabet characters in the input.
7676
77- - Issue #10386: Add __all__ to token module; this simplifies importing
78- in tokenize module and prevents leaking of private names through
79- import *.
77+ - Issue #10386: Add __all__ to token module; this simplifies importing in
78+ tokenize module and prevents leaking of private names through import *.
8079
81- - Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by
82- Lorenzo M. Catucci.
80+ - Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by Lorenzo
81+ M. Catucci.
8382
8483- Fix IMAP.login() to work properly.
8584
8685- Issue #9244: multiprocessing pool worker processes could terminate
87- unexpectedly if the return value of a task could not be pickled. Only
88- the ``repr`` of such errors are now sent back, wrapped in an
86+ unexpectedly if the return value of a task could not be pickled. Only the
87+ ``repr`` of such errors are now sent back, wrapped in an
8988 ``MaybeEncodingError`` exception.
9089
91- - Issue #9244: The ``apply_async()`` and ``map_async()`` methods
92- of ``multiprocessing.Pool`` now accepts a ``error_callback`` argument.
93- This can be a callback with the signature ``callback(exc)``, which will
94- be called if the target raises an exception.
90+ - Issue #9244: The ``apply_async()`` and ``map_async()`` methods of
91+ ``multiprocessing.Pool`` now accepts a ``error_callback`` argument. This can
92+ be a callback with the signature ``callback(exc)``, which will be called if
93+ the target raises an exception.
9594
96- - Issue #10022: The dictionary returned by the ``getpeercert()`` method
97- of SSL sockets now has additional items such as ``issuer`` and ``notBefore``.
95+ - Issue #10022: The dictionary returned by the ``getpeercert()`` method of SSL
96+ sockets now has additional items such as ``issuer`` and ``notBefore``.
9897
9998- ``usenetrc`` is now false by default for NNTP objects.
10099
101- - Issue #1926: Add support for NNTP over SSL on port 563, as well as
102- STARTTLS. Patch by Andrew Vant.
100+ - Issue #1926: Add support for NNTP over SSL on port 563, as well as STARTTLS.
101+ Patch by Andrew Vant.
103102
104103- Issue #10335: Add tokenize.open(), detect the file encoding using
105104 tokenize.detect_encoding() and open it in read only mode.
106105
107- - Issue #10321: Added support for binary data to smtplib.SMTP.sendmail,
108- and a new method send_message to send an email.message.Message object.
106+ - Issue #10321: Add support for binary data to smtplib.SMTP.sendmail, and a new
107+ method send_message to send an email.message.Message object.
109108
110109- Issue #6011: sysconfig and distutils.sysconfig use the surrogateescape error
111110 handler to parse the Makefile file. Avoid a UnicodeDecodeError if the source
@@ -130,60 +129,59 @@ Library
130129- Issue #10180: Pickling file objects is now explicitly forbidden, since
131130 unpickling them produced nonsensical results.
132131
133- - Issue #10311: The signal module now restores errno before returning from
134- its low-level signal handler. Patch by Hallvard B Furuseth.
132+ - Issue #10311: The signal module now restores errno before returning from its
133+ low-level signal handler. Patch by Hallvard B Furuseth.
135134
136135- Issue #10282: Add a ``nntp_implementation`` attribute to NNTP objects.
137136
138137- Issue #10283: Add a ``group_pattern`` argument to NNTP.list().
139138
140- - Issue #10155: Add IISCGIHandler to wsgiref.handlers to support IIS
141- CGI environment better, and to correct unicode environment values
142- for WSGI 1.0.1.
139+ - Issue #10155: Add IISCGIHandler to wsgiref.handlers to support IIS CGI
140+ environment better, and to correct unicode environment values for WSGI 1.0.1.
143141
144142- Issue #10281: nntplib now returns None for absent fields in the OVER/XOVER
145143 response, instead of raising an exception.
146144
147145- wsgiref now implements and validates PEP 3333, rather than an experimental
148146 extension of PEP 333. (Note: earlier versions of Python 3.x may have
149- incorrectly validated some non-compliant applications as WSGI compliant;
150- if your app validates with Python <3.2b1+, but not on this version, it is
151- likely the case that your app was not compliant.)
147+ incorrectly validated some non-compliant applications as WSGI compliant; if
148+ your app validates with Python <3.2b1+, but not on this version, it is likely
149+ the case that your app was not compliant.)
152150
153- - Issue #10280: NNTP.nntp_version should reflect the highest version
154- advertised by the server.
151+ - Issue #10280: NNTP.nntp_version should reflect the highest version advertised
152+ by the server.
155153
156154- Issue #10184: Touch directories only once when extracting a tarfile.
157155
158- - Issue #10199: New package, ``turtledemo`` now contains selected demo
159- scripts that were formerly found under Demo/turtle.
156+ - Issue #10199: New package, ``turtledemo`` now contains selected demo scripts
157+ that were formerly found under Demo/turtle.
160158
161159- Issue #10265: Close file objects explicitly in sunau. Patch by Brian Brazil.
162160
163- - Issue #10266: uu.decode didn't close in_file explicitly when it was given
164- as a filename. Patch by Brian Brazil.
161+ - Issue #10266: uu.decode didn't close in_file explicitly when it was given as a
162+ filename. Patch by Brian Brazil.
165163
166- - Issue #10110: Queue objects didn't recognize full queues when the
167- maxsize parameter had been reduced.
164+ - Issue #10110: Queue objects didn't recognize full queues when the maxsize
165+ parameter had been reduced.
168166
169167- Issue #10160: Speed up operator.attrgetter. Patch by Christos Georgiou.
170168
171169- logging: Added style option to basicConfig() to allow %, {} or $-formatting.
172170
173- - Issue #5729: json.dumps() now supports using a string such as '\t'
174- for pretty-printing multilevel objects.
171+ - Issue #5729: json.dumps() now supports using a string such as '\t' for
172+ pretty-printing multilevel objects.
175173
176- - Issue #10253: FileIO leaks a file descriptor when trying to open a file
177- for append that isn't seekable. Patch by Brian Brazil.
174+ - Issue #10253: FileIO leaks a file descriptor when trying to open a file for
175+ append that isn't seekable. Patch by Brian Brazil.
178176
179- - Support context manager protocol for file-like objects returned by
180- mailbox ``get_file()`` methods.
177+ - Support context manager protocol for file-like objects returned by mailbox
178+ ``get_file()`` methods.
181179
182180- Issue #10246: uu.encode didn't close file objects explicitly when filenames
183181 were given to it. Patch by Brian Brazil.
184182
185- - Issue #10198: fix duplicate header written to wave files when writeframes()
186- is called without data.
183+ - Issue #10198: fix duplicate header written to wave files when writeframes() is
184+ called without data.
187185
188186- Close file objects in modulefinder in a timely manner.
189187
@@ -193,20 +191,20 @@ Library
193191
194192- Close a file object in pkgutil in a timely manner.
195193
196- - Issue #10233: Close file objects in a timely manner in the tarfile module
197- and its test suite.
194+ - Issue #10233: Close file objects in a timely manner in the tarfile module and
195+ its test suite.
198196
199197- Issue #10093: ResourceWarnings are now issued when files and sockets are
200- deallocated without explicit closing. These warnings are silenced by
201- default, except in pydebug mode.
198+ deallocated without explicit closing. These warnings are silenced by default,
199+ except in pydebug mode.
202200
203- - tarfile.py: Add support for all missing variants of the GNU sparse
204- extensions and create files with holes when extracting sparse members.
201+ - tarfile.py: Add support for all missing variants of the GNU sparse extensions
202+ and create files with holes when extracting sparse members.
205203
206204- Issue #10218: Return timeout status from ``Condition.wait`` in threading.
207205
208- - Issue #7351: Add ``zipfile.BadZipFile`` spelling of the exception name
209- and deprecate the old name ``zipfile.BadZipfile``.
206+ - Issue #7351: Add ``zipfile.BadZipFile`` spelling of the exception name and
207+ deprecate the old name ``zipfile.BadZipfile``.
210208
211209- Issue #5027: The standard ``xml`` namespace is now understood by
212210 xml.sax.saxutils.XMLGenerator as being bound to
@@ -218,21 +216,19 @@ Library
218216
219217- logging: Added style option to Formatter to allow %, {} or $-formatting.
220218
221- - Issue #5178: Added tempfile.TemporaryDirectory class that can be used
222- as a context manager.
219+ - Issue #5178: Added tempfile.TemporaryDirectory class that can be used as a
220+ context manager.
223221
224222- Issue #1349106: Generator (and BytesGenerator) flatten method and Header
225223 encode method now support a 'linesep' argument.
226224
227- - Issue #5639: Add a *server_hostname* argument to ``SSLContext.wrap_socket``
228- in order to support the TLS SNI extension. ``HTTPSConnection`` and
229- ``urlopen()`` also use this argument, so that HTTPS virtual hosts are now
230- supported.
225+ - Issue #5639: Add a *server_hostname* argument to ``SSLContext.wrap_socket`` in
226+ order to support the TLS SNI extension. ``HTTPSConnection`` and ``urlopen()``
227+ also use this argument, so that HTTPS virtual hosts are now supported.
231228
232229- Issue #10166: Avoid recursion in pstats Stats.add() for many stats items.
233230
234- - Issue #10163: Skip unreadable registry keys during mimetypes
235- initialization.
231+ - Issue #10163: Skip unreadable registry keys during mimetypes initialization.
236232
237233- logging: Made StreamHandler terminator configurable.
238234
@@ -245,9 +241,9 @@ Library
245241- logging: Added _logRecordClass, getLogRecordClass, setLogRecordClass to
246242 increase flexibility of LogRecord creation.
247243
248- - Issue #5117: Case normalization was needed on ntpath.relpath(). And
249- fixed root directory issue on posixpath.relpath(). (Ported working fixes
250- from ntpath)
244+ - Issue #5117: Case normalization was needed on ntpath.relpath(). Also fixed
245+ root directory issue on posixpath.relpath(). (Ported working fixes from
246+ ntpath. )
251247
252248- Issue #1343: xml.sax.saxutils.XMLGenerator now has an option
253249 short_empty_elements to direct it to use self-closing tags when appropriate.
@@ -266,34 +262,33 @@ Library
266262- Issue #9409: Fix the regex to match all kind of filenames, for interactive
267263 debugging in doctests.
268264
269- - Issue #9183: ``datetime.timezone(datetime.timedelta(0))`` will now
270- return the same instance as ``datetime.timezone.utc``.
265+ - Issue #9183: ``datetime.timezone(datetime.timedelta(0))`` will now return the
266+ same instance as ``datetime.timezone.utc``.
271267
272- - Issue #7523: Add SOCK_CLOEXEC and SOCK_NONBLOCK to the socket module,
273- where supported by the system. Patch by Nikita Vetoshkin.
268+ - Issue #7523: Add SOCK_CLOEXEC and SOCK_NONBLOCK to the socket module, where
269+ supported by the system. Patch by Nikita Vetoshkin.
274270
275271- Issue #10063: file:// scheme will stop accessing remote hosts via ftp
276272 protocol. file:// urls had fallback to access remote hosts via ftp. This was
277- not correct, change is made to raise a URLError when a remote host is tried
278- to access via file:// scheme.
273+ not correct, change is made to raise a URLError when a remote host is tried to
274+ access via file:// scheme.
279275
280276- Issue #1710703: Write structures for an empty ZIP archive when a ZipFile is
281277 created in modes 'a' or 'w' and then closed without adding any files. Raise
282278 BadZipfile (rather than IOError) when opening small non-ZIP files.
283279
284- - Issue #10041: The signature of optional arguments in socket.makefile()
285- didn't match that of io.open(), and they also didn't get forwarded
286- properly to TextIOWrapper in text mode. Patch by Kai Zhu.
280+ - Issue #10041: The signature of optional arguments in socket.makefile() didn't
281+ match that of io.open(), and they also didn't get forwarded properly to
282+ TextIOWrapper in text mode. Patch by Kai Zhu.
287283
288284- Issue #9003: http.client.HTTPSConnection, urllib.request.HTTPSHandler and
289- urllib.request.urlopen now take optional arguments to allow for
290- server certificate checking, as recommended in public uses of HTTPS.
285+ urllib.request.urlopen now take optional arguments to allow for server
286+ certificate checking, as recommended in public uses of HTTPS.
291287
292288- Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if the
293289 current directory was deleted. Patch written by W. Trevor King.
294290
295- - Issue #3873: Speed up unpickling from file objects which have a peek()
296- method.
291+ - Issue #3873: Speed up unpickling from file objects that have a peek() method.
297292
298293- Issue #10075: Add a session_stats() method to SSLContext objects.
299294
@@ -314,44 +309,43 @@ Extension Modules
314309
315310- Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
316311
317- - Issue #9054: Fix a crash occurring when using the pyexpat module
318- with expat version 2.0.1.
312+ - Issue #9054: Fix a crash occurring when using the pyexpat module with expat
313+ version 2.0.1.
319314
320- - Issue #5355: Provide mappings from Expat error numbers to string
321- descriptions and backwards, in order to actually make it possible
322- to analyze error codes provided by ExpatError.
315+ - Issue #5355: Provide mappings from Expat error numbers to string descriptions
316+ and backwards, in order to actually make it possible to analyze error codes
317+ provided by ExpatError.
323318
324319- The Unicode database was updated to 6.0.0.
325320
326321C-API
327322-----
328323
329324- Issue #10288: The deprecated family of "char"-handling macros
330- (ISLOWER()/ISUPPER()/etc) have now been removed: use Py_ISLOWER() etc
331- instead.
325+ (ISLOWER()/ISUPPER()/etc) have now been removed: use Py_ISLOWER() etc instead.
332326
333327- Issue #9778: Hash values are now always the size of pointers. A new Py_hash_t
334328 type has been introduced.
335329
336330Tools/Demos
337331-----------
338332
339- - Issue #10117: Tools/scripts/reindent.py now accepts source files
340- that use encoding other than ASCII or UTF-8. Source encoding is
341- preserved when reindented code is written to a file.
333+ - Issue #10117: Tools/scripts/reindent.py now accepts source files that use
334+ encoding other than ASCII or UTF-8. Source encoding is preserved when
335+ reindented code is written to a file.
342336
343337- Issue #7287: Demo/imputil/knee.py was removed.
344338
345339Tests
346340-----
347341
348- - Issue #3699: Fix test_bigaddrspace and extend it to test bytestrings
349- as well as unicode strings. Initial patch by Sandro Tosi.
342+ - Issue #3699: Fix test_bigaddrspace and extend it to test bytestrings as well
343+ as unicode strings. Initial patch by Sandro Tosi.
350344
351345- Issue #10294: Remove dead code form test_unicode_file.
352346
353- - Issue #10123: Don't use non-ascii filenames in test_doctest tests. Add a
354- new test specific to unicode (non-ascii name and filename).
347+ - Issue #10123: Don't use non-ascii filenames in test_doctest tests. Add a new
348+ test specific to unicode (non-ascii name and filename).
355349
356350Build
357351-----
@@ -366,8 +360,8 @@ Build
366360
367361- Accept Oracle Berkeley DB 5.0 and 5.1 as backend for the dbm extension.
368362
369- - Issue #7473: avoid link errors when building a framework with a different
370- set of architectures than the one that is currently installed.
363+ - Issue #7473: avoid link errors when building a framework with a different set
364+ of architectures than the one that is currently installed.
371365
372366
373367What's New in Python 3.2 Alpha 3?
0 commit comments