Di recente (giugno 2022) è stata rilasciata la versione 3.10.5 di Python (fonte ufficiale), viene definito così:
Python 3.10.5 is the newest major release of the Python programming language, and it contains many new features and optimizations
This release packs more than 230 bugfixes and docs changes
In generale, dalla versione 3.9 alla 3.10 sono stati fatte diverse migliorie; direttamente dalla fonte ufficiale python.org:
- 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
PEP = Python Enhancement Proposals
Non ho ancora avuto modo di fare dei test su questa nuova versione, ad esempio test basati sull'efficienza, come ho già fatto in passato (tempo di esecuzione del codice), comparandolo con le precedenti versioni ad esempio le più diffuse ora ovvero 3.10.4 oppure 3.9.2. A breve vedrò quindi di testare anche la 3.10.5 :)
Guardando al futuro, si pensa già a Python 3.11, che secondo le previsioni avrà un interessante miglioramento in termini di performance (approfondimento): la data di rilascio definitiva è prevista per ottobre 2022 (attualmente in fase beta, fonte peps.python.org). Quindi per ora, un passo alla volta! Iniziamo a prendere mano con Python 3.10.5 :)