Python 3.3.5 正式釋出,相對於 Python 3.3.5 RC2 沒有太大改變。
Python 3.3.5 RC2 更新內容如下:
Core and Builtins
Issue #20731: Properly position in source code files even if they are opened in text mode. Patch by Serhiy Storchaka.
Issue #19619: str.encode, bytes.decode and bytearray.decode now use an internal API to throw LookupError for known non-text encodings, rather than attempting the encoding or decoding operation and then throwing a TypeError for an unexpected output type. (The latter mechanism remains in place for third party non-text encodings)
Library
Issue #20778: Fix modulefinder to work with bytecode-only modules.
Issue #20791: copy.copy() now doesn’t make a copy when the input is a bytes object. Initial patch by Peter Otten.
Issue #20621: Fixes a zipimport bug introduced in 3.3.4 that could cause spurious crashes or SystemErrors when importing modules or packages from a zip file. The change causing the problem was reverted.
Issue #20404: io.TextIOWrapper (and hence the open() builtin) now uses the internal codec marking system added for issue #19619 to throw LookupError for known non-text encodings at stream construction time. The existing output type checks remain in place to deal with unmarked third party codecs.
Tests
Issue #20743: Fix a reference leak in test_tcl.
Tools/Demos
Issue #20535: PYTHONWARNING no longer affects the run_tests.py script. Patch by Arfrever Frehtes Taifersar Arahesis.
Python 3.3.5 RC1 更新內容如下
Core and Builtins
Issue #20588: Make Python-ast.c C89 compliant.
Issue #20437: Fixed 21 potential bugs when deleting objects references.
Issue #20538: UTF-7 incremental decoder produced inconsistant string when input was truncated in BASE64 section.
Library
Issue #20635: Fixed grid_columnconfigure() and grid_rowconfigure() methods of Tkinter widgets to work in wantobjects=True mode.
Issue #19612: On Windows, subprocess.Popen.communicate() now ignores OSError(22, ‘Invalid argument’) when writing input data into stdin, whereas the process already exited.
Issue #6815: os.path.expandvars() now supports non-ASCII environment variables names and values.
Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair. Based on patch by Stephen Tu.
Issue #8478: Untokenizer.compat processes first token from iterator input. Patch based on lines from Georg Brandl, Eric Snow, and Gareth Rees.
Issue #20594: Avoid name clash with the libc function posix_close.
Issue #19856: shutil.move() failed to move a directory to other directory on Windows if source name ends with os.altsep.
Issue #14983: email.generator now always adds a line end after each MIME boundary marker, instead of doing so only when there is an epilogue. This fixes an RFC compliance bug and solves an issue with signed MIME parts.
Issue #20540: Fix a performance regression (vs. Python 3.2) when layering a multiprocessing Connection over a TCP socket. For small payloads, Nagle’s algorithm would introduce idle delays before the entire transmission of a message.
Issue #16983: the new email header parsing code will now decode encoded words that are (incorrectly) surrounded by quotes, and register a defect.
Issue #19772: email.generator no longer mutates the message object when doing a down-transform from 8bit to 7bit CTEs.
Issue #18805: the netmask/hostmask parsing in ipaddress now more reliably filters out illegal values and correctly allows any valid prefix length.
Issue #17369: get_filename was raising an exception if the filename parameter’s RFC2231 encoding was broken in certain ways. This was a regression relative to python2.
Issue #20013: Some imap servers disconnect if the current mailbox is deleted, and imaplib did not handle that case gracefully. Now it handles the ‘bye’ correctly.
Issue #19920: TarFile.list() no longer fails when outputs a listing containing non-encodable characters. Based on patch by Vajrasky Kok.
Issue #20515: Fix NULL pointer dereference introduced by issue #20368.
Issue #19186: Restore namespacing of expat symbols inside the pyexpat module.
Issue #20426: When passing the re.DEBUG flag, re.compile() displays the debug output every time it is called, regardless of the compilation cache.
Issue #20368: The null character now correctly passed from Tcl to Python. Improved error handling in variables-related commands.
Issue #20435: Fix _pyio.StringIO.getvalue() to take into account newline translation settings.
Issue #20288: fix handling of invalid numeric charrefs in HTMLParser.
Issue #20424: Python implementation of io.StringIO now supports lone surrogates.
Issue #19456: ntpath.join() now joins relative paths correctly when a drive is present.
Issue #19077: tempfile.TemporaryDirectory cleanup is now most likely successful when called during nulling out of modules during shutdown. Misleading exception no longer raised when resource warning is emitted during shutdown.
Issue #20367: Fix behavior of concurrent.futures.as_completed() for duplicate arguments. Patch by Glenn Langford.
Issue #8260: The read(), readline() and readlines() methods of codecs.StreamReader returned incomplete data when were called after readline() or read(size). Based on patch by Amaury Forgeot d’Arc.
IDLE
Issue #20406: Use Python application icons for Idle window title bars. Patch mostly by Serhiy Storchaka.
Update the python.gif icon for the Idle classbrowser and pathbowser from the old green snake to the new new blue and yellow snakes.
Issue #17721: Remove non-functional configuration dialog help button until we make it actually gives some help when clicked. Patch by Guilherme Simões.
Tests
Issue #20510: Rewrote test_exit in test_sys to match existing comments, use modern unittest features, and use helpers from test.script_helper instead of using subprocess directly. Patch by Gareth Rees.
Issue #20532: Tests which use _testcapi are now marked as CPython only.
Issue #19920: Added tests for TarFile.list(). Based on patch by Vajrasky Kok.
Issue #19990: Added tests for the imghdr module. Based on patch by Claudiu Popa.
Issue #20474: Fix test_socket “unexpected success” failures on OS X 10.7+.
Issue #20605: Make test_socket getaddrinfo OS X segfault test more robust.
Documentation
Issue #20488: Importlib is no longer an implementation of import, it’s theimplementation.
Build
Issue #20221: Removed conflicting (or circular) hypot definition when compiled with VS 2010 or above. Initial patch by Tabrez Mohammed.
Issue #20609: Restored the ability to build 64-bit Windows binaries on 32-bit Windows, which was broken by the change in issue #19788.