[Do Not Merge] Convert Misc/NEWS so that it is managed by towncrier by dstufft · Pull Request #552 · python/cpython (original) (raw)

This is a demo of a towncrier solution to python/core-workflow#6. It has ported the entire Misc/NEWS (at the time I forked the branch) to give a comprehensive example. I did not do a very thorough job of correctly determining if a change log entry was for a feature, bugfix, etc instead opting to just do it quickly to get an example finished.

Towncrier will not run on Python 3.x until twisted/towncrier#47 is fixed (I have it patched locally, will send a PR later). In addition, the title (What's new in Python X.Y) will be a bit ugly until twisted/towncrier#46 is solved.

What's New in Python 3.7.0a1?

Release date: 2017-03-07

Core and Builtins

Features


- More than 255 arguments can now be passed to a function. (bpo-12844)
- Python function can now have more than 255 parameters.
  collections.namedtuple() now supports tuples with more than 255 elements.
  (bpo-18896)
- Added C implementation of asyncio.Future. Original patch by Yury Selivanov.
  (bpo-26081)
- Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes. (bpo-26110)
- Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize
  memcpy(). (bpo-28126)
- Optimize and cleanup dict iteration. (bpo-28183)
- Show sys.version when -V option is supplied twice. (bpo-28532)
- Optimize iterating split table values. Patch by Xiang Zhang. (bpo-28580)
- Sped up converting int to float by reusing faster bits counting
  implementation. Patch by Adrian Wielgosik. (bpo-28621)
- Improve speed of the STORE_DEREF opcode by 40%. (bpo-28665)
- Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of
  dict literal with constant keys up to 30%. (bpo-28731)
- bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not
  only spaces. Patch by Robert Xiao. (bpo-28927)
- Call _PyObject_GC_TRACK() lazily when calling Python function. Calling
  function is up to 5% faster. (bpo-29049)
- Add ``docstring`` field to Module, ClassDef, FunctionDef, and
  AsyncFunctionDef ast nodes. docstring is not first stmt in their body
  anymore. It affects ``co_firstlineno`` and ``co_lnotab`` of code object for
  module and class. (bpo-29463)
- Improve from-import error message with location and set the 'path' and 'name'
  attribute on ImportError for ``from ... import ...``. (bpo-29546)
- Upgrade internal unicode databases to Unicode version 9.0.0. (bpo-unknown)

Removal
~~~~~~~

- Raise DeprecationWarning when async and await keywords are used as
  variable/attribute/class/function name. (bpo-26182)
- Creating instances of range_iterator by calling range_iterator type now is
  disallowed. Calling iter() on range instance is the only way. Patch by Oren
  Milman. (bpo-28376)
- f-string expressions are no longer accepted as docstrings and by
  ast.literal_eval() even if they do not include expressions. (bpo-28739)
- Remove the ``PyEval_GetCallStats()`` function and deprecate the untested and
  undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE``
  special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or
  :mod:`profile` to profile function calls. (bpo-28799)
- bool(), float(), list() and tuple() no longer take keyword arguments. The
  first argument of int() can now be passes only as positional argument.
  (bpo-29695)

Bug Fixes

Misc


- bpo-7777777, bpo-8888888, bpo-9999999


Extension Modules
-----------------

- Update zlib to 1.2.11. (bpo-29169)


Library
-------

Features

Removal


- Remove the subprocess.Popen.wait endtime parameter. It was deprecated in 3.4
  and undocumented prior to that. (bpo-20572)
- timeit: remove ``-c/--clock`` and ``-t/--time`` command line options which
  were deprecated since Python 3.3. (bpo-28240)
- Remove vestigial MacOS 9 macurl2path module and its tests. (bpo-28325)
- Deprecated silent truncations in socket.htons and socket.ntohs. Original
  patch by Oren Milman. (bpo-28332)
- Deprecate passing asyncio.Handles to run_in_executor. (bpo-28371)
- Removed deprecated features in the http.cookies module. (bpo-29192)
- A format string argument for string.Formatter.format() is now positional-
  only. (bpo-29193)
- Removed support of deprecated undocumented keyword arguments in methods of
  regular expression objects. (bpo-29195)
- Removed deprecated function ntpath.splitunc(). (bpo-29197)
- Removed support of deprecated argument "exclude" in tarfile.TarFile.add().
  (bpo-29210)
- Unused install_misc command is now removed. It has been documented as unused
  since 2000. Patch by Eric N. Vander Weele. (bpo-29218)

Bug Fixes

Windows

Features


- Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun)
  (bpo-28333)
- Adds signed catalog files for stdlib on Windows. (bpo-28402)

Removal
~~~~~~~

- Deprecate WindowsRegistryFinder and disable it by default (bpo-28896)
- Removes readme.txt from the installer. (bpo-29579)

Bug Fixes

C API

Features


- Compiler warnings are now emitted if use most of deprecated functions.
  (bpo-19569)
- Added functions PySlice_Unpack() and PySlice_AdjustIndices(). (bpo-27867)

Removal
~~~~~~~

- Function PySlice_GetIndicesEx() is deprecated and replaced with a macro if
  Py_LIMITED_API is not set or set to the value between 0x03050400 and
  0x03060000 (not including) or 0x03060100 or higher. (bpo-27867)
- Deprecated undocumented functions PyUnicode_AsEncodedObject(),
  PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and
  PyUnicode_AsEncodedUnicode(). (bpo-28426)

Bug Fixes

Documentation

Build

Features


- Update Windows build and OS X installers to use SQLite 3.14.2. (bpo-#28208)
- sys.version and the platform module python_build(), python_branch(), and
  python_revision() functions now use git information rather than hg when
  building from a repo. (bpo-27593)
- Update Windows build and OS X installers to use OpenSSL 1.0.2j. (bpo-28248)
- Update Windows build and OS X installers to use OpenSSL 1.0.2k. (bpo-29572)

Removal
~~~~~~~

- A full copy of libffi is no longer bundled for use when building _ctypes on
  non-OSX UNIX platforms. An installed copy of libffi is now required when
  building _ctypes on such platforms. (bpo-27979)
- Remove old Be OS helper scripts. (bpo-29384)

Bug Fixes

Tools/Demos

Features


- The zipfile module CLI now prints usage to stderr. Patch by Stephen J.
  Turnbull. (bpo-28102)
- python-gdb.py now supports also ``method-wrapper`` (``wrapperobject``)
  objects. (bpo-29367)

Removal
~~~~~~~

- The pybench and pystone microbenchmark have been removed from Tools. Please
  use the new Python benchmark suite https://github.com/python/performance
  which is more reliable and includes a portable version of pybench working on
  Python 2 and Python 3. (bpo-15369)

Bug Fixes

Tests