Friday, December 16, 2016

Python 3.6.0 release candidate 2 is now available

Python 3.6.0rc2 is the second release candidate for Python 3.6, the next major release of Python.

Code for 3.6.0 is now frozen. Code for 3.6.0 is now frozen. 3.6.0rc2 is the same code base as the first release candidate, 3.6.0rc1, with the addition of fixes for a couple of critical problems and with some documentation additions and updates. Assuming no further release critical problems are found prior to the 3.6.0 final release date, now planned for 2016-12-23, the 3.6.0 final release will be the same code base as this 3.6.0rc2. Maintenance releases for the 3.6 series will follow at regular intervals starting in the first quarter of 2017.

Among the major new features in Python 3.6 are:
  • PEP 468 - Preserving the order of **kwargs in a function
  • PEP 487 - Simpler customization of class creation
  • PEP 495 - Local Time Disambiguation
  • PEP 498 - Literal String Formatting
  • PEP 506 - Adding A Secrets Module To The Standard Library
  • PEP 509 - Add a private version to dict
  • PEP 515 - Underscores in Numeric Literals
  • PEP 519 - Adding a file system path protocol
  • PEP 520 - Preserving Class Attribute Definition Order
  • PEP 523 - Adding a frame evaluation API to CPython
  • PEP 524 - Make os.urandom() blocking on Linux (during system startup)
  • PEP 525 - Asynchronous Generators (provisional)
  • PEP 526 - Syntax for Variable Annotations (provisional)
  • PEP 528 - Change Windows console encoding to UTF-8
  • PEP 529 - Change Windows filesystem encoding to UTF-8
  • PEP 530 - Asynchronous Comprehensions
Please see "What’s New In Python 3.6" for more information:

You can find Python 3.6.0rc2 here:

Note that 3.6.0rc2 is still a preview release and thus its use is not recommended for production environments.

More information about the release schedule can be found here: