Po rocznej pracy nad rozwojem, ukazała się nowa stabilna wersja interpretowanego języka programowania Python 3.13. Wydanie zawiera zmiany w samym języku oraz w jego standardowej bibliotece. Do najważniejszych zmian należy nowe interaktywne środowisko domyślnie, eksperymentalne wsparcie dla pracy w trybie free-threaded (tzn. z wyłączeniem global interpreter lock) (PEP 703), oraz kompilator JIT (PEP 744).
Z tego wydania wprowadzono nowy cykl wydania Pythona (Annual Release Cycle for Python, PEP 602), w związku z dążeniem do wydłużenia okresu „pełnego wsparcia” dla nowych wersji:
- Python 3.9–3.12 ma pełne wsparcie przez półtora roku, a następnie trzy i pół roku poprawek bezpieczeństwa.
- Python 3.13 i późniejsze wydania będą miały dwa lata pełnego wsparcia oraz trzy lata poprawek zabezpieczeń.
Prace nad ulepszaniem komunikatów o błędach. Teraz tracebacki domyślnie są podświetlane na kolorowo. Wbudowana funkcja locals() teraz ma określoną semantykę do zmiany zwracanego mapowania (PEP 667), a parametry typów (typing.TypeVar, typing.ParamSpec, typing.TypeVarTuple) wspierają wartości domyślne (PEP 696).
Zmiany w standardowej bibliotece obejmują usunięcie przestarzałych interfejsów API i modułów (aifc, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu i xdrlib), a także typowe usprawnienia w zakresie przyjazności dla użytkownika i poprawności. Kilka modułów zostało wykluczonych z dystrybucji z powodu ogłoszenia ich przestarzałymi w Pythonie 3.11 (PEP 594), w tym narzędzie oraz biblioteka 2to3.
Do poprawy bezpieczeństwa warto zauważyć, że ssl.create_default_context() ustawia domyślnie flagi ssl.VERIFY_X509_PARTIAL_CHAIN oraz ssl.VERIFY_X509_STRICT.
Dodano wsparcie dla platform: Apple iOS i Android są teraz oficjalnie wspieranymi platformami (tier 3) (PEP 730, 738). wasm32-wasi jest wspierany na poziomie tier 2, zakończono oficjalne wsparcie dla wasm32-emscripten.
Aby dokładniej zapoznać się z nowościami w wydaniu, należy zapoznać się z oficjalną dokumentacją (odnośnie do biblioteki, dotyczącej języka). Skorzystaj z artykułu „Przejście na Python 3.13” , aby zaktualizować swoje projekty do nowej wersji języka. Sprawdź także changelog.
Źródło: linux.org.ru
