Após um ano de desenvolvimento, uma nova versão estável da linguagem de programação interpretada Python 3.13 foi lançada. O lançamento inclui alterações tanto na própria linguagem quanto em sua biblioteca padrão. As principais mudanças incluem o uso de um interpretador interativo por padrão, suporte experimental ao funcionamento em modo free-threaded (ou seja, com a desativação do global interpreter lock) (PEP 703), e um compilador JIT (PEP 744).
Com este lançamento, foi feita a transição para um novo ciclo de lançamentos do Python (Ciclo de Lançamento Anual do Python, PEP 602), com o objetivo de expandir o período de "suporte total" para novos lançamentos:
- Python 3.9 a 3.12 têm um ano e meio de suporte total, seguido por três anos e meio de correções de brechas de segurança.
- Python 3.13 e lançamentos posteriores terão dois anos de suporte total e três anos de correções de vulnerabilidades.
O trabalho continua em melhorias nas mensagens de erro. Agora, os tracebacks são destacados por padrão com cor. A função incorporada locals() agora tem uma semântica definida para alterar o mapeamento retornado (PEP 667), e os parâmetros de tipos (typing.TypeVar, typing.ParamSpec, typing.TypeVarTuple) suportam valores padrão (PEP 696).
As mudanças na biblioteca padrão incluem a remoção de APIs e módulos obsoletos (aifc, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu e xdrlib), além de melhorias habituais em usabilidade e correção. Vários módulos foram excluídos da distribuição devido à sua obsolescência em Python 3.11 (PEP 594), incluindo a ferramenta e a biblioteca 2to3.
Entre as melhorias de segurança, destaca-se que ssl.create_default_context() agora configura os sinais padrão ssl.VERIFY_X509_PARTIAL_CHAIN e ssl.VERIFY_X509_STRICT.
O suporte a plataformas foi adicionado: Apple iOS e Android agora são plataformas oficialmente suportadas (tier 3) (PEP 730, 738). O suporte a wasm32-wasi é mantido em tier 2, enquanto o suporte oficial a wasm32-emscripten foi descontinuado.
Para uma visão mais aprofundada das novidades do lançamento, consulte a documentação oficial (sobre biblioteca, sobre a linguagem). Consulte o artigo «Transição para Python 3.13» para atualizar seus projetos para a nova versão da linguagem. Veja também changelog.
Fonte: linux.org.ru
