After a year of development, the significant release of the programming language Python 3.12 has been published. The new branch will be maintained for a year and a half, followed by another three and a half years of support with vulnerability fixes.
Simultaneously, the alpha testing of the branch Python 3.13 has begun, introducing the CPYTHON assembly mode without the Global Interpreter Lock (GIL). The Python 3.13 branch will undergo alpha testing for seven months, during which new features will be added and errors will be corrected. According to the new development schedule, work on the new branch starts five months before the release of the previous branch and reaches the alpha testing stage by the time of the next release. Following the alpha testing, there will be three months of beta testing during which the addition of new features will be prohibited, and the focus will be on error correction. In the final two months before the release, the branch will be in the candidate stage for release, where final stabilization will take place.
In Python 3.12, several innovations have been added. Here are some of them:
- The flexibility of analyzing F-strings (formatted literals with the prefix ‘f’) has been increased, allowing the removal of many restrictions. For example, within F-strings, any expressions permissible for Python can now be used, including multi-line expressions, comments, reverse slashes, and escape sequences for Unicode. Additionally, the reuse of the same quotes within the F-string is now allowed. The error messages in the F-string now indicate the exact location in the line that caused the error. Example code:
print(f"This is the Playlist: {'n'.join(songs)}")
- Support for isolated subinterpreters and individual Global Interpreter Locks (GIL) has been implemented to improve the efficiency of multi-core systems.