Java 10 Lança Versionamento Baseado em Tempo para Atualizações Bianuais Previsíveis
JEP 322 - Versionamento Baseado em Tempo
A partir do Java 10, a Oracle introduziu um modelo estrito de versionamento baseado em tempo. Agora o Java terá um lançamento principal a cada 6 meses. O Java 10 foi lançado em março de 2018; dali em diante, versões principais são planejadas para março e setembro. Lançamentos são categorizados em três tipos:
- Feature Release (Lançamento de Funcionalidades) - Contém recursos de linguagem, JVM, APIs novas/melhoradas, remoção/depreciação de APIs. O cronograma é fixo; não há restrição de quais features entram. Se uma feature não estiver pronta, vai para o próximo lançamento.
- Update Release (Lançamento de Atualização) - Inclui correções de bugs, segurança, regressões. Planejados por trimestre: janeiro, abril, julho, outubro. Cada Feature Release recebe dois Update Releases antes do próximo Feature Release.
- Long Term Support (LTS) Release - Anunciado a cada 3 anos a partir de setembro de 2018. Oracle fornece suporte e atualizações por 3 anos. Voltado para empresas usando Java em produção.
Formato da Versão
O formato da versão agora segue:
$FEATURE.$INTERIM.$UPDATE.$PATCH
Onde:
- $FEATURE - Número do lançamento principal de funcionalidades. Incrementa 1 a cada Feature Release. No Java 10 é 10.
- $INTERIM - Lançamento não-feature, non-update com correções e melhorias. Sem mudanças incompatíveis ou remoção de API. Em Feature Release, este contador é 0.
- $UPDATE - Número do Update Release após um Feature Release. Ex.: atualização de abril de 2018 é JDK 10.0.1, julho é 10.0.2, etc.
- $PATCH - Lançamento de emergência para questões críticas.
Exemplo: Detalhes de Versionamento do Java 10
public class Tester {
public static void main(String[] args) {
Runtime.Version version = Runtime.version();
System.out.printf("feature: %s%n interim: %s%n update: %s%n patch: %s%n",
version.feature(), version.interim(), version.update(), version.patch());
}
}
Saída
feature: 10
interim: 0
update: 2
patch: 0
Este modelo traz previsibilidade e clareza para desenvolvedores e empresas planejarem migrações e suporte.
Java
- Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
- Comentários em Java: Tipos, Uso e Boas Práticas
- Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
- Dominando Strings em Java: Criação, Métodos e Boas Práticas
- Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
- Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
- Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
- Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
- Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código
- Entendendo o Java Vector: Uso, Recursos e Comparação com ArrayList