Friday, August 21, 2020

Monday, August 17, 2020

Python 3.7.9 and 3.6.12 security updates now available

Python 3.7.9 and 3.6.12,  the lastest security fix rollups for Python 3.7 and Python 3.6, are now available. You can find the release files including updated binary installers for 3.7.9, links to the changelogs, and more information here:
    https://www.python.org/downloads/release/python-379/
    https://www.python.org/downloads/release/python-3612/
  
Note that Python 3.8 is now the latest feature release series of Python 3. You should consider upgrading to 3.8 as soon as practical. Get the latest release of 3.8.x here.

Binary installers are normally not provided for security fix releases. However, since 3.7.8 was the last 3.7.x bugfix release and there are security fixes published in 3.7.9 that apply to users of some of the binary installers provided with 3.7.8, we have made an exception and are also updating the Windows and macOS binary installers for 3.7.9.  We do not plan to provide further binary updates for future 3.7.x security releases.

Thanks to all of the many volunteers who help make Python Development and these releases possible!  Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.

Tuesday, August 11, 2020

Python 3.9.0rc1 is now available

Python 3.9.0 is almost ready. This release, 3.9.0rc1, is the penultimate release preview. You can get it here:

https://www.python.org/downloads/release/python-390rc1/

Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between this release candidate and the final release. The second candidate and the last planned release preview is currently planned for 2020-09-14.

Please keep in mind that this is a preview release and its use is not recommended for production environments.

Calls to action

Core developers: all eyes on the docs now

  • Are all your changes properly documented?
  • Did you notice other changes you know of to have insufficient documentation?

Community members

We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.9 compatibility during this phase. As always, report any issues to the Python bug tracker.

Installer news

This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.

Major new features of the 3.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

  • PEP 584, Union Operators in  dict
  • PEP 585, Type Hinting Generics In Standard Collections
  • PEP 593, Flexible function and variable annotations
  • PEP 602, Python adopts a stable annual release cadence
  • PEP 615, Support for the IANA Time Zone Database in the Standard Library
  • PEP 616, String methods to remove prefixes and suffixes
  • PEP 617, New PEG parser for CPython
  • BPO 38379, garbage collection does not block on resurrected objects;
  • BPO 38692, os.pidfd_open added that allows process management without races and signals;
  • BPO 39926, Unicode support updated to version 13.0.0;
  • BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
  • A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
  • A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
  • A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.