The latest beta release of the Python programming language is available, coming ahead of the anticipated release of Python 3.10 this summer.
Python 3.10.0b2 is the second of four planned beta previews for the next version of Python, the final version of which is expected to arrive in August.
The second beta release was originally scheduled for 25 May . However, Python’s core development team described on the Python Insider blog that it only came through on 1 June “after fighting with some release blockers, implementing a bunch of GC traversal functions, and fixing some pending reference leaks.”
Python 3.10 is expected to bring a number of big changes to the programming language, which continues to gain popularity among developers worldwide.
Some of the standout new features and changes compared to Python 3.9 include:
- 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
Further new features are still being planned and written, the Python dev team said. While the release is planned to be feature-complete when it enters the beta phase, some features might still be modified or even deleted up until the start of the release candidate phase on 2 August.
“Our goal is to have no ABI changes after beta 4 and as few code changes as possible after 3.10.0rc1, the first release candidate,” the Python team said.
As with all new beta releases, Python users are strongly encouraged to pick up the latest beta and start using it, with the Python team noting that these previews “are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects to support the new feature release.” It also gives developers the best chance to catch errors and bugs in the language.
Python 3.10.0b2 is available to download here.
The next pre-release of Python 3.10 will be 3.10.0b3, currently scheduled for 17 June. With Python 3.10 having now moved firmly into beta, development is now underway on Python 3.11, which is currently scheduled for October 2022 and is expected to introduce significant performance enhancements to the Python programming language – potentially double that of the current version.