Erlang/OTP 29 marca funções inseguras e amplia análise estática de código
A equipe Erlang/OTP lançou a versão 29.0, um release major que traz recursos voltados à segurança e qualidade de código — áreas críticas para sistemas distribuídos de alta disponibilidade onde a linguagem é referência.
Funções inseguras agora são explicitamente sinalizadas
A principal novidade é o suporte a atributos -unsafe, que permitem marcar funções cujo uso pode levar a comportamentos imprevisíveis ou vulnerabilidades. O compilador passa a emitir warnings por padrão quando detecta chamadas a funções da biblioteca padrão Erlang/OTP conhecidas como sempre inseguras.
Essa mudança força desenvolvedores a revisar código legado e escolhas de API de forma consciente — especialmente em contextos de concorrência, manipulação de binários e interoperabilidade com código nativo (NIFs).
xref ganha poderes de auditoria
A ferramenta de análise de referências cruzadas xref foi expandida. Agora ela consegue:
- Localizar chamadas a funções marcadas como
-unsafe - Identificar funções que carecem de documentação
Isso transforma xref em um aliado para auditorias de segurança e qualidade, permitindo varreduras automatizadas em grandes bases de código — algo essencial em projetos como RabbitMQ, WhatsApp backend e sistemas telecom.
O que muda na prática
Projetos que migram para OTP 29 devem esperar novos warnings no build. Funções como erlang:halt/0 sem tratamento adequado, operações de I/O bloqueantes em processos críticos ou uso de deprecated NIFs podem agora acionar alertas.
A estratégia é clara: tornar o custo de ignorar más práticas mais visível, sem quebrar código existente de imediato. Incompatibilidades mencionadas no release notes (não detalhadas na fonte) provavelmente envolvem remoção de APIs obsoletas ou mudanças em comportamentos edge-case.
Enquanto linguagens modernas apostam em sistemas de tipos cada vez mais sofisticados, Erlang escolhe um caminho pragmático: metadados explícitos + ferramentas de análise estática. É uma abordagem que respeita a cultura da linguagem — dinâmica, mas disciplinada.
Para equipes que mantêm sistemas críticos em produção, a capacidade de auditar automaticamente chamadas inseguras e lacunas de documentação reduz a superfície de risco sem exigir refatorações massivas.
O release completo está disponível no site oficial do Erlang. Não há data confirmada para backport dos recursos de segurança para versões anteriores.
