From: Ezio Melotti Date: Thu, 8 Aug 2013 17:12:57 +0000 (+0300) Subject: #18357: merge with 3.3. X-Git-Tag: v3.4.0a2~274 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d119b7beba603be9945fabf3a30f98c3fcff1782;p=python #18357: merge with 3.3. --- d119b7beba603be9945fabf3a30f98c3fcff1782 diff --cc Misc/NEWS index 0772cd2e18,d6a645d887..d1f0761830 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -349,117 -145,228 +349,120 @@@ Librar - Issue #18167: cgi.FieldStorage no longer fails to handle multipart/form-data when \r\n appears at end of 65535 bytes without other newlines. -- subprocess: Prevent a possible double close of parent pipe fds when the - subprocess exec runs into an error. Prevent a regular multi-close of the - /dev/null fd when any of stdin, stdout and stderr was set to DEVNULL. - -- Issue #16102: Make uuid._netbios_getnode() work again on Python 3. - -- Issue #18109: os.uname() now decodes fields from the locale encoding, and - socket.gethostname() now decodes the hostname from the locale encoding, - instead of using the UTF-8 encoding in strict mode. - -- Issue #17403: urllib.parse.robotparser normalizes the urls before adding to - ruleline. This helps in handling certain types invalid urls in a conservative - manner. - -- Issue #18025: Fixed a segfault in io.BufferedIOBase.readinto() when raw - stream's read() returns more bytes than requested. - -- Issue #18011: base64.b32decode() now raises a binascii.Error if there are - non-alphabet characters present in the input string to conform a docstring. - Updated the module documentation. - -- Issue #13772: Restored directory detection of targets in ``os.symlink`` on - Windows, which was temporarily removed in Python 3.2.3 due to an incomplete - implementation. The implementation now works even if the symlink is created - in a location other than the current directory. - -- Issue #16986: ElementTree now correctly parses a string input not only when - an internal XML encoding is UTF-8 or US-ASCII. - -- Issue #17812: Fixed quadratic complexity of base64.b32encode(). - -- Issue #17980: Fix possible abuse of ssl.match_hostname() for denial of - service using certificates with many wildcards (CVE-2013-2099). - -- Issue #17981: Closed socket on error in SysLogHandler. - -- Fix typos in the multiprocessing module. - -- Issue #17754: Make ctypes.util.find_library() independent of the locale. - -- Issue #17968: Fix memory leak in os.listxattr(). - -- Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X - with port None or "0" and flags AI_NUMERICSERV. - -- Issue #18080: When building a C extension module on OS X, if the compiler - is overriden with the CC environment variable, use the new compiler as - the default for linking if LDSHARED is not also overriden. This restores - Distutils behavior introduced in 3.2.3 and inadvertently dropped in 3.3.0. - -- Issue #18113: Fixed a refcount leak in the curses.panel module's - set_userptr() method. Reported by Atsuo Ishimoto. - -C API ------ - -- Issue #18351: Fix various issues with a helper function in importlib used - by PyImport_ExecCodeModuleWithPathnames() (and thus by extension PyImport_ExecCodeModule() and PyImport_ExecCodeModuleEx()). - -IDLE ----- - -- Issue #18279: Format - Strip trailing whitespace no longer marks a file as - changed when it has not been changed. This fix followed the addition of a - test file originally written by Phil Webster (the issue's main goal). - -- Issue #7136: In the Idle File menu, "New Window" is renamed "New File". - Patch by Tal Einat, Roget Serwy, and Todd Rovito. - -- Remove dead imports of imp. - -- Issue #18196: Avoid displaying spurious SystemExit tracebacks. - -- Issue #5492: Avoid traceback when exiting IDLE caused by a race condition. - -- Issue #17511: Keep IDLE find dialog open after clicking "Find Next". - Original patch by Sarah K. - -- Issue #18055: Move IDLE off of imp and on to importlib. - -- Issue #15392: Create a unittest framework for IDLE. - Initial patch by Rajagopalasarma Jayakrishnan. - See Lib/idlelib/idle_test/README.txt for how to run Idle tests. - -- Issue #14146: Highlight source line while debugging on Windows. - -- Issue #17532: Always include Options menu for IDLE on OS X. - Patch by Guilherme Simões. - -Tests ------ - +- Issue #18076: Introduce importlib.util.decode_source(). + - Issue #18357: add tests for dictview set difference. + Patch by Fraser Tweedale. + -- Issue #18273: move the tests in Lib/test/json_tests to Lib/test/test_json - and make them discoverable by unittest. Patch by Zachary Ware. -- Fix a fcntl test case on KFreeBSD, Debian #708653 (Petr Salinger). +- importlib.abc.SourceLoader.get_source() no longer changes SyntaxError or + UnicodeDecodeError into ImportError. -- Issue #18396: Fix spurious test failure in test_signal on Windows when - faulthandler is enabled (Patch by Jeremy Kloth) +- Issue #18058, 18057: Make the namespace package loader meet the + importlib.abc.InspectLoader ABC, allowing for namespace packages to work with + runpy. -- Issue #17046: Fix broken test_executable_without_cwd in test_subprocess. +- Issue #17177: The imp module is pending deprecation. -- Issue #15415: Add new temp_dir() and change_cwd() context managers to - test.support, and refactor temp_cwd() to use them. Patch by Chris Jerdonek. - -- Issue #15494: test.support is now a package rather than a module (Initial - patch by Indra Talip) - -- Issue #17944: test_zipfile now discoverable and uses subclassing to - generate tests for different compression types. Fixed a bug with skipping - some tests due to use of exhausted iterators. - -- Issue #18266: test_largefile now works with unittest test discovery and - supports running only selected tests. Patch by Zachary Ware. - -- Issue #17767: test_locale now works with unittest test discovery. - Original patch by Zachary Ware. +- subprocess: Prevent a possible double close of parent pipe fds when the + subprocess exec runs into an error. Prevent a regular multi-close of the + /dev/null fd when any of stdin, stdout and stderr was set to DEVNULL. -- Issue #18375: Assume --randomize when --randseed is used for running the - testsuite. +- Issue #18194: Introduce importlib.util.cache_from_source() and + source_from_cache() while documenting the equivalent functions in imp as + deprecated. -- Issue #11185: Fix test_wait4 under AIX. Patch by Sébastien Sablé. +- Issue #17907: Document imp.new_module() as deprecated in favour of + types.ModuleType. -- Issue #17691: test_univnewlines now works with unittest test discovery. - Patch by Zachary Ware. +- Issue #18192: Introduce importlib.util.MAGIC_NUMBER and document as deprecated + imp.get_magic(). -- Issue #18094: test_uuid no more reports skipped tests as passed. +- Issue #18149: Add filecmp.clear_cache() to manually clear the filecmp cache. + Patch by Mark Levitt -- Issue #11995: test_pydoc doesn't import all sys.path modules anymore. +- Issue #18193: Add importlib.reload(). -Documentation -------------- +- Issue #18157: Stop using imp.load_module() in pydoc. -- Issue #18440: Clarify that `hash()` can truncate the value returned from an - object's custom `__hash__()` method. - -- Issue #17953: Mention that you shouldn't replace sys.modules and deleting key - items will cause Python to not be happy. - -- Issue #17844: Add links to encoders and decoders for bytes-to-bytes codecs. - -- Issue #14097: improve the "introduction" page of the tutorial. +- Issue #16102: Make uuid._netbios_getnode() work again on Python 3. -- Issue #17977: The documentation for the cadefault argument's default value - in urllib.request.urlopen() is fixed to match the code. +- Issue #17134: Add ssl.enum_cert_store() as interface to Windows' cert store. -Tools/Demos ------------ +- Issue #18143: Implement ssl.get_default_verify_paths() in order to debug + the default locations for cafile and capath. -- Issue #18439: Make patchcheck work on Windows for ACKS, NEWS. +- Issue #17314: Move multiprocessing.forking over to importlib. -- Issue #18448: Fix a typo in Tools/demo/eiffel.py. +- Issue #11959: SMTPServer and SMTPChannel now take an optional map, use of + which avoids affecting global state. -- Issue #18457: Fixed saving of formulas and complex numbers in - Tools/demo/ss1.py. +- Issue #18109: os.uname() now decodes fields from the locale encoding, and + socket.gethostname() now decodes the hostname from the locale encoding, + instead of using the UTF-8 encoding in strict mode. -- Issue #18449: Make Tools/demo/ss1.py work again on Python 3. Patch by - Févry Thibault. +- Issue #18089: Implement importlib.abc.InspectLoader.load_module. -- Issue #15239: Make mkstringprep.py work again on Python 3. +- Issue #18088: Introduce importlib.abc.Loader.init_module_attrs for setting + module attributes. Leads to the pending deprecation of + importlib.util.module_for_loader. -- Issue #12990: The "Python Launcher" on OSX could not launch python scripts - that have paths that include wide characters. +- Issue #17403: urllib.parse.robotparser normalizes the urls before adding to + ruleline. This helps in handling certain types invalid urls in a conservative + manner. Patch contributed by Mher Movsisyan. -Build ------ +- Issue #18070: Have importlib.util.module_for_loader() set attributes + unconditionally in order to properly support reloading. -- Issue #16067: Add description into MSI file to replace installer's temporary name. +- Added importlib.util.module_to_load to return a context manager to provide the + proper module object to load. -- Issue #18256: Compilation fix for recent AIX releases. Patch by - David Edelsohn. - -- Issue #15172: Document NASM 2.10+ as requirement for building OpenSSL 1.0.1 - on Windows. +- Issue #18025: Fixed a segfault in io.BufferedIOBase.readinto() when raw + stream's read() returns more bytes than requested. -What's New in Python 3.3.2? -=========================== +- Issue #18011: base64.b32decode() now raises a binascii.Error if there are + non-alphabet characters present in the input string to conform a docstring. + Updated the module documentation. -*Release date: 13-May-2013* +- Issue #18072: Implement importlib.abc.InspectLoader.get_code() and + importlib.abc.ExecutionLoader.get_code(). -Core and Builtins ------------------ +- Issue #8240: Set the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag on SSL + sockets. -- Issue #17237: Fix crash in the ASCII decoder on m68k. +- Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X + with port None or "0" and flags AI_NUMERICSERV. -- Issue #17408: Avoid using an obsolete instance of the copyreg module when - the interpreter is shutdown and then started again. +- Issue #16986: ElementTree now correctly parses a string input not only when + an internal XML encoding is UTF-8 or US-ASCII. -- Issue #17863: In the interactive console, don't loop forever if the encoding - can't be fetched from stdin. +- Issue #17996: socket module now exposes AF_LINK constant on BSD and OSX. -- Issue #17867: Raise an ImportError if __import__ is not found in __builtins__. +- Issue #17900: Allowed pickling of recursive OrderedDicts. Decreased pickled + size and pickling time. -- Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3, - such as was shipped with Centos 5 and Mac OS X 10.4. +- Issue #17914: Add os.cpu_count(). Patch by Yogesh Chaudhari, based on an + initial patch by Trent Nelson. -- Issue #17413: sys.settrace callbacks were being passed a string instead of an - exception instance for the 'value' element of the arg tuple if the exception - originated from C code; now an exception instance is always provided. +- Issue #17812: Fixed quadratic complexity of base64.b32encode(). + Optimize base64.b32encode() and base64.b32decode() (speed up to 3x). -- Issue #17782: Fix undefined behaviour on platforms where - ``struct timespec``'s "tv_nsec" member is not a C long. +- Issue #17980: Fix possible abuse of ssl.match_hostname() for denial of + service using certificates with many wildcards (CVE-2013-2099). -- Issue #17715: Fix segmentation fault from raising an exception in a __trunc__ - method. +- Issue #15758: Fix FileIO.readall() so it no longer has O(n**2) complexity. -- Issue #16447: Fixed potential segmentation fault when setting __name__ on a - class. +- Issue #14596: The struct.Struct() objects now use more compact implementation. -- Issue #17669: Fix crash involving finalization of generators using yield from. +- Issue #17981: Closed socket on error in SysLogHandler. -- Issue #17619: Make input() check for Ctrl-C correctly on Windows. +- Issue #17964: Fix os.sysconf(): the return type of the C sysconf() function + is long, not int. -- Issue #17610: Don't rely on non-standard behavior of the C qsort() function. +- Fix typos in the multiprocessing module. -- Issue #17357: Add missing verbosity output when using -v/-vv. +- Issue #17754: Make ctypes.util.find_library() independent of the locale. -Library -------- +- Issue #17968: Fix memory leak in os.listxattr(). - Issue #17606: Fixed support of encoded byte strings in the XMLGenerator characters() and ignorableWhitespace() methods. Original patch by Sebastian