CEVIU Logo
Voltar

Ruby 3.5: o estado atual da linguagem e o que esperar após o lançamento

Aprofundamento CEVIU

Aprofundamento

O Ruby 3.5 foi lançado em 29 de outubro de 2025, com a versão 3.5.0, seguida pela 3.5.1 em 10 de dezembro de 2025. Ele trouxe atualizações para Unicode 15.1.0 e Emoji 15.1, além de mudanças estruturais importantes: a classe Set foi promovida de stdlib para core e reimplementada em C, reduzindo uso de memória em cerca de 33% para grandes conjuntos. O módulo Ractor::Port ganhou destaque como nova primitiva de concorrência, substituindo métodos obsoletos como Ractor.yield e Ractor#take, que foram removidos. Também houve limpeza semântica: nil.to_a não é mais chamado implicitamente, IO.select passou a aceitar Float::INFINITY como timeout, e parte da biblioteca CGI foi descontinuada, restando apenas os métodos de escape.

A versão mais recente é o Ruby 4.0.5, lançado em 20 de maio de 2026, com correção de segurança (CVE-2026-46727) e ajuste no sistema de build. O Ruby 4.0, lançado em 25 de dezembro de 2025, introduziu o Ruby::Box (isolamento experimental de código), melhorias nas mensagens de erro com mais contexto de chamada, e o novo compilador JIT ZJIT, ainda não ativado por padrão e menos maduro que o YJIT. A classe Pathname também se tornou core, e Array ganhou #find e #rfind. O desenvolvimento do Ruby 4.1 já está ativo desde dezembro de 2025, com foco em estabilizar o ZJIT e adicionar novas APIs como ENV.fetch_values, Kernel#autoload_relative e MatchData#integer_at.

Por que isso importa

Essas mudanças afetam diretamente quem mantém ou atualiza aplicações Ruby em produção. A remoção de Ractor.yield e a mudança em Set exigem revisão de código legado que dependia desses comportamentos. A promoção de Set e Pathname para core melhora desempenho e reduz sobrecarga de carregamento, relevante para aplicações com alto volume de operações em coleções ou manipulação de caminhos. O ZJIT, mesmo experimental, sinaliza uma direção clara: o Ruby está investindo em JITs mais sustentáveis e extensíveis, não só em otimizações pontuais. Para equipes que planejam migração para Ruby 4.x, o cronograma é previsível: manutenção normal até março de 2027 para Ruby 3.3, mas Ruby 3.2 já está EOL desde março de 2026, um alerta claro para atualização imediata em ambientes críticos.

Impacto para desenvolvedores

Desenvolvedores precisam testar migrações com atenção especial a três áreas: (1) uso de Ractor.yield ou Ractor#take, agora inválidos; (2) dependência implícita de SortedSet ao exigir set, que exige gem externa; (3) chamadas a Set#to_set, Range#to_set ou Enumerable#to_set com argumentos, removidas no Ruby 4.1-dev. A mudança em nil.to_a pode expor bugs silenciosos em conversões implícitas. Quem usa IO.select com timeouts longos deve migrar para Float::INFINITY em vez de nil. Para projetos que usam Ractors, o Ractor::Port é agora a forma recomendada de comunicação sincronizada entre isolados, vale ler a documentação oficial antes de refatorar. Instalar Ruby a partir de fonte ou via rbenv/RVM continua válido, mas o Ruby 4.0.5 exige atualização imediata por causa da correção de segurança CVE-2026-46727.

Perguntas frequentes

Quando o Ruby 3.5 foi lançado?

O Ruby 3.5.0 foi lançado em 29 de outubro de 2025. A versão de correção Ruby 3.5.1 saiu em 10 de dezembro de 2025. Uma prévia (preview1) já havia sido disponibilizada em 18 de abril de 2025.

O que mudou no Ruby 3.5 em relação ao Ractor?

O Ruby 3.5 introduziu Ractor::Port como nova primitiva de concorrência para comunicação entre Ractors. Os métodos Ractor.yield e Ractor#take foram removidos. Isso exige atualização de código que dependia dessas APIs antigas.

Qual é a versão mais recente do Ruby em junho de 2026?

A versão mais recente estável é o Ruby 4.0.5, lançado em 20 de maio de 2026. Ele inclui correção de segurança (CVE-2026-46727) e ajuste no sistema de build. Versões anteriores como Ruby 3.2 já estão em fim de vida (EOL) desde março de 2026.

O que é o ZJIT no Ruby 4.0?

O ZJIT é um novo compilador JIT introduzido no Ruby 4.0, lançado em 25 de dezembro de 2025. Projetado para ser mais fácil de manter e extensível que o YJIT, ele ainda não supera o desempenho do YJIT e não é ativado por padrão. Está em estado experimental e será aprimorado no Ruby 4.1.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Web Dev
Publicado
17 de junho de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser