From: Serhiy Storchaka Date: Tue, 24 Jan 2017 19:34:44 +0000 (+0200) Subject: Issue #29083: Fixed the declaration of some public API functions. X-Git-Tag: v3.6.1rc1~141 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3831b0a0660621209ee3820e7a2752e69273aa4b;p=python Issue #29083: Fixed the declaration of some public API functions. PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is defined. --- 3831b0a0660621209ee3820e7a2752e69273aa4b diff --cc Misc/NEWS index 2b319ecf90,eb79d5c96f..faab4df991 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -143,202 -40,195 +143,208 @@@ Window C API ----- + - Issue #29083: Fixed the declaration of some public API functions. + PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in + limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and + Py_BuildValue() were not available in limited API of version < 3.3 when + PY_SSIZE_T_CLEAN is defined. + +- Issue #29058: All stable API extensions added after Python 3.2 are now + available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of + the minimum Python version supporting this API. -What's New in Python 3.5.3? -=========================== +Tests +----- -Release date: 2017-01-17 +- Issue #28950: Disallow -j0 to be combined with -T/-l in regrtest + command line arguments. -There were no code changes between 3.5.3rc1 and 3.5.3 final. +- Issue #28683: Fix the tests that bind() a unix socket and raise + PermissionError on Android for a non-root user. +- Issue #26939: Add the support.setswitchinterval() function to fix + test_functools hanging on the Android armv7 qemu emulator. -What's New in Python 3.5.3 release candidate 1? -=============================================== +Build +----- -Release date: 2017-01-02 +- Issue #26851: Set Android compilation and link flags. -Core and Builtins ------------------ +- Issue #28768: Fix implicit declaration of function _setmode. Patch by + Masayuki Yamamoto -- Issue #29073: bytearray formatting no longer truncates on first null byte. +- Issue #29080: Removes hard dependency on hg.exe from PCBuild/build.bat -- Issue #28932: Do not include if it does not exist. +- Issue #23903: Added missed names to PC/python3.def. -- Issue #28147: Fix a memory leak in split-table dictionaries: setattr() - must not convert combined table into split table. +- Issue #28762: lockf() is available on Android API level 24, but the F_LOCK + macro is not defined in android-ndk-r13. -- Issue #25677: Correct the positioning of the syntax error caret for - indented blocks. Based on patch by Michael Layzell. +- Issue #28538: Fix the compilation error that occurs because if_nameindex() is + available on Android API level 24, but the if_nameindex structure is not + defined. -- Issue #29000: Fixed bytes formatting of octals with zero padding in alternate - form. +- Issue #20211: Do not add the directory for installing C header files and the + directory for installing object code libraries to the cross compilation + search paths. Original patch by Thomas Petazzoni. -- Issue #28512: Fixed setting the offset attribute of SyntaxError by - PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject(). +- Issue #28849: Do not define sys.implementation._multiarch on Android. -- Issue #28991: functools.lru_cache() was susceptible to an obscure reentrancy - bug caused by a monkey-patched len() function. -- Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X - when decode astral characters. Patch by Xiang Zhang. +What's New in Python 3.6.0? +=========================== -- Issue #19398: Extra slash no longer added to sys.path components in case of - empty compile-time PYTHONPATH components. +*Release date: 2016-12-23* -- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug - build. +- No changes since release candidate 2 -- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception - loss in PyTraceBack_Here(). -- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters(). - Patch by Xiang Zhang. +What's New in Python 3.6.0 release candidate 2? +=============================================== -- Issue #28376: The type of long range iterator is now registered as Iterator. - Patch by Oren Milman. +*Release date: 2016-12-16* -- Issue #28376: The constructor of range_iterator now checks that step is not 0. - Patch by Oren Milman. +Core and Builtins +----------------- -- Issue #26906: Resolving special methods of uninitialized type now causes - implicit initialization of the type instead of a fail. +- Issue #28147: Fix a memory leak in split-table dictionaries: setattr() + must not convert combined table into split table. Patch written by INADA + Naoki. -- Issue #18287: PyType_Ready() now checks that tp_name is not NULL. - Original patch by Niklas Koep. +- Issue #28990: Fix asyncio SSL hanging if connection is closed before + handshake is completed. (Patch by HoHo-Ho) -- Issue #24098: Fixed possible crash when AST is changed in process of - compiling it. +Tools/Demos +----------- -- Issue #28350: String constants with null character no longer interned. +- Issue #28770: Fix python-gdb.py for fastcalls. -- Issue #26617: Fix crash when GC runs during weakref callbacks. +Windows +------- -- Issue #27942: String constants now interned recursively in tuples and frozensets. +- Issue #28896: Deprecate WindowsRegistryFinder. -- Issue #21578: Fixed misleading error message when ImportError called with - invalid keyword args. +Build +----- -- Issue #28203: Fix incorrect type in error message from - ``complex(1.0, {2:3})``. Patch by Soumya Sharma. +- Issue #28898: Prevent gdb build errors due to HAVE_LONG_LONG redefinition. -- Issue #27955: Fallback on reading /dev/urandom device when the getrandom() - syscall fails with EPERM, for example when blocked by SECCOMP. -- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport - should use the same optimization level as the interpreter. +What's New in Python 3.6.0 release candidate 1? +=============================================== -- Issue #25221: Fix corrupted result from PyLong_FromLong(0) when - Python is compiled with NSMALLPOSINTS = 0. +*Release date: 2016-12-06* -- Issue #25758: Prevents zipimport from unnecessarily encoding a filename - (patch by Eryk Sun) +Core and Builtins +----------------- -- Issue #28189: dictitems_contains no longer swallows compare errors. - (Patch by Xiang Zhang) +- Issue #23722: Rather than silently producing a class that doesn't support + zero-argument ``super()`` in methods, failing to pass the new + ``__classcell__`` namespace entry up to ``type.__new__`` now results in a + ``DeprecationWarning`` and a class that supports zero-argument ``super()``. -- Issue #27812: Properly clear out a generator's frame's backreference to the - generator to prevent crashes in frame.clear(). +- Issue #28797: Modifying the class __dict__ inside the __set_name__ method of + a descriptor that is used inside that class no longer prevents calling the + __set_name__ method of other descriptors. -- Issue #27811: Fix a crash when a coroutine that has not been awaited is - finalized with warnings-as-errors enabled. +- Issue #28782: Fix a bug in the implementation ``yield from`` when checking + if the next instruction is YIELD_FROM. Regression introduced by WORDCODE + (issue #26647). -- Issue #27587: Fix another issue found by PVS-Studio: Null pointer check - after use of 'def' in _PyState_AddModule(). - Initial patch by Christian Heimes. +Library +------- -- Issue #26020: set literal evaluation order did not match documented behaviour. +- Issue #27030: Unknown escapes in re.sub() replacement template are allowed + again. But they still are deprecated and will be disabled in 3.7. -- Issue #27782: Multi-phase extension module import now correctly allows the - ``m_methods`` field to be used to add module level functions to instances - of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang. +- Issue #28835: Fix a regression introduced in warnings.catch_warnings(): + call warnings.showwarning() if it was overriden inside the context manager. -- Issue #27936: The round() function accepted a second None argument - for some types but not for others. Fixed the inconsistency by - accepting None for all numeric types. +- Issue #27172: To assist with upgrades from 2.7, the previously documented + deprecation of ``inspect.getfullargspec()`` has been reversed. This decision + may be revisited again after the Python 2.7 branch is no longer officially + supported. -- Issue #27487: Warn if a submodule argument to "python -m" or - runpy.run_module() is found in sys.modules after parent packages are - imported, but before the submodule is executed. +- Issue #26273: Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and + :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by + Omar Sandoval. -- Issue #27558: Fix a SystemError in the implementation of "raise" statement. - In a brand new thread, raise a RuntimeError since there is no active - exception to reraise. Patch written by Xiang Zhang. +- Issue #24142: Reading a corrupt config file left configparser in an + invalid state. Original patch by Florian Höch. -- Issue #27419: Standard __import__() no longer look up "__import__" in globals - or builtins for importing submodules or "from import". Fixed handling an - error of non-string package name. +- Issue #28843: Fix asyncio C Task to handle exceptions __traceback__. -- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows. +C API +----- -- Issue #27514: Make having too many statically nested blocks a SyntaxError - instead of SystemError. +- Issue #28808: PyUnicode_CompareWithASCIIString() now never raises exceptions. -- Issue #27473: Fixed possible integer overflow in bytes and bytearray - concatenations. Patch by Xiang Zhang. +Documentation +------------- -- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by - Xiang Zhang. +- Issue #23722: The data model reference and the porting section in the What's + New guide now cover the additional ``__classcell__`` handling needed for + custom metaclasses to fully support PEP 487 and zero-argument ``super()``. -- Issue #27581: Don't rely on wrapping for overflow check in - PySequence_Tuple(). Patch by Xiang Zhang. +Tools/Demos +----------- -- Issue #27443: __length_hint__() of bytearray iterators no longer return a - negative integer for a resized bytearray. +- Issue #28023: Fix python-gdb.py didn't support new dict implementation. -- Issue #27942: Fix memory leak in codeobject.c -Library -------- +What's New in Python 3.6.0 beta 4? +================================== -- Issue #15812: inspect.getframeinfo() now correctly shows the first line of - a context. Patch by Sam Breese. +*Release date: 2016-11-21* -- Issue #29094: Offsets in a ZIP file created with extern file object and modes - "w" and "x" now are relative to the start of the file. +Core and Builtins +----------------- -- Issue #13051: Fixed recursion errors in large or resized - curses.textpad.Textbox. Based on patch by Tycho Andersen. +- Issue #28532: Show sys.version when -V option is supplied twice. -- Issue #29119: Fix weakrefs in the pure python version of - collections.OrderedDict move_to_end() method. - Contributed by Andra Bogildea. +- Issue #27100: The with-statement now checks for __enter__ before it + checks for __exit__. This gives less confusing error messages when + both methods are missing. Patch by Jonathan Ellington. -- Issue #9770: curses.ascii predicates now work correctly with negative - integers. +- Issue #28746: Fix the set_inheritable() file descriptor method on platforms + that do not have the ioctl FIOCLEX and FIONCLEX commands. -- Issue #28427: old keys should not remove new values from - WeakValueDictionary when collecting from another thread. +- Issue #26920: Fix not getting the locale's charset upon initializing the + interpreter, on platforms that do not have langinfo. -- Issue 28923: Remove editor artifacts from Tix.py. +- Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X + when decode astral characters. Patch by Xiang Zhang. -- Issue #28871: Fixed a crash when deallocate deep ElementTree. +- Issue #19398: Extra slash no longer added to sys.path components in case of + empty compile-time PYTHONPATH components. -- Issue #19542: Fix bugs in WeakValueDictionary.setdefault() and - WeakValueDictionary.pop() when a GC collection happens in another - thread. +- Issue #28665: Improve speed of the STORE_DEREF opcode by 40%. -- Issue #20191: Fixed a crash in resource.prlimit() when pass a sequence that - doesn't own its elements as limits. +- Issue #28583: PyDict_SetDefault didn't combine split table when needed. + Patch by Xiang Zhang. -- Issue #28779: multiprocessing.set_forkserver_preload() would crash the - forkserver process if a preloaded module instantiated some - multiprocessing objects such as locks. +- Issue #27243: Change PendingDeprecationWarning -> DeprecationWarning. + As it was agreed in the issue, __aiter__ returning an awaitable + should result in PendingDeprecationWarning in 3.5 and in + DeprecationWarning in 3.6. -- Issue #28847: dbm.dumb now supports reading read-only files and no longer - writes the index file when it is not changed. +- Issue #26182: Fix a refleak in code that raises DeprecationWarning. + +- Issue #28721: Fix asynchronous generators aclose() and athrow() to + handle StopAsyncIteration propagation properly. + +Library +------- + +- Issue #28752: Restored the __reduce__() methods of datetime objects. + +- Issue #28727: Regular expression patterns, _sre.SRE_Pattern objects created + by re.compile(), become comparable (only x==y and x!=y operators). This + change should fix the issue #18383: don't duplicate warning filters when the + warnings module is reloaded (thing usually only done in unit tests). + +- Issue #20572: The subprocess.Popen.wait method's undocumented + endtime parameter now raises a DeprecationWarning. - Issue #25659: In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() methods on abstract classes like Array.