From: R David Murray Date: Tue, 19 Nov 2013 18:17:26 +0000 (-0500) Subject: Merge: #19449: Handle non-string keys when generating 'fieldnames' error. X-Git-Tag: v3.4.0b1~176 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5160da1afc07ab759a95d2b863134a88b9318e65;p=python Merge: #19449: Handle non-string keys when generating 'fieldnames' error. --- 5160da1afc07ab759a95d2b863134a88b9318e65 diff --cc Misc/NEWS index 75d4bdde03,4278e952f5..1ceffb1b34 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -10,166 -10,180 +10,169 @@@ Projected release date: 2013-11-2 Core and Builtins ----------------- -Library -------- - -- Issue #19449: in csv's writerow, handle non-string keys when generating the - error message that certain keys are not in the 'fieldnames' list. - -- Fix test.support.bind_port() to not cause an error when Python was compiled - on a system with SO_REUSEPORT defined in the headers but run on a system - with an OS kernel that does not support that reasonably new socket option. - -- Fix compilation error under gcc of the ctypes module bundled libffi for arm. - -- Issue #19523: Closed FileHandler leak which occurred when delay was set. - -- Issue #13674: Prevented time.strftime from crashing on Windows when given - a year before 1900 and a format of %y. - -- Issue #19544 and Issue #6286: Restore use of urllib over http allowing use - of http_proxy for Distutils upload command, a feature accidentally lost - in the rollback of distutils2. - -- Issue #19544 and Issue #7457: Restore the read_pkg_file method to - distutils.dist.DistributionMetadata accidentally removed in the undo of - distutils2. - -- Issue #1575020: Fixed support of 24-bit wave files on big-endian platforms. - -- Issue #19480: HTMLParser now accepts all valid start-tag names as defined - by the HTML5 standard. - -- Issue #6157: Fixed tkinter.Text.debug(). Original patch by Guilherme Polo. +- Issue #12892: The utf-16* and utf-32* encoders no longer allow surrogate code + points (U+D800-U+DFFF) to be encoded. The utf-32* decoders no longer decode + byte sequences that correspond to surrogate code points. The surrogatepass + error handler now works with the utf-16* and utf-32* codecs. Based on + patches by Victor Stinner and Kang-Hao (Kenny) Lu. -- Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of - integers instead of a string. Based on patch by Guilherme Polo. - -- Issue #10197: Rework subprocess.get[status]output to use subprocess - functionality and thus to work on Windows. Patch by Nick Coghlan. +- Issue #17806: Added keyword-argument support for "tabsize" to + str/bytes.expandtabs(). -- Issue #19286: Directories in ``package_data`` are no longer added to - the filelist, preventing failure outlined in the ticket. - -Tests ------ +- Issue #17828: Output type errors in str.encode(), bytes.decode() and + bytearray.decode() now direct users to codecs.encode() or codecs.decode() + as appropriate. -- Issue #19596: Set untestable tests in test_importlib to None to avoid - reporting success on empty tests. +- Issue #17828: The interpreter now attempts to chain errors that occur in + codec processing with a replacement exception of the same type that + includes the codec name in the error message. It ensures it only does this + when the creation of the replacement exception won't lose any information. -- Issue #19440: Clean up test_capi by removing an unnecessary __future__ - import, converting from test_main to unittest.main, and running the - _testcapi module tests within a unittest TestCase. +- Issue #19466: Clear the frames of daemon threads earlier during the + Python shutdown to call objects destructors. So "unclosed file" resource + warnings are now corretly emitted for daemon threads. -- Issue #18702: All skipped tests now reported as skipped. +- Issue #19514: Deduplicate some _Py_IDENTIFIER declarations. + Patch by Andrei Dorian Duma. -- Issue #19085: Added basic tests for all tkinter widget options. +- Issue #17936: Fix O(n**2) behaviour when adding or removing many subclasses + of a given type. -Build ------ +- Issue #19428: zipimport now handles errors when reading truncated or invalid + ZIP archive. +- Issue #18408: Add a new PyFrame_FastToLocalsWithError() function to handle + exceptions when merging fast locals into f_locals of a frame. + PyEval_GetLocals() now raises an exception and return NULL on failure. -What's New in Python 3.3.3? -=========================== +- Issue #19369: Optimized the usage of __length_hint__(). -*Release date: 17-Nov-2013* +- Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the + Python executable and not removed by the linker's optimizer. -No changes from release candidate 2. +- Issue #19306: Add extra hints to the faulthandler module's stack + dumps that these are "upside down". +Library +------- -What's New in Python 3.3.3 release candidate 2? -=============================================== ++- Issue #19449: in csv's writerow, handle non-string keys when generating the ++ error message that certain keys are not in the 'fieldnames' list. + -*Release date: 11-Nov-2013* +- Issue #8402: Added the escape() function to the glob module. -Library -------- +- Issue #17618: Add Base85 and Ascii85 encoding/decoding to the base64 module. -- Issue #19227: Any re-seeding of the OpenSSL RNG on fork has been removed; - this should be handled by OpenSSL itself or by the application. +- Issue #19634: time.strftime("%y") now raises a ValueError on AIX when given a + year before 1900. -- Issue #19435: Fix directory traversal attack on CGIHttpRequestHandler. +- Fix test.support.bind_port() to not cause an error when Python was compiled + on a system with SO_REUSEPORT defined in the headers but run on a system + with an OS kernel that does not support that reasonably new socket option. -Tests ------ +- Fix compilation error under gcc of the ctypes module bundled libffi for arm. -- Issue #18964: Fix test_tcl when run with Tcl/Tk versions < 8.5. +- Issue #19448: Add private API to SSL module to lookup ASN.1 objects by OID, + NID, short name and long name. -Build ------ +- Issue #19282: dbm.open now supports the context manager protocol. (Inital + patch by Claudiu Popa) -- Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.3.3. - Some third-party projects, such as Matplotlib and PIL/Pillow, - depended on being able to build with Tcl and Tk frameworks in - /Library/Frameworks. +- Issue #8311: Added support for writing any bytes-like objects in the aifc, + sunau, and wave modules. +- Issue #5202: Added support for unseekable files in the wave module. -What's New in Python 3.3.3 release candidate 1? -=============================================== +- Issue #19544 and Issue #1180: Restore global option to ignore + ~/.pydistutils.cfg in Distutils, accidentally removed in backout of + distutils2 changes. -*Release date: 27-Oct-2013* +- Issue #19523: Closed FileHandler leak which occurred when delay was set. -Core and Builtins ------------------ +- Issue #19544 and #6516: Restore support for --user and --group parameters to + sdist command accidentally rolled back as part of the distutils2 rollback. -- Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the - Python executable and not removed by the linker's optimizer. +- Issue #13674: Prevented time.strftime from crashing on Windows when given + a year before 1900 and a format of %y. -- Issue #19279: UTF-7 decoder no more produces illegal strings. +- Issue #19406: implementation of the ensurepip module (part of PEP 453). + Patch by Donald Stufft and Nick Coghlan. -- Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at - least one place so as to avoid regressions. +- Issue #19544 and Issue #6286: Restore use of urllib over http allowing use + of http_proxy for Distutils upload command, a feature accidentally lost + in the rollback of distutils2. -- Issue #19014: memoryview.cast() is now allowed on zero-length views. +- Issue #19544 and Issue #7457: Restore the read_pkg_file method to + distutils.dist.DistributionMetadata accidentally removed in the undo of + distutils2. -- Issue #19098: Prevent overflow in the compiler when the recursion limit is set - absurdly high. +- Issue #16685: Added support for any bytes-like objects in the audioop module. + Removed support for strings. -- Issue #18942: sys._debugmallocstats() output was damaged on Windows. +- Issue #7171: Add Windows implementation of ``inet_ntop`` and ``inet_pton`` + to socket module. Patch by Atsuo Ishimoto. -- Issue #18667: Add missing "HAVE_FCHOWNAT" symbol to posix._have_functions. +- Issue #19261: Added support for writing 24-bit samples in the sunau module. -- Issue #18368: PyOS_StdioReadline() no longer leaks memory when realloc() - fails. +- Issue #1097797: Added CP273 encoding, used on IBM mainframes in + Germany and Austria. Mapping provided by Michael Bierenfeld. -- Issue #16741: Fix an error reporting in int(). +- Issue #1575020: Fixed support of 24-bit wave files on big-endian platforms. -- Issue #17899: Fix rare file descriptor leak in os.listdir(). +- Issue #19378: Fixed a number of cases in the dis module where the new + "file" parameter was not being honoured correctly -- Issue #18552: Check return value of PyArena_AddPyObject() in - obj2ast_object(). +- Issue #19378: Removed the "dis.Bytecode.show_info" method -- Issue #18560: Fix potential NULL pointer dereference in sum(). +- Issue #19378: Renamed the "dis.Bytecode.display_code" method to + "dis.Bytecode.dis" and converted it to returning a string rather than + printing output. -- Issue #15905: Fix theoretical buffer overflow in handling of sys.argv[0], - prefix and exec_prefix if the operation system does not obey MAXPATHLEN. +- Issue #19378: the "line_offset" parameter in the new "dis.get_instructions" + API has been renamed to "first_line" (and the default value and usage + changed accordingly). This should reduce confusion with the more common use + of "offset" in the dis docs to refer to bytecode offsets. -- Issue #18344: Fix potential ref-leaks in _bufferedreader_read_all(). +- Issue #18678: Corrected spwd struct member names in spwd module: + sp_nam->sp_namp, and sp_pwd->sp_pwdp. The old names are kept as extra + structseq members, for backward compatibility. -- Issue #17872: Fix a segfault in marshal.load() when input stream returns - more bytes than requested. +- Issue #6157: Fixed tkinter.Text.debug(). tkinter.Text.bbox() now raises + TypeError instead of TclError on wrong number of arguments. Original patch + by Guilherme Polo. -- Issue #18426: Fix NULL pointer dereference in C extension import when - PyModule_GetDef() returns an error. +- Issue #10197: Rework subprocess.get[status]output to use subprocess + functionality and thus to work on Windows. Patch by Nick Coghlan -- Issue #18328: Reorder ops in PyThreadState_Delete*() functions. Now the - tstate is first removed from TLS and then deallocated. +- Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of + integers instead of a string. Based on patch by Guilherme Polo. -- Issue #18184: PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise - OverflowError when an argument of %c format is out of range. +- Issue #19403: contextlib.redirect_stdout is now reentrant -- Issue #18137: Detect integer overflow on precision in float.__format__() - and complex.__format__(). +- Issue #19286: Directories in ``package_data`` are no longer added to + the filelist, preventing failure outlined in the ticket. -- Issue #18183: Fix various unicode operations on strings with large unicode - codepoints. +- Issue #19480: HTMLParser now accepts all valid start-tag names as defined + by the HTML5 standard. -- Issue #18180: Fix ref leak in _PyImport_GetDynLoadWindows(). +- Issue #15114: The html.parser module now raises a DeprecationWarning when the + strict argument of HTMLParser or the HTMLParser.error method are used. -- Issue #18038: SyntaxError raised during compilation sources with illegal - encoding now always contains an encoding name. +- Issue #19410: Undo the special-casing removal of '' for + importlib.machinery.FileFinder. -- Issue #17644: Fix a crash in str.format when curly braces are used in square - brackets. +- Issue #19424: Fix the warnings module to accept filename containing surrogate + characters. -- Issue #17983: Raise a SyntaxError for a ``global __class__`` statement in a - class body. +- Issue #19435: Fix directory traversal attack on CGIHttpRequestHandler. -- Issue #17927: Frame objects kept arguments alive if they had been copied into - a cell, even if the cell was cleared. +- Issue #19227: Remove pthread_atfork() handler. The handler was added to + solve #18747 but has caused issues. -Library -------- +- Issue #19420: Fix reference leak in module initalization code of + _hashopenssl.c -- Issue #19395: Raise an exception when attempting to pickle a bz2 or lzma - compressor/decompressor object, rather than creating a pickle that would - cause a segfault when loaded and used. +- Issue #19329: Optimized compiling charsets in regular expressions. - Issue #19227: Try to fix deadlocks caused by re-seeding then OpenSSL pseudo-random number generator on fork().