limiting the call to readline(). Original patch by Michał
Jastrzębski and Giampaolo Rodola.
-- Issue #18235: Fix the sysconfig variables LDSHARED and BLDSHARED under AIX.
- Patch by David Edelsohn.
+- Issue #17087: Improved the repr for regular expression match objects.
-- Issue #19276: Fixed the wave module on 64-bit big-endian platforms.
+Tests
+-----
-- Issue #18776: atexit callbacks now display their full traceback when they
- raise an exception.
+- Issue #19664: test_userdict's repr test no longer depends on the order
+ of dict elements.
-- Issue #17827: Add the missing documentation for ``codecs.encode`` and
- ``codecs.decode``.
+- 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 as subTests of a unittest TestCase method.
-- Issue #18458: Prevent crashes with newer versions of libedit. Its readline
- emulation has changed from 0-based indexing to 1-based like gnu readline.
- Original patch by Ronald Oussoren.
+- Issue #19378: the main dis module tests are now run with both stdout
+ redirection *and* passing an explicit file parameter
-- Issue #18919: If the close() method of a writer in the sunau or wave module
- failed, second invocation of close() and destructor no more raise an
- exception.
+- Issue #19378: removed the not-actually-helpful assertInstructionMatches
+ and assertBytecodeExactlyMatches helpers from bytecode_helper
-- Issue #19131: The aifc module now correctly reads and writes sampwidth of
- compressed streams.
+- Issue #18702: All skipped tests now reported as skipped.
-- Issue #19158: a rare race in BoundedSemaphore could allow .release() too
- often.
+- Issue #19439: interpreter embedding tests are now executed on Windows
+ (Patch by Zachary Ware)
-- Issue #18037: 2to3 now escapes '\u' and '\U' in native strings.
+- Issue #19085: Added basic tests for all tkinter widget options.
-- Issue #19137: The pprint module now correctly formats instances of set and
- frozenset subclasses.
+- Issue 19384: Fix test_py_compile for root user, patch by Claudiu Popa.
-- Issue #19092: contextlib.ExitStack now correctly reraises exceptions
- from the __exit__ callbacks of inner context managers (Patch by Hrvoje
- Nikšić)
++Documentation
++-------------
+
-- Issue #12641: Avoid passing "-mno-cygwin" to the mingw32 compiler, except
- when necessary. Patch by Oscar Benjamin.
++- Issue #18326: Clarify that list.sort's arguments are keyword-only. Also,
++ attempt to reduce confusion in the glossary by not saying there are
++ different "types" of arguments and parameters.
+
-- Issue #18594: The fast path for collections.Counter() was never taken
- due to an over-restrictive type check. And the fallback path did
- not implement the same algorithm as the pure python code.
+Build
+-----
-- Properly initialize all fields of a SSL object after allocation.
+- Update SQLite to 3.8.1 and xz to 5.0.5 on Windows.
-- Issue #4366: Fix building extensions on all platforms when --enable-shared
- is used.
+- Issue #16632: Enable DEP and ASLR on Windows.
-- Issue #18950: Fix miscellaneous bugs in the sunau module.
- Au_read.readframes() now updates current file position and reads correct
- number of frames from multichannel stream. Au_write.writeframesraw() now
- correctly updates current file position. Au_read.getnframes() now returns an
- integer (as in Python 2). Au_read and Au_write now correctly works with file
- object if start file position is not a zero.
+- Issue #17791: Drop PREFIX and EXEC_PREFIX definitions from PC/pyconfig.h
-- Issue #19053: ZipExtFile.read1() with non-zero argument no more returns empty
- bytes until end of data.
+- Add workaround for VS 2010 nmake clean issue. VS 2010 doesn't set up PATH
+ for nmake.exe correctly.
-- Issue #19028: Fixed tkinter.Tkapp.merge() for non-string arguments.
+- Issue #19550: Implement Windows installer changes of PEP 453 (ensurepip).
-- Issue #3015: Fixed tkinter with wantobject=False. Any Tcl command call
- returned empty string.
+- Issue #19520: Fix compiler warning in the _sha3 module on 32bit Windows.
-- Issue #18050: Fixed an incompatibility of the re module with Python 3.3.0
- binaries.
+- Issue #19356: Avoid using a C variabled named "_self", it's a reserved
+ word in some C compilers.
-- Issue #19037: The mailbox module now makes all changes to maildir files
- before moving them into place, to avoid race conditions with other programs
- that may be accessing the maildir directory.
+- Issue #15792: Correct build options on Win64. Patch by Jeremy Kloth.
-- Issue #14984: On POSIX systems, when netrc is called without a filename
- argument (and therefore is reading the user's $HOME/.netrc file), it now
- enforces the same security rules as typical ftp clients: the .netrc file must
- be owned by the user that owns the process and must not be readable by any
- other user.
+- Issue #19373: Apply upstream change to Tk 8.5.15 fixing OS X 10.9
+ screen refresh problem for OS X installer build.
-- Issue #18873: The tokenize module now detects Python source code encoding
- only in comment lines.
+- Issue #19649: On OS X, the same set of file names are now installed
+ in bin directories for all configurations: non-framework vs framework,
+ and single arch vs universal builds. pythonx.y-32 is now always
+ installed for 64-bit/32-bit universal builds. The obsolete and
+ undocumented pythonw* symlinks are no longer installed anywhere.
-- Issue #17324: Fix http.server's request handling case on trailing '/'. Patch
- contributed by Vajrasky Kok.
+- Issue #19553: PEP 453 - "make install" and "make altinstall" now install or
+ upgrade pip by default, using the bundled pip provided by the new ensurepip
+ module. A new configure option, --with-ensurepip[=upgrade|install|no], is
+ available to override the default ensurepip "--upgrade" option. The option
+ can also be set with "make [alt]install ENSUREPIP=[upgrade|install\no]".
-- Issue #19018: The heapq.merge() function no longer suppresses IndexError
- in the underlying iterables.
+Tools/Demos
+-----------
-- Issue #18784: The uuid module no more attempts to load libc via ctypes.CDLL,
- if all necessary functions are already found in libuuid.
- Patch by Evgeny Sologubov.
+- Issue #19552: pyvenv now bootstraps pip into virtual environments by
+ default (pass --without-pip to request the old behaviour)
-- Issue #18672: Fixed format specifiers for Py_ssize_t in debugging output in
- the _sre module.
+- Issue #19390: Argument Clinic no longer accepts malformed Python
+ and C ids.
-- Issue #18830: inspect.getclasstree() no more produces duplicated entries even
- when input list contains duplicates.
+What's New in Python 3.4.0 Alpha 4?
+===================================
-- Issue #18909: Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast
- 64-bit pointer to long (32 bits).
+Release date: 2013-10-20
-- Issue #18876: The FileIO.mode attribute now better reflects the actual mode
- under which the file was opened. Patch by Erik Bray.
+Core and Builtins
+-----------------
-- Issue #18418: After fork(), reinit all threads states, not only active ones.
- Patch by A. Jesse Jiryu Davis.
+- Issue #19301: Give classes and functions that are explicitly marked global a
+ global qualname.
-- Issue #16611: http.cookie now correctly parses the 'secure' and 'httponly'
- cookie flags.
+- Issue #19279: UTF-7 decoder no longer produces illegal strings.
-- Issue #11973: Fix a problem in kevent. The flags and fflags fields are now
- properly handled as unsigned.
+- Issue #16612: Add "Argument Clinic", a compile-time preprocessor for
+ C files to generate argument parsing code. (See PEP 436.)
-- Issue #17702: On error, os.environb now removes suppress the except context
- when raising a new KeyError with the original key.
+- Issue #18810: Shift stat calls in importlib.machinery.FileFinder such that
+ the code is optimistic that if something exists in a directory named exactly
+ like the possible package being searched for that it's in actuality a
+ directory.
-- Issue #18755: Fixed the loader used in imp to allow get_data() to be called
- multiple times.
+- Issue #18416: importlib.machinery.PathFinder now treats '' as the cwd and
+ importlib.machinery.FileFinder no longer special-cases '' to '.'. This leads
+ to modules imported from cwd to now possess an absolute file path for
+ __file__ (this does not affect modules specified by path on the CLI but it
+ does affect -m/runpy). It also allows FileFinder to be more consistent by not
+ having an edge case.
-- Issue #16809: Fixed some tkinter incompabilities with Tcl/Tk 8.6.
+- Issue #4555: All exported C symbols are now prefixed with either
+ "Py" or "_Py".
-- Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj
- argument.
+- Issue #19219: Speed up marshal.loads(), and make pyc files slightly
+ (5% to 10%) smaller.
-- Issue #18324: set_payload now correctly handles binary input. This also
- supersedes the previous fixes for #14360, #1717, and #16564.
+- Issue #19221: Upgrade Unicode database to version 6.3.0.
-- Issue #17119: Fixed integer overflows when processing large strings and tuples
- in the tkinter module.
+- Issue #16742: The result of the C callback PyOS_ReadlineFunctionPointer must
+ now be a string allocated by PyMem_RawMalloc() or PyMem_RawRealloc() (or NULL
+ if an error occurred), instead of a string allocated by PyMem_Malloc() or
+ PyMem_Realloc().
-- Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork.
- A pthread_atfork() parent handler is used to seed the PRNG with pid, time
- and some stack data.
+- Issue #19199: Remove ``PyThreadState.tick_counter`` field
-- Issue #8865: Concurrent invocation of select.poll.poll() now raises a
- RuntimeError exception. Patch by Christian Schubert.
+- Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at
+ least one place so as to avoid regressions.
-- Issue #13461: Fix a crash in the TextIOWrapper.tell method on 64-bit
- platforms. Patch by Yogesh Chaudhari.
+- Issue #19087: Improve bytearray allocation in order to allow cheap popping
+ of data at the front (slice deletion).
-- Issue #18777: The ssl module now uses the new CRYPTO_THREADID API of
- OpenSSL 1.0.0+ instead of the deprecated CRYPTO id callback function.
+- Issue #19014: memoryview.cast() is now allowed on zero-length views.
-- Issue #18768: Correct doc string of RAND_edg(). Patch by Vajrasky Kok.
+- Issue #18690: memoryview is now automatically registered with
+ collections.abc.Sequence
-- Issue #18178: Fix ctypes on BSD. dlmalloc.c was compiled twice which broke
- malloc weak symbols.
+- Issue #19078: memoryview now correctly supports the reversed builtin
+ (Patch by Claudiu Popa)
-- Issue #18709: Fix CVE-2013-4238. The SSL module now handles NULL bytes
- inside subjectAltName correctly. Formerly the module has used OpenSSL's
- GENERAL_NAME_print() function to get the string represention of ASN.1
- strings for ``rfc822Name`` (email), ``dNSName`` (DNS) and
- ``uniformResourceIdentifier`` (URI).
+Library
+-------
-- Issue #18756: Improve error reporting in os.urandom() when the failure
- is due to something else than /dev/urandom not existing (for example,
- exhausting the file descriptor limit).
+- Issue #18235: Fix the sysconfig variables LDSHARED and BLDSHARED under AIX.
+ Patch by David Edelsohn.
-- Issue #18405: Improve the entropy of crypt.mksalt().
+- Issue #18606: Add the new "statistics" module (PEP 450). Contributed
+ by Steven D'Aprano.
-- Issue #19151: Fix docstring and use of _get_supported_file_loaders() to
- reflect 2-tuples.
+- Issue #12866: The audioop module now supports 24-bit samples.
-- Issue #18676: Change 'positive' to 'non-negative' in queue.py put and get
- docstrings and ValueError messages. Patch by Zhongyue Luo
+- Issue #19254: Provide an optimized Python implementation of pbkdf2_hmac.
-- Issue #18681: Fix a NameError in imp.reload() (noticed by Weizhao Li).
+- Issues #19201, #19222, #19223: Add "x" mode (exclusive creation) in opening
+ file to bz2, gzip and lzma modules. Patches by Tim Heaney and Vajrasky Kok.
-- Issue #8112: xlmrpc.server's DocXMLRPCServer server no longer raises an error
- if methods have annotations; it now correctly displays the annotations.
+- Fix a reference count leak in _sre.
-- Issue #17998: Fix an internal error in regular expression engine.
+- Issue #19262: Initial check in of the 'asyncio' package (a.k.a. Tulip,
+ a.k.a. PEP 3156). There are no docs yet, and the PEP is slightly
+ out of date with the code. This module will have *provisional* status
+ in Python 3.4.
-- Issue #17557: Fix os.getgroups() to work with the modified behavior of
- getgroups(2) on OS X 10.8. Original patch by Mateusz Lenik.
+- Issue #19276: Fixed the wave module on 64-bit big-endian platforms.
-- Issue #18599: Fix name attribute of _sha1.sha1() object. It now returns
- 'SHA1' instead of 'SHA'.
+- Issue #19266: Rename the new-in-3.4 ``contextlib.ignore`` context manager
+ to ``contextlib.suppress`` in order to be more consistent with existing
+ descriptions of that operation elsewhere in the language and standard
+ library documentation (Patch by Zero Piraeus).
-- Issue #18561: Skip name in ctypes' _build_callargs() if name is NULL.
+- Issue #18891: Completed the new email package (provisional) API additions
+ by adding new classes EmailMessage, MIMEPart, and ContentManager.
-- Issue #18559: Fix NULL pointer dereference error in _pickle module
+- Issue #18281: Unused stat constants removed from `tarfile`.
-- Issue #18556: Check the return value of a PyUnicode_AsWideChar() call in
- ctypes' U_set().
+- Issue #18468: The re.split, re.findall, and re.sub functions and the group()
+ and groups() methods of match object now always return a string or a bytes
+ object.
-- Issue #18549: Eliminate dead code in socket_ntohl()
+- Issue #18725: The textwrap module now supports truncating multiline text.
-- Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj()
+- Issue #18776: atexit callbacks now display their full traceback when they
+ raise an exception.
-- Issue #18513: Fix behaviour of cmath.rect w.r.t. signed zeros on OS X 10.8 +
- gcc.
+- Issue #17827: Add the missing documentation for ``codecs.encode`` and
+ ``codecs.decode``.
-- Issue #18480: Add missing call to PyType_Ready to the _elementtree extension.
+- Issue #19218: Rename collections.abc to _collections_abc in order to
+ speed up interpreter start.
-- Issue #17778: Fix test discovery for test_multiprocessing. (Patch by
- Zachary Ware.)
+- Issue #18582: Add 'pbkdf2_hmac' to the hashlib module. It implements PKCS#5
+ password-based key derivation functions with HMAC as pseudorandom function.
-- Issue #18431: The new email header parser now decodes RFC2047 encoded words
- in structured headers.
+- Issue #19131: The aifc module now correctly reads and writes sampwidth of
+ compressed streams.
-- Issue #18432: The sched module's queue method was incorrectly returning
- an iterator instead of a list.
+- Issue #19209: Remove import of copyreg from the os module to speed up
+ interpreter startup. stat_result and statvfs_result are now hard-coded to
+ reside in the os module.
-- Issue #18044: The new email header parser was mis-parsing encoded words where
- an encoded character immediately followed the '?' that follows the CTE
- character, resulting in a decoding failure. They are now decoded correctly.
+- Issue #19205: Don't import the 're' module in site and sysconfig module to
+ to speed up interpreter start.
-- Issue #18101: Tcl.split() now process strings nested in a tuple as it
- do with byte strings.
+- Issue #9548: Add a minimal "_bootlocale" module that is imported by the
+ _io module instead of the full locale module.
-- Issue #17198: Fix a NameError in the dbm module. Patch by Valentina
- Mukhamedzhanova.
+- Issue #18764: remove the 'print' alias for the PDB 'p' command so that it no
+ longer shadows the print function.
-- Issue #18013: Fix cgi.FieldStorage to parse the W3C sample form.
+- Issue #19158: a rare race in BoundedSemaphore could allow .release() too
+ often.
-- Issue #18347: ElementTree's html serializer now preserves the case of
- closing tags.
+- Issue #15805: Add contextlib.redirect_stdout().
-- Issue #17261: Ensure multiprocessing's proxies use proper address.
+- Issue #18716: Deprecate the formatter module.
-- Issue #18343: faulthandler.register() now keeps the previous signal handler
- when the function is called twice, so faulthandler.unregister() restores
- correctly the original signal handler.
+- Issue #18037: 2to3 now escapes '\u' and '\U' in native strings.
-- Issue #17097: Make multiprocessing ignore EINTR.
+- Issue #17839: base64.decodebytes and base64.encodebytes now accept any
+ object that exports a 1 dimensional array of bytes (this means the same
+ is now also true for base64_codec)
-- Issue #18339: Negative ints keys in unpickler.memo dict no longer cause a
- segfault inside the _pickle C extension.
+- Issue #19132: The pprint module now supports compact mode.
-- Issue #18224: Removed pydoc script from created venv, as it causes problems
- on Windows and adds no value over and above python -m pydoc ...
+- Issue #19137: The pprint module now correctly formats instances of set and
+ frozenset subclasses.
-- Issue #18155: The csv module now correctly handles csv files that use
- a delimter character that has a special meaning in regexes, instead of
- throwing an exception.
+- Issue #10042: functools.total_ordering now correctly handles
+ NotImplemented being returned by the underlying comparison function (Patch
+ by Katie Miller)
-- Issue #14360: encode_quopri can now be successfully used as an encoder
- when constructing a MIMEApplication object.
+- Issue #19092: contextlib.ExitStack now correctly reraises exceptions
+ from the __exit__ callbacks of inner context managers (Patch by Hrvoje
+ Nikšić)
-- Issue #18135: ssl.SSLSocket.write() now raises an OverflowError if the input
- string in longer than 2 gigabytes, and ssl.SSLContext.load_cert_chain()
- raises a ValueError if the password is longer than 2 gigabytes. The ssl
- module does not support partial write.
+- Issue #12641: Avoid passing "-mno-cygwin" to the mingw32 compiler, except
+ when necessary. Patch by Oscar Benjamin.
-- Issue #18248: Fix libffi build on AIX.
+- Issue #5845: In site.py, only load readline history from ~/.python_history
+ if no history has been read already. This avoids double writes to the
+ history file at shutdown.
-- Issue #18259: Declare sethostname in socketmodule.c for AIX
+- Properly initialize all fields of a SSL object after allocation.
-- Issue #18167: cgi.FieldStorage no longer fails to handle multipart/form-data
- when \r\n appears at end of 65535 bytes without other newlines.
+- Issue #19095: SSLSocket.getpeercert() now raises ValueError when the
+ SSL handshake hasn't been done.
-- subprocess: Prevent a possible double close of parent pipe fds when the
- subprocess exec runs into an error. Prevent a regular multi-close of the
- /dev/null fd when any of stdin, stdout and stderr was set to DEVNULL.
+- Issue #4366: Fix building extensions on all platforms when --enable-shared
+ is used.
-- Issue #16102: Make uuid._netbios_getnode() work again on Python 3.
+- Issue #19030: Fixed `inspect.getmembers` and `inspect.classify_class_attrs`
+ to attempt activating descriptors before falling back to a __dict__ search
+ for faulty descriptors. `inspect.classify_class_attrs` no longer returns
+ Attributes whose home class is None.
-- Issue #18109: os.uname() now decodes fields from the locale encoding, and
- socket.gethostname() now decodes the hostname from the locale encoding,
- instead of using the UTF-8 encoding in strict mode.
+C API
+-----
-- Issue #17403: urllib.parse.robotparser normalizes the urls before adding to
- ruleline. This helps in handling certain types invalid urls in a conservative
- manner.
+- Issue #1772673: The type of `char*` arguments now changed to `const char*`.
-- Issue #18025: Fixed a segfault in io.BufferedIOBase.readinto() when raw
- stream's read() returns more bytes than requested.
+- Issue #16129: Added a `Py_SetStandardStreamEncoding` pre-initialization API
+ to allow embedding applications like Blender to force a particular
+ encoding and error handler for the standard IO streams (initial patch by
+ Bastien Montagne)
-- Issue #18011: base64.b32decode() now raises a binascii.Error if there are
- non-alphabet characters present in the input string to conform a docstring.
- Updated the module documentation.
+Tests
+-----
-- Issue #13772: Restored directory detection of targets in ``os.symlink`` on
- Windows, which was temporarily removed in Python 3.2.3 due to an incomplete
- implementation. The implementation now works even if the symlink is created
- in a location other than the current directory.
+- Issue #19275: Fix test_site on AMD64 Snow Leopard
-- Issue #16986: ElementTree now correctly parses a string input not only when
- an internal XML encoding is UTF-8 or US-ASCII.
+- Issue #14407: Fix unittest test discovery in test_concurrent_futures.
-- Issue #17812: Fixed quadratic complexity of base64.b32encode().
+- Issue #18919: Unified and extended tests for audio modules: aifc, sunau and
+ wave.
-- Issue #17980: Fix possible abuse of ssl.match_hostname() for denial of
- service using certificates with many wildcards (CVE-2013-2099).
+- Issue #18714: Added tests for ``pdb.find_function()``.
-- Issue #17981: Closed socket on error in SysLogHandler.
+Documentation
+-------------
-- Fix typos in the multiprocessing module.
+- Issue #18758: Fixed and improved cross-references.
-- Issue #17754: Make ctypes.util.find_library() independent of the locale.
+- Issue #18972: Modernize email examples and use the argparse module in them.
-- Issue #17968: Fix memory leak in os.listxattr().
+Build
+-----
-- Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X
- with port None or "0" and flags AI_NUMERICSERV.
+- Issue #19130: Correct PCbuild/readme.txt, Python 3.3 and 3.4 require VS 2010.
-- Issue #18698: Ensure imp.reload() returns the module out of sys.modules.
+- Issue #15663: Update OS X 10.6+ installer to use Tcl/Tk 8.5.15.
-- Issue #18080: When building a C extension module on OS X, if the compiler
- is overriden with the CC environment variable, use the new compiler as
- the default for linking if LDSHARED is not also overriden. This restores
- Distutils behavior introduced in 3.2.3 and inadvertently dropped in 3.3.0.
+- Issue #14499: Fix several problems with OS X universal build support:
+ 1. ppc arch detection for extension module builds broke with Xcode 5
+ 2. ppc arch detection in configure did not work on OS X 10.4
+ 3. -sysroot and -arch flags were unnecessarily duplicated
+ 4. there was no obvious way to configure an intel-32 only build.
-- Issue #18113: Fixed a refcount leak in the curses.panel module's
- set_userptr() method. Reported by Atsuo Ishimoto.
+- Issue #19019: Change the OS X installer build script to use CFLAGS instead
+ of OPT for special build options. By setting OPT, some compiler-specific
+ options like -fwrapv were overridden and thus not used, which could result
+ in broken interpreters when building with clang.
-- Issue #18849: Fixed a Windows-specific tempfile bug where collision with an
- existing directory caused mkstemp and related APIs to fail instead of
- retrying. Report and fix by Vlad Shcherbina.
+What's New in Python 3.4.0 Alpha 3?
+===================================
-- Issue #19400: Prevent extension module build failures with Xcode 5 on OS X
- 10.8+ when using a universal Python that included a PPC architecture,
- such as with a python.org 32-bit-only binary installer.
+Release date: 2013-09-29
-C API
------
+Core and Builtins
+-----------------
-- Issue #18351: Fix various issues with a helper function in importlib used
- by PyImport_ExecCodeModuleWithPathnames() (and thus by extension
- PyImport_ExecCodeModule() and PyImport_ExecCodeModuleEx()).
+- Issue #18818: The "encodingname" part of PYTHONIOENCODING is now optional.
-IDLE
-----
+- Issue #19098: Prevent overflow in the compiler when the recursion limit is set
+ absurdly high.
-- Issue #18873: IDLE now detects Python source code encoding only in comment
- lines.
+Library
+-------
-- Issue #18988: The "Tab" key now works when a word is already autocompleted.
+- Issue #18929: `inspect.classify_class_attrs()` now correctly finds class
+ attributes returned by `dir()` that are located in the metaclass.
-- Issue #18489: Add tests for SearchEngine. Original patch by Phil Webster.
+- Issue #18950: Fix miscellaneous bugs in the sunau module.
+ Au_read.readframes() now updates current file position and reads correct
+ number of frames from multichannel stream. Au_write.writeframesraw() now
+ correctly updates current file position. Au_read.getnframes() now returns an
+ integer (as in Python 2). Au_read and Au_write now correctly works with file
+ object if start file position is not a zero.
-- Issue #18429: Format / Format Paragraph, now works when comment blocks
- are selected. As with text blocks, this works best when the selection
- only includes complete lines.
+- Issue #18594: The fast path for collections.Counter() was never taken
+ due to an over-restrictive type check.
-- Issue #18226: Add docstrings and unittests for FormatParagraph.py.
- Original patches by Todd Rovito and Phil Webster.
+- Issue #19053: ZipExtFile.read1() with non-zero argument no more returns empty
+ bytes until end of data.
-- Issue #18279: Format - Strip trailing whitespace no longer marks a file as
- changed when it has not been changed. This fix followed the addition of a
- test file originally written by Phil Webster (the issue's main goal).
+- logging: added support for Unix domain sockets to SocketHandler and
+ DatagramHandler.
-- Issue #7136: In the Idle File menu, "New Window" is renamed "New File".
- Patch by Tal Einat, Roget Serwy, and Todd Rovito.
+- Issue #18996: TestCase.assertEqual() now more cleverly shorten differing
+ strings in error report.
-- Remove dead imports of imp.
+- Issue #19034: repr() for tkinter.Tcl_Obj now exposes string reperesentation.
-- Issue #18196: Avoid displaying spurious SystemExit tracebacks.
+- Issue #18978: ``urllib.request.Request`` now allows the method to be
+ indicated on the class and no longer sets it to None in ``__init__``.
-- Issue #5492: Avoid traceback when exiting IDLE caused by a race condition.
+- Issue #18626: the inspect module now offers a basic command line
+ introspection interface (Initial patch by Claudiu Popa)
-- Issue #17511: Keep IDLE find dialog open after clicking "Find Next".
- Original patch by Sarah K.
+- Issue #3015: Fixed tkinter with wantobject=False. Any Tcl command call
+ returned empty string.
-- Issue #18055: Move IDLE off of imp and on to importlib.
+- Issue #19037: The mailbox module now makes all changes to maildir files
+ before moving them into place, to avoid race conditions with other programs
+ that may be accessing the maildir directory.
-- Issue #15392: Create a unittest framework for IDLE.
- Initial patch by Rajagopalasarma Jayakrishnan.
- See Lib/idlelib/idle_test/README.txt for how to run Idle tests.
+- Issue #14984: On POSIX systems, when netrc is called without a filename
+ argument (and therefore is reading the user's $HOME/.netrc file), it now
+ enforces the same security rules as typical ftp clients: the .netrc file must
+ be owned by the user that owns the process and must not be readable by any
+ other user.
-- Issue #14146: Highlight source line while debugging on Windows.
+- Issue #18873: The tokenize module now detects Python source code encoding
+ only in comment lines.
-- Issue #17532: Always include Options menu for IDLE on OS X.
- Patch by Guilherme Simões.
+- Issue #17764: Enable http.server to bind to a user specified network
+ interface. Patch contributed by Malte Swart.
-Tests
------
+- Issue #18937: Add an assertLogs() context manager to unittest.TestCase
+ to ensure that a block of code emits a message using the logging module.
-- Issue #14407: Fix unittest test discovery in test_concurrent_futures.
+- Issue #17324: Fix http.server's request handling case on trailing '/'. Patch
+ contributed by Vajrasky Kok.
-- Issue #18919: Unified and extended tests for audio modules: aifc, sunau and
- wave.
+- Issue #19018: The heapq.merge() function no longer suppresses IndexError
+ in the underlying iterables.
+
+- Issue #18784: The uuid module no more attempts to load libc via ctypes.CDLL,
+ if all necessary functions are already found in libuuid.
+ Patch by Evgeny Sologubov.
+
+- The :envvar:`PYTHONFAULTHANDLER` environment variable now only enables the
+ faulthandler module if the variable is non-empty. Same behaviour than other
+ variables like :envvar:`PYTHONDONTWRITEBYTECODE`.
+
+- Issue #1565525: New function ``traceback.clear_frames`` will clear
+ the local variables of all the stack frames referenced by a traceback
+ object.
+
+Tests
+-----
- Issue #18952: Fix regression in support data downloads introduced when
test.support was converted to a package. Regression noticed by Zachary