]> granicus.if.org Git - python/commitdiff
merge 3.4 (closes #26478)
authorBenjamin Peterson <benjamin@python.org>
Fri, 4 Mar 2016 06:08:01 +0000 (22:08 -0800)
committerBenjamin Peterson <benjamin@python.org>
Fri, 4 Mar 2016 06:08:01 +0000 (22:08 -0800)
1  2 
Lib/test/test_dictviews.py
Misc/NEWS
Objects/dictobject.c

Simple merge
diff --cc Misc/NEWS
index 303daa21f36a8325429680f6581419399ff31b0d,8db17d8d216aefc27e84b91878389d93870aab67..8044942d1ac48a84ef891e8bcec1f05b429f632c
+++ b/Misc/NEWS
@@@ -10,194 -10,168 +10,197 @@@ Release date: tb
  Core and Builtins
  -----------------
  
 -- Issue #26478: Fix semantic bugs when using binary operators with dictionary
 -  views and tuples.
 +- Issue #26464: Fix str.translate() when string is ASCII and first replacements
 +  removes character, but next replacement uses a non-ASCII character or a
 +  string longer than 1 character. Regression introduced in Python 3.5.0.
  
 -- Issue #26171: Fix possible integer overflow and heap corruption in
 -  zipimporter.get_data().
 +- Issue #22836: Ensure exception reports from PyErr_Display() and
 +  PyErr_WriteUnraisable() are sensible even when formatting them produces
 +  secondary errors.  This affects the reports produced by
 +  sys.__excepthook__() and when __del__() raises an exception.
  
 -Library
 --------
 +- Issue #26302: Correct behavior to reject comma as a legal character for
 +  cookie names.
  
 -- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
 +- Issue #4806: Avoid masking the original TypeError exception when using star
 +  (*) unpacking in function calls.  Based on patch by Hagen Fürstenau and
 +  Daniel Urban.
  
 -- Issue #22570: Add 'path' attribute to pathlib.Path objects,
 -  returning the same as str(), to make it more similar to DirEntry.
 -  Library code can now write getattr(p, 'path', p) to get the path as
 -  a string from a Path, a DirEntry, or a plain string.  This is
 -  essentially a small one-off protocol.
 +- Issue #26154: Add a new private _PyThreadState_UncheckedGet() function to get
 +  the current Python thread state, but don't issue a fatal error if it is NULL.
 +  This new function must be used instead of accessing directly the
 +  _PyThreadState_Current variable.  The variable is no more exposed since
 +  Python 3.5.1 to hide the exact implementation of atomic C types, to avoid
 +  compiler issues.
  
 -- Issue #26012: Don't traverse into symlinks for ** pattern in
 -  pathlib.Path.[r]glob().
 +- Issue #26194:  Deque.insert() gave odd results for bounded deques that had
 +  reached their maximum size.  Now an IndexError will be raised when attempting
 +  to insert into a full deque.
  
 -- Issue #24120: Ignore PermissionError when traversing a tree with
 -  pathlib.Path.[r]glob().  Patch by Ulrich Petri.
 +- Issue #25843: When compiling code, don't merge constants if they are equal
 +  but have a different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0``
 +  is now correctly compiled to two different functions: ``f1()`` returns ``1``
 +  (``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0``
 +  are equal.
  
 -- Skip getaddrinfo if host is already resolved.
 -  Patch by A. Jesse Jiryu Davis.
 +- Issue #25731: Fix set and deleting __new__ on a class.
  
 -- Add asyncio.timeout() context manager.
 +- Issue #22995: [UPDATE] Comment out the one of the pickleability tests in
 +  _PyObject_GetState() due to regressions observed in Cython-based projects.
  
 -- Issue #26050: Add asyncio.StreamReader.readuntil() method.
 -  Patch by Марк Коренберг.
 +- Issue #25961: Disallowed null characters in the type name.
  
 -Tests
 ------
 +- Issue #25973: Fix segfault when an invalid nonlocal statement binds a name
 +  starting with two underscores.
  
 -- Issue #25940: Changed test_ssl to use self-signed.pythontest.net.  This
 -  avoids relying on svn.python.org, which recently changed root certificate.
 +- Issue #22995: Instances of extension types with a state that aren't
 +  subclasses of list or dict and haven't implemented any pickle-related
 +  methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__,
 +  or __getstate__), can no longer be pickled.  Including memoryview.
  
 +- Issue #20440: Massive replacing unsafe attribute setting code with special
 +  macro Py_SETREF.
  
 -What's New in Python 3.4.4?
 -===========================
 +- Issue #25766: Special method __bytes__() now works in str subclasses.
  
 -Release date: 2015/12/20
 +- Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.
 +  This allows sys.getsize() to work correctly with their subclasses with
 +  __slots__ defined.
  
 -Windows
 --------
 +- Issue #25709: Fixed problem with in-place string concatenation and utf-8 cache.
 +
 +- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
 +  __getattr__.
  
 -- Issue #25844: Corrected =/== typo potentially leading to crash in launcher.
 +- Issue #24731: Fixed crash on converting objects with special methods
 +  __bytes__, __trunc__, and __float__ returning instances of subclasses of
 +  bytes, int, and float to subclasses of bytes, int, and float correspondingly.
  
 -What's New in Python 3.4.4rc1?
 -==============================
++- Issue #26478: Fix semantic bugs when using binary operators with dictionary
++  views and tuples.
 +- Issue #26171: Fix possible integer overflow and heap corruption in
 +  zipimporter.get_data().
  
 -Release date: 2015/12/06
 +- Issue #25660: Fix TAB key behaviour in REPL with readline.
  
 -Core and Builtins
 ------------------
 +- Issue #25887: Raise a RuntimeError when a coroutine object is awaited
 +  more than once.
  
 -- Issue #25709: Fixed problem with in-place string concatenation and utf-8
 -  cache.
  
 -- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
 -  __getattr__.
 +Library
 +-------
  
 -- Issue #24731: Fixed crash on converting objects with special methods
 -  __bytes__, __trunc__, and __float__ returning instances of subclasses of
 -  bytes, int, and float to subclasses of bytes, int, and float correspondingly.
 +- Issue #26457: Fixed the subnets() methods in IP network classes for the case
 +  when resulting prefix length is equal to maximal prefix length.
 +  Based on patch by Xiang Zhang.
  
 -- Issue #25388: Fixed tokenizer crash when processing undecodable source code
 -  with a null byte.
 +- Issue #26385: Remove the file if the internal open() call in
 +  NamedTemporaryFile() fails.  Patch by Silent Ghost.
  
 -- Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
 -  rejects builtin types with not defined __new__.
 +- Issue #26402: Fix XML-RPC client to retry when the server shuts down a
 +  persistent connection.  This was a regression related to the new
 +  http.client.RemoteDisconnected exception in 3.5.0a4.
  
 -- Issue #24802: Avoid buffer overreads when int(), float(), compile(), exec()
 -  and eval() are passed bytes-like objects.  These objects are not
 -  necessarily terminated by a null byte, but the functions assumed they were.
 +- Issue #25913: Leading ``<~`` is optional now in base64.a85decode() with
 +  adobe=True.  Patch by Swati Jaiswal.
  
 -- Issue #24402: Fix input() to prompt to the redirected stdout when
 -  sys.stdout.fileno() fails.
 +- Issue #26186: Remove an invalid type check in importlib.util.LazyLoader.
  
 -- Issue #24806: Prevent builtin types that are not allowed to be subclassed from
 -  being subclassed through multiple inheritance.
 +- Issue #26367: importlib.__import__() raises SystemError like
 +  builtins.__import__() when ``level`` is specified but without an accompanying
 +  package specified.
  
 -- Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
 +- Issue #26309: In the "socketserver" module, shut down the request (closing
 +  the connected socket) when verify_request() returns false.  Patch by Aviv
 +  Palivoda.
  
 -- Issue #25280: Import trace messages emitted in verbose (-v) mode are no
 -  longer formatted twice.
 +- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
  
 -- Issue #25003: os.urandom() doesn't use getentropy() on Solaris because
 -  getentropy() is blocking, whereas os.urandom() should not block. getentropy()
 -  is supported since Solaris 11.3.
 +- Issue #25995: os.walk() no longer uses FDs proportional to the tree depth.
  
 -- Issue #25182: The stdprinter (used as sys.stderr before the io module is
 -  imported at startup) now uses the backslashreplace error handler.
 +- Issue #26117: The os.scandir() iterator now closes file descriptor not only
 +  when the iteration is finished, but when it was failed with error.
  
 -- Issue #24891: Fix a race condition at Python startup if the file descriptor
 -  of stdin (0), stdout (1) or stderr (2) is closed while Python is creating
 -  sys.stdin, sys.stdout and sys.stderr objects. These attributes are now set
 -  to None if the creation of the object failed, instead of raising an OSError
 -  exception. Initial patch written by Marco Paolini.
 +- Issue #25911: Restored support of bytes paths in os.walk() on Windows.
  
 -- Issue #21167: NAN operations are now handled correctly when python is
 -  compiled with ICC even if -fp-model strict is not specified.
 +- Issue #26045: Add UTF-8 suggestion to error message when posting a
 +  non-Latin-1 string with http.client.
  
 -- Issue #4395: Better testing and documentation of binary operators.
 -  Patch by Martin Panter.
 +- Issue #12923: Reset FancyURLopener's redirect counter even if there is an
 +  exception.  Based on patches by Brian Brazil and Daniel Rocco.
  
 -- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
 -  object now always allocates place for trailing null byte and it's buffer now
 -  is always null-terminated.
 +- Issue #25945: Fixed a crash when unpickle the functools.partial object with
 +  wrong state.  Fixed a leak in failed functools.partial constructor.
 +  "args" and "keywords" attributes of functools.partial have now always types
 +  tuple and dict correspondingly.
  
 -- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
 -  PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
 -  to check for and handle errors correctly.
 +- Issue #26202: copy.deepcopy() now correctly copies range() objects with
 +  non-atomic attributes.
  
 -- Issue #24257: Fixed system error in the comparison of faked
 -  types.SimpleNamespace.
 +- Issue #23076: Path.glob() now raises a ValueError if it's called with an
 +  invalid pattern.  Patch by Thomas Nyberg.
  
 -- Issue #22939: Fixed integer overflow in iterator object.  Patch by
 -  Clement Rouault.
 +- Issue #19883: Fixed possible integer overflows in zipimport.
  
 -- Issue #23985: Fix a possible buffer overrun when deleting a slice from
 -  the front of a bytearray and then appending some other bytes data.
 +- Issue #26227: On Windows, getnameinfo(), gethostbyaddr() and
 +  gethostbyname_ex() functions of the socket module now decode the hostname
 +  from the ANSI code page rather than UTF-8.
  
 -- Issue #24102: Fixed exception type checking in standard error handlers.
 +- Issue #26147: xmlrpc now works with strings not encodable with used
 +  non-UTF-8 encoding.
  
 -- Issue #23757: PySequence_Tuple() incorrectly called the concrete list API
 -  when the data was a list subclass.
 +- Issue #25935: Garbage collector now breaks reference loops with OrderedDict.
  
 -- Issue #24407: Fix crash when dict is mutated while being updated.
 +- Issue #16620: Fixed AttributeError in msilib.Directory.glob().
  
 -- Issue #24096: Make warnings.warn_explicit more robust against mutation of the
 -  warnings.filters list.
 +- Issue #26013: Added compatibility with broken protocol 2 pickles created
 +  in old Python 3 versions (3.4.3 and lower).
  
 -- Issue #23996: Avoid a crash when a delegated generator raises an
 -  unnormalized StopIteration exception.  Patch by Stefan Behnel.
 +- Issue #25850: Use cross-compilation by default for 64-bit Windows.
  
 -- Issue #24022: Fix tokenizer crash when processing undecodable source code.
 +- Issue #17633: Improve zipimport's support for namespace packages.
  
 -- Issue #23309: Avoid a deadlock at shutdown if a daemon thread is aborted
 -  while it is holding a lock to a buffered I/O object, and the main thread
 -  tries to use the same I/O object (typically stdout or stderr).  A fatal
 -  error is emitted instead.
 +- Issue #24705: Fix sysconfig._parse_makefile not expanding ${} vars
 +  appearing before $() vars.
  
 -- Issue #22977: Fixed formatting Windows error messages on Wine.
 -  Patch by Martin Panter.
 +- Issue #22138: Fix mock.patch behavior when patching descriptors. Restore
 +  original values after patching. Patch contributed by Sean McCully.
  
 -- Issue #23803: Fixed str.partition() and str.rpartition() when a separator
 -  is wider then partitioned string.
 +- Issue #25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
 +  option if it is safe to do so.
  
 -- Issue #23192: Fixed generator lambdas.  Patch by Bruno Cauet.
 +- Issue #22570: Add 'path' attribute to pathlib.Path objects,
 +  returning the same as str(), to make it more similar to DirEntry.
 +  Library code can now write getattr(p, 'path', p) to get the path as
 +  a string from a Path, a DirEntry, or a plain string.  This is
 +  essentially a small one-off protocol.
  
 -- Issue #23629: Fix the default __sizeof__ implementation for variable-sized
 -  objects.
 +- Issue #26012: Don't traverse into symlinks for ** pattern in
 +  pathlib.Path.[r]glob().
  
 -- Issue #24044: Fix possible null pointer dereference in list.sort in out of
 -  memory conditions.
 +- Issue #24120: Ignore PermissionError when traversing a tree with
 +  pathlib.Path.[r]glob().  Patch by Ulrich Petri.
  
 -- Issue #21354: PyCFunction_New function is exposed by python DLL again.
 +- Issue #25447: fileinput now uses sys.stdin as-is if it does not have a
 +  buffer attribute (restores backward compatibility).
  
 -Library
 --------
 +- Issue #25447: Copying the lru_cache() wrapper object now always works,
 +  independedly from the type of the wrapped object (by returning the original
 +  object unchanged).
 +
 +- Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser.
 +
 +- Issue #25860: os.fwalk() no longer skips remaining directories when error
 +  occurs.  Original patch by Samson Lee.
 +
 +- Issue #25914: Fixed and simplified OrderedDict.__sizeof__.
 +
 +- Issue #25902: Fixed various refcount issues in ElementTree iteration.
 +
 +- Issue #25717: Restore the previous behaviour of tolerating most fstat()
 +  errors when opening files.  This was a regression in 3.5a1, and stopped
 +  anonymous temporary files from working in special cases.
  
  - Issue #24903: Fix regression in number of arguments compileall accepts when
    '-d' is specified.  The check on the number of arguments has been dropped
Simple merge