Skip to content

Instantly share code, notes, and snippets.

@pitrou
Created March 24, 2017 13:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pitrou/37dd07d0136644266ca012e979c27847 to your computer and use it in GitHub Desktop.
Save pitrou/37dd07d0136644266ca012e979c27847 to your computer and use it in GitHub Desktop.
(cherry_picker) antoine:~/cpython/default (backport-8988945-3.5 *+|CHERRY-PICKING)$ git diff Misc/NEWS | cat
diff --cc Misc/NEWS
index e063455,bd43227..0000000
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@@ -243,114 -252,289 +243,122 @@@ Core and Builtin
- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport
should use the same optimization level as the interpreter.
-- Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
- optimize memcpy().
+- Issue #25221: Fix corrupted result from PyLong_FromLong(0) when
+ Python is compiled with NSMALLPOSINTS = 0.
-- Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a
- "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.
+- Issue #25758: Prevents zipimport from unnecessarily encoding a filename
+ (patch by Eryk Sun)
-- Issue #26182: Raise DeprecationWarning when async and await keywords are
- used as variable/attribute/class/function name.
+- Issue #28189: dictitems_contains no longer swallows compare errors.
+ (Patch by Xiang Zhang)
-- Issue #26182: Fix a refleak in code that raises DeprecationWarning.
+- Issue #27812: Properly clear out a generator's frame's backreference to the
+ generator to prevent crashes in frame.clear().
-- Issue #28721: Fix asynchronous generators aclose() and athrow() to
- handle StopAsyncIteration propagation properly.
+- Issue #27811: Fix a crash when a coroutine that has not been awaited is
+ finalized with warnings-as-errors enabled.
-- Issue #26110: Speed-up method calls: add LOAD_METHOD and CALL_METHOD
- opcodes.
+- Issue #27587: Fix another issue found by PVS-Studio: Null pointer check
+ after use of 'def' in _PyState_AddModule().
+ Initial patch by Christian Heimes.
-Extension Modules
------------------
+- Issue #26020: set literal evaluation order did not match documented behaviour.
-- Issue #29169: Update zlib to 1.2.11.
+- 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.
-Library
--------
+- 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.
++<<<<<<< HEAD
+- 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.
++=======
+ - bpo-29861: Release references to tasks, their arguments and their results
+ as soon as they are finished in multiprocessing.Pool.
+
+ - bpo-19930: The mode argument of os.makedirs() no longer affects the file
+ permission bits of newly-created intermediate-level directories.
++>>>>>>> 8988945... bpo-29861: release references to multiprocessing Pool tasks (#743)
-- bpo-29884: faulthandler: Restore the old sigaltstack during teardown.
- Patch by Christophe Zeitouny.
+- 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.
-- bpo-25455: Fixed crashes in repr of recursive buffered file-like objects.
+- 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.
-- bpo-29800: Fix crashes in partial.__repr__ if the keys of partial.keywords
- are not strings. Patch by Michael Seifert.
+- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows.
-- bpo-8256: Fixed possible failing or crashing input() if attributes "encoding"
- or "errors" of sys.stdin or sys.stdout are not set or are not strings.
+- Issue #27514: Make having too many statically nested blocks a SyntaxError
+ instead of SystemError.
-- bpo-28692: Using non-integer value for selecting a plural form in gettext is
- now deprecated.
+- Issue #27473: Fixed possible integer overflow in bytes and bytearray
+ concatenations. Patch by Xiang Zhang.
-- bpo-26121: Use C library implementation for math functions erf() and erfc().
+- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by
+ Xiang Zhang.
-- bpo-29619: os.stat() and os.DirEntry.inode() now convert inode (st_ino) using
- unsigned integers.
+- Issue #27581: Don't rely on wrapping for overflow check in
+ PySequence_Tuple(). Patch by Xiang Zhang.
-- bpo-28298: Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big
- intables (objects that have __int__) as elements.
+- Issue #27443: __length_hint__() of bytearray iterators no longer return a
+ negative integer for a resized bytearray.
-- bpo-29645: Speed up importing the webbrowser module. webbrowser.register()
- is now thread-safe.
+- Issue #27942: Fix memory leak in codeobject.c
-- bpo-28231: The zipfile module now accepts path-like objects for external
- paths.
+Library
+-------
-- bpo-26915: index() and count() methods of collections.abc.Sequence now
- check identity before checking equality when do comparisons.
+- Issue #15812: inspect.getframeinfo() now correctly shows the first line of
+ a context. Patch by Sam Breese.
-- bpo-28682: Added support for bytes paths in os.fwalk().
+- 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.
-- bpo-29728: Add new :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constant.
- Patch by Nathaniel J. Smith.
-
-- bpo-29623: Allow use of path-like object as a single argument in
- ConfigParser.read(). Patch by David Ellis.
+- Issue #13051: Fixed recursion errors in large or resized
+ curses.textpad.Textbox. Based on patch by Tycho Andersen.
-- bpo-9303: Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda.
+- Issue #29119: Fix weakrefs in the pure python version of
+ collections.OrderedDict move_to_end() method.
+ Contributed by Andra Bogildea.
-- bpo-28963: Fix out of bound iteration in asyncio.Future.remove_done_callback
- implemented in C.
+- Issue #9770: curses.ascii predicates now work correctly with negative
+ integers.
-- bpo-29704: asyncio.subprocess.SubprocessStreamProtocol no longer closes before
- all pipes are closed.
+- Issue #28427: old keys should not remove new values from
+ WeakValueDictionary when collecting from another thread.
-- bpo-29271: Fix Task.current_task and Task.all_tasks implemented in C
- to accept None argument as their pure Python implementation.
+- Issue 28923: Remove editor artifacts from Tix.py.
-- bpo-29703: Fix asyncio to support instantiation of new event loops
- in child processes.
+- Issue #28871: Fixed a crash when deallocate deep ElementTree.
-- bpo-29615: SimpleXMLRPCDispatcher no longer chains KeyError (or any other
- exception) to exception(s) raised in the dispatched methods.
- Patch by Petr Motejlek.
+- Issue #19542: Fix bugs in WeakValueDictionary.setdefault() and
+ WeakValueDictionary.pop() when a GC collection happens in another
+ thread.
-- bpo-7769: Method register_function() of xmlrpc.server.SimpleXMLRPCDispatcher
- and its subclasses can now be used as a decorator.
+- Issue #20191: Fixed a crash in resource.prlimit() when pass a sequence that
+ doesn't own its elements as limits.
-- bpo-29376: Fix assertion error in threading._DummyThread.is_alive().
+- Issue #28779: multiprocessing.set_forkserver_preload() would crash the
+ forkserver process if a preloaded module instantiated some
+ multiprocessing objects such as locks.
-- bpo-28624: Add a test that checks that cwd parameter of Popen() accepts
- PathLike objects. Patch by Sayan Chowdhury.
+- Issue #28847: dbm.dumb now supports reading read-only files and no longer
+ writes the index file when it is not changed.
-- bpo-28518: Start a transaction implicitly before a DML statement.
- Patch by Aviv Palivoda.
+- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and
+ from_buffer_copy() methods on abstract classes like Array.
-- bpo-29742: get_extra_info() raises exception if get called on closed ssl transport.
- Patch by Nikolay Kim.
-
-- Issue #16285: urrlib.parse.quote is now based on RFC 3986 and hence includes
- '~' in the set of characters that is not quoted by default. Patch by
- Christian Theune and Ratnadeep Debnath.
-
-- bpo-29532: Altering a kwarg dictionary passed to functools.partial()
- no longer affects a partial object after creation.
-
-- bpo-29110: Fix file object leak in aifc.open() when file is given as a
- filesystem path and is not in valid AIFF format. Patch by Anthony Zhang.
-
-- bpo-22807: Add uuid.SafeUUID and uuid.UUID.is_safe to relay information from
- the platform about whether generated UUIDs are generated with a
- multiprocessing safe method.
-
-- bpo-29576: Improve some deprecations in importlib. Some deprecated methods
- now emit DeprecationWarnings and have better descriptive messages.
-
-- bpo-29534: Fixed different behaviour of Decimal.from_float()
- for _decimal and _pydecimal. Thanks Andrew Nester.
-
-- Issue #28556: Various updates to typing module: typing.Counter, typing.ChainMap,
- improved ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi,
- Manuel Krebber, and Łukasz Langa.
-
-- Issue #29100: Fix datetime.fromtimestamp() regression introduced in Python
- 3.6.0: check minimum and maximum years.
-
-- Issue #29416: Prevent infinite loop in pathlib.Path.mkdir
-
-- Issue #29444: Fixed out-of-bounds buffer access in the group() method of
- the match object. Based on patch by WGH.
-
-- Issue #29377: Add SlotWrapperType, MethodWrapperType, and
- MethodDescriptorType built-in types to types module.
- Original patch by Manuel Krebber.
-
-- Issue #29218: Unused install_misc command is now removed. It has been
- documented as unused since 2000. Patch by Eric N. Vander Weele.
-
-- Issue #29368: The extend() method is now called instead of the append()
- method when unpickle collections.deque and other list-like objects.
- This can speed up unpickling to 2 times.
-
-- Issue #29338: The help of a builtin or extension class now includes the
- constructor signature if __text_signature__ is provided for the class.
-
-- Issue #29335: Fix subprocess.Popen.wait() when the child process has
- exited to a stopped instead of terminated state (ex: when under ptrace).
-
-- Issue #29290: Fix a regression in argparse that help messages would wrap at
-
-- Issue #29197: Removed deprecated function ntpath.splitunc().
-
-- Issue #29210: Removed support of deprecated argument "exclude" in
- tarfile.TarFile.add().
-
-- Issue #29219: Fixed infinite recursion in the repr of uninitialized
- ctypes.CDLL instances.
-
-- Issue #29192: Removed deprecated features in the http.cookies module.
-
-- Issue #29193: A format string argument for string.Formatter.format()
- is now positional-only.
-
-- Issue #29195: Removed support of deprecated undocumented keyword arguments
- in methods of regular expression objects.
-
-- Issue #28969: Fixed race condition in C implementation of functools.lru_cache.
- KeyError could be raised when cached function with full cache was
- simultaneously called from differen threads with the same uncached arguments.
-
-- Issue #20804: The unittest.mock.sentinel attributes now preserve their
- identity when they are copied or pickled.
-
-- Issue #29142: In urllib.request, suffixes in no_proxy environment variable with
- leading dots could match related hostnames again (e.g. .b.c matches a.b.c).
- Patch by Milan Oberkirch.
-
-- Issue #28961: Fix unittest.mock._Call helper: don't ignore the name parameter
- anymore. Patch written by Jiajun Huang.
-
-- Issue #15812: inspect.getframeinfo() now correctly shows the first line of
- a context. Patch by Sam Breese.
-
-- Issue #28985: Update authorizer constants in sqlite3 module.
- Patch by Dingyuan Wang.
-
-- 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.
-
-- Issue #29079: Prevent infinite loop in pathlib.resolve() on Windows
-
-- Issue #13051: Fixed recursion errors in large or resized
- curses.textpad.Textbox. Based on patch by Tycho Andersen.
-
-- Issue #9770: curses.ascii predicates now work correctly with negative
- integers.
-
-- Issue #28427: old keys should not remove new values from
- WeakValueDictionary when collecting from another thread.
-
-- Issue 28923: Remove editor artifacts from Tix.py.
-
-- Issue #28871: Fixed a crash when deallocate deep ElementTree.
-
-- Issue #19542: Fix bugs in WeakValueDictionary.setdefault() and
- WeakValueDictionary.pop() when a GC collection happens in another
- thread.
-
-- Issue #20191: Fixed a crash in resource.prlimit() when passing a sequence that
- doesn't own its elements as limits.
-
-- Issue #16255: subprocess.Popen uses /system/bin/sh on Android as the shell,
- instead of /bin/sh.
-
-- Issue #28779: multiprocessing.set_forkserver_preload() would crash the
- forkserver process if a preloaded module instantiated some
- multiprocessing objects such as locks.
-
-- Issue #26937: The chown() method of the tarfile.TarFile class does not fail
- now when the grp module cannot be imported, as for example on Android
- platforms.
-
-- Issue #28847: dbm.dumb now supports reading read-only files and no longer
- writes the index file when it is not changed. A deprecation warning is now
- emitted if the index file is missed and recreated in the 'r' and 'w' modes
- (will be an error in future Python releases).
-
-- Issue #27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in
- re.sub() replacement templates regular expressions now are errors.
-
-- Issue #28835: Fix a regression introduced in warnings.catch_warnings():
- call warnings.showwarning() if it was overriden inside the context manager.
-
-- 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 #28740: Add sys.getandroidapilevel(): return the build time API version
- of Android as an integer. Function only available on Android.
-
-- 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 #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: Remove the subprocess.Popen.wait endtime parameter. It was
- deprecated in 3.4 and undocumented prior to that.
-
-- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and
- from_buffer_copy() methods on abstract classes like Array.
-
-- Issue #28548: In the "http.server" module, parse the protocol version if
- possible, to avoid using HTTP 0.9 in some error responses.
-
-- Issue #19717: Makes Path.resolve() succeed on paths that do not exist.
- Patch by Vajrasky Kok
+- Issue #28732: Fix crash in os.spawnv() with no elements in args
-- Issue #28563: Fixed possible DoS and arbitrary code execution when handle
- plural form selections in the gettext module. The expression parser now
- supports exact syntax supported by GNU gettext.
+- Issue #28485: Always raise ValueError for negative
+ compileall.compile_dir(workers=...) parameter, even when multithreading is
+ unavailable.
- Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when
the garbage collector is invoked in other thread. Based on patch by
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment