Python 3.10.0rc2 is now available

This is the second release candidate of Python 3.10

Python 3.10 is one month away, can you believe it? This snake is still trying to bite as it has been an interesting day of fighting fires, release blockers, and a bunch of late bugs but your friendly release team always delivers :slight_smile:

You can get this new release while is still fresh here:

This release, 3.10.0rc2 , is the last preview before the final release of Python 3.10.0 on 2021-10-04. Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between release candidates and the final release. There will be no ABI changes from this point forward in the 3.10 series and the goal is that there will be as few code changes as possible.

Call 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?

:warning: :warning: :warning: :warning: :warning: :warning:

The 3.10 branch is now accepting changes for 3.10.1. To maximize stability, the final release will be cut from the v3.10.0rc2 tag. If you need the release manager to cherry-pick any critical fixes, mark issues as release blockers and/or add him as a reviewer on a critical backport PR on GitHub.

To see which changes are currently cherry-picked for inclusion in 3.10.0, look at the short-lived branch-v3.10.0 https://github.com/python/cpython/tree/branch-v3.10.0 on GitHub.

:warning: :warning: :warning: :warning: :warning: :warning:

Community members

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

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

Major new features of the 3.10 series, compared to 3.9

Many new features for Python 3.10 are still being planned and written. Among the new major
new features and changes so far:

  • PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject.

  • PEP 604 – Allow writing union types as X | Y

  • PEP 612 – Parameter Specification Variables

  • PEP 626 – Precise line numbers for debugging and other tools.

  • PEP 618 – Add Optional Length-Checking To zip.

  • bpo-12782: Parenthesized context managers are now officially allowed.

  • PEP 632 – Deprecate distutils module.

  • PEP 613 – Explicit Type Aliases

  • PEP 634 – Structural Pattern Matching: Specification

  • PEP 635 – Structural Pattern Matching: Motivation and Rationale

  • PEP 636 – Structural Pattern Matching: Tutorial

  • PEP 644 – Require OpenSSL 1.1.1 or newer

  • PEP 624 – Remove Py_UNICODE encoder APIs

  • PEP 597 – Add optional EncodingWarning

  • (Hey, fellow core developer, if a feature you find important is missing from this list, let Pablo know.)

The next release will be the final release of Python 3.10.0, which is currently scheduled for Monday, 2021-10-04.

bpo-38605: from __future__ import annotations (PEP 563) used to be on this list
in previous pre-releases but it has been postponed to Python 3.11 due to some compatibility concerns. You can read the Steering Council communication about it here to learn more.

More resources

And now for something completely different

Maxwell’s demon is a thought experiment that would hypothetically violate the second law of thermodynamics. It was proposed by the physicist James Clerk Maxwell in 1867. In the thought experiment, a demon controls a small massless door between two chambers of gas. As individual gas molecules (or atoms) approach the door, the demon quickly opens and closes the door to allow only fast-moving molecules to pass through in one direction, and only slow-moving molecules to pass through in the other. Because the kinetic temperature of a gas depends on the velocities of its constituent molecules, the demon’s actions cause one chamber to warm up and the other to cool down. This would decrease the total entropy of the two gases, without applying any work, thereby violating the second law of thermodynamics.

We hope you enjoy those new 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.

Regards from a plane going to Malaga,

Your friendly release team,
Pablo Galindo @pablogsal
Ned Deily @nad
Steve Dower @steve.dower

7 Likes