bpo-15812: inspect.getframeinfo() now correctly shows the first line of a
context. Patch by Sam Breese.
bpo-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-13051: Fixed recursion errors in large or resized
curses.textpad.Textbox. Based on patch by Tycho Andersen.
bpo-29119: Fix weakrefs in the pure python version of
collections.OrderedDict move_to_end() method. Contributed by Andra
Bogildea.
bpo-9770: curses.ascii predicates now work correctly with negative
integers.
bpo-28427: old keys should not remove new values from WeakValueDictionary
when collecting from another thread.
bpo-28923: Remove editor artifacts from Tix.py.
bpo-28871: Fixed a crash when deallocate deep ElementTree.
bpo-19542: Fix bugs in WeakValueDictionary.setdefault() and
WeakValueDictionary.pop() when a GC collection happens in another thread.
bpo-20191: Fixed a crash in resource.prlimit() when pass a sequence that
doesn’t own its elements as limits.
bpo-28779: multiprocessing.set_forkserver_preload() would crash the
forkserver process if a preloaded module instantiated some multiprocessing
objects such as locks.
bpo-28847: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.
bpo-25659: In ctypes, prevent a crash calling the from_buffer() and
from_buffer_copy() methods on abstract classes like Array.
bpo-28732: Fix crash in os.spawnv() with no elements in args
bpo-28485: Always raise ValueError for negative
compileall.compile_dir(workers=…) parameter, even when multithreading is
unavailable.
bpo-28387: Fixed possible crash in _io.TextIOWrapper deallocator when the
garbage collector is invoked in other thread. Based on patch by Sebastian
Cufre.
bpo-27517: LZMA compressor and decompressor no longer raise exceptions if
given empty data twice. Patch by Benjamin Fogle.
bpo-28549: Fixed segfault in curses’s addch() with ncurses6.
bpo-28449: tarfile.open() with mode “r” or “r:” now tries to open a tar
file with compression before trying to open it without compression.
Otherwise it had 50% chance failed with ignore_zeros=True.
bpo-23262: The webbrowser module now supports Firefox 36+ and derived
browsers. Based on patch by Oleg Broytman.
bpo-27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
by representing the scale as float value internally in Tk. tkinter.IntVar
now works if float value is set to underlying Tk variable.
bpo-28255: calendar.TextCalendar().prmonth() no longer prints a space at
the start of new line after printing a month’s calendar. Patch by Xiang
Zhang.
bpo-20491: The textwrap.TextWrapper class now honors non-breaking spaces.
Based on patch by Kaarle Ritvanen.
bpo-28353: os.fwalk() no longer fails on broken links.
bpo-25464: Fixed HList.header_exists() in tkinter.tix module by addin a
workaround to Tix library bug.
bpo-28488: shutil.make_archive() no longer add entry “./” to ZIP archive.
bpo-24452: Make webbrowser support Chrome on Mac OS X.
bpo-20766: Fix references leaked by pdb in the handling of SIGINT
handlers.
bpo-26293: Fixed writing ZIP files that starts not from the start of the
file. Offsets in ZIP file now are relative to the start of the archive in
conforming to the specification.
bpo-28321: Fixed writing non-BMP characters with binary format in
plistlib.
bpo-28322: Fixed possible crashes when unpickle itertools objects from
incorrect pickle data. Based on patch by John Leitch.
Fix possible integer overflows and crashes in the mmap module with unusual
usage patterns.
bpo-1703178: Fix the ability to pass the –link-objects option to the
distutils build_ext command.
bpo-28253: Fixed calendar functions for extreme months: 0001-01 and
9999-12.
Methods itermonthdays() and itermonthdays2() are reimplemented so that
they don’t call itermonthdates() which can cause datetime.date
under/overflow.
bpo-28275: Fixed possible use after free in the decompress() methods of
the LZMADecompressor and BZ2Decompressor classes. Original patch by John
Leitch.
bpo-27897: Fixed possible crash in sqlite3.Connection.create_collation()
if pass invalid string-like object as a name. Patch by Xiang Zhang.
bpo-18893: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py.
Patch by Madison May.
bpo-27611: Fixed support of default root window in the tkinter.tix module.
bpo-27348: In the traceback module, restore the formatting of exception
messages like “Exception: None”. This fixes a regression introduced in
3.5a2.
bpo-25651: Allow falsy values to be used for msg parameter of subTest().
bpo-27932: Prevent memory leak in win32_ver().
Fix UnboundLocalError in socket._sendfile_use_sendfile.
bpo-28075: Check for ERROR_ACCESS_DENIED in Windows implementation of
os.stat(). Patch by Eryk Sun.
bpo-25270: Prevent codecs.escape_encode() from raising SystemError when an
empty bytestring is passed.
bpo-28181: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
bpo-25895: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by
Gergely Imreh and Markus Holtermann.
bpo-27599: Fixed buffer overrun in binascii.b2a_qp() and
binascii.a2b_qp().
bpo-19003: m email.generator now replaces only \r and/or \n line
endings, per the RFC, instead of all unicode line endings.
bpo-28019: itertools.count() no longer rounds non-integer step in range
between 1.0 and 2.0 to 1.
bpo-25969: Update the lib2to3 grammar to handle the unpacking
generalizations added in 3.5.
bpo-14977: mailcap now respects the order of the lines in the mailcap
files (“first match”), as required by RFC 1542. Patch by Michael Lazar.
bpo-24594: Validates persist parameter when opening MSI database
bpo-17582: xml.etree.ElementTree nows preserves whitespaces in attributes
(Patch by Duane Griffin. Reviewed and approved by Stefan Behnel.)
bpo-28047: Fixed calculation of line length used for the base64 CTE in the
new email policies.
bpo-27445: Don’t pass str(_charset) to MIMEText.set_payload(). Patch by
Claude Paroz.
bpo-22450: urllib now includes an Accept: */* header among the default
headers. This makes the results of REST API requests more consistent and
predictable especially when proxy servers are involved.
lib2to3.pgen3.driver.load_grammar() now creates a stable cache file
between runs given the same Grammar.txt input regardless of the hash
randomization setting.
bpo-27570: Avoid zero-length memcpy() etc calls with null source pointers
in the “ctypes” and “array” modules.
bpo-22233: Break email header lines only on the RFC specified CR and LF
characters, not on arbitrary unicode line breaks. This also fixes a bug
in HTTP header parsing.
bpo-27988: Fix email iter_attachments incorrect mutation of payload list.
bpo-27691: Fix ssl module’s parsing of GEN_RID subject alternative name
fields in X.509 certs.
bpo-27850: Remove 3DES from ssl module’s default cipher list to counter
measure sweet32 attack (CVE-2016-2183).
bpo-27766: Add ChaCha20 Poly1305 to ssl module’s default cipher list.
(Required OpenSSL 1.1.0 or LibreSSL).
bpo-26470: Port ssl and hashlib module to OpenSSL 1.1.0.
Remove support for passing a file descriptor to os.access. It never worked
but previously didn’t raise.
bpo-12885: Fix error when distutils encounters symlink.
bpo-27881: Fixed possible bugs when setting
sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang.
bpo-27861: Fixed a crash in sqlite3.Connection.cursor() when a factory
creates not a cursor. Patch by Xiang Zhang.
bpo-19884: Avoid spurious output on OS X with Gnu Readline.
bpo-27706: Restore deterministic behavior of random.Random().seed() for
string seeds using seeding version 1. Allows sequences of calls to
random() to exactly match those obtained in Python 2. Patch by Nofar
Schnider.
bpo-10513: Fix a regression in Connection.commit(). Statements should not
be reset after a commit.
A new version of typing.py from https://github.com/python/typing: -
Collection (only for 3.6) (bpo-27598) - Add FrozenSet to __all__
(upstream #261) - fix crash in _get_type_vars() (upstream #259) - Remove
the dict constraint in ForwardRef._eval_type (upstream #252)
bpo-27539: Fix unnormalised Fraction.__pow__ result in the case of
negative exponent and negative base.
bpo-21718: cursor.description is now available for queries using CTEs.
bpo-2466: posixpath.ismount now correctly recognizes mount points which
the user does not have permission to access.
bpo-27773: Correct some memory management errors server_hostname in
_ssl.wrap_socket().
bpo-26750: unittest.mock.create_autospec() now works properly for
subclasses of property() and other data descriptors.
In the curses module, raise an error if window.getstr() or window.instr()
is passed a negative value.
bpo-27783: Fix possible usage of uninitialized memory in
operator.methodcaller.
bpo-27774: Fix possible Py_DECREF on unowned object in _sre.
bpo-27760: Fix possible integer overflow in binascii.b2a_qp.
bpo-27758: Fix possible integer overflow in the _csv module for large
record lengths.
bpo-27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
HTTP_PROXY variable when REQUEST_METHOD environment is set, which
indicates that the script is in CGI mode.
bpo-27656: Do not assume sched.h defines any SCHED_* constants.
bpo-27130: In the “zlib” module, fix handling of large buffers (typically
4 GiB) when compressing and decompressing. Previously, inputs were
limited to 4 GiB, and compression and decompression operations did not
properly handle results of 4 GiB.
bpo-27533: Release GIL in nt._isdir
bpo-17711: Fixed unpickling by the persistent ID with protocol 0. Original
patch by Alexandre Vassalotti.
bpo-27522: Avoid an unintentional reference cycle in email.feedparser.
bpo-26844: Fix error message for imp.find_module() to refer to ‘path’
instead of ‘name’. Patch by Lev Maximov.
bpo-23804: Fix SSL zero-length recv() calls to not block and not raise an
error about unclean EOF.
bpo-27466: Change time format returned by http.cookie.time2netscape,
confirming the netscape cookie format and making it consistent with
documentation.
bpo-26664: Fix activate.fish by removing mis-use of $.
bpo-22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong
mode no longer break tracing, trace_vinfo() now always returns a list of
pairs of strings, tracing in the “u” mode now works.
Fix a scoping issue in importlib.util.LazyLoader which triggered an
UnboundLocalError when lazy-loading a module that was already put into
sys.modules.
bpo-27079: Fixed curses.ascii functions isblank(), iscntrl() and
ispunct().
bpo-26754: Some functions (compile() etc) accepted a filename argument
encoded as an iterable of integers. Now only strings and byte-like objects
are accepted.
bpo-27048: Prevents distutils failing on Windows when environment
variables contain non-ASCII characters
bpo-27330: Fixed possible leaks in the ctypes module.
bpo-27238: Got rid of bare excepts in the turtle module. Original patch
by Jelle Zijlstra.
bpo-27122: When an exception is raised within the context being managed by
a contextlib.ExitStack() and one of the exit stack generators catches and
raises it in a chain, do not re-raise the original exception when exiting,
let the new chained one through. This avoids the PEP 479 bug described in
issue25782.