04/12/2022
Spring Boot rilascia una minor release ogni sei mesi (a maggio e novembre).
Secondo i precedenti rilasci, le versioni principali di Spring sono state rilasciate ogni quattro anni, con Spring Boot 1 nel 2014, Spring Boot 2 nel 2018. .Le versioni minori colmano i vuoti tra queste release, con una minor release ogni sei mesi.
Lo scorso novembre è stato rilasciato Spring Framework 6 con Spring Boot 3.
Le principali caratteristiche o modifiche introdotte in Spring 6 sono le seguenti:
Aggiornamento della versione di base di Java a Java 17.
Java 17 è l'ultima versione LTS (Long-term Supported) con tutte le nuove funzionalità introdotte nelle ultime versioni di Java, come i record, le modifiche di instanceof, le stringhe multilinea ecc.
Sostituzione di Java EE con Jakarta EE
la versione minima supportata è Jakarta EE9. Questo rompe la retrocompatibilità ed è la causa della maggior parte dei problemi nel processo di migrazione. Utilizzerà i packages jakarta invece dei packages javax.
Supporto di prima classe per JPMS (Java Platform Module System)
che consentirà un'accessibilità più rigorosa nel codice dell'applicazione e nelle librerie. Anche se il supporto completo per JPMS potrebbe non arrivare con la versione iniziale, ma in una data successiva.
Supporto migliorato per la compilazione nativa, per rendere più efficienti le applicazioni cloud-native.
È una risposta ai nuovi framework come Quarkus e Micronaut, che producono applicazioni native con un basso utilizzo di memoria e tempi di avvio rapidi. Sebbene oggi sia possibile eseguire la compilazione nativa utilizzando il modulo 'spring-native', con Spring boot 3 è possibile integrarlo senza problemi con una configurazione di partenza e comandi di compilazione specifici.
Inserimento dell'osservability in Spring
per incoraggiare ulteriormente lo sviluppo cloud-nativo. A differenza dell'osservabilità basata su agenti, registra le metriche con Micrometer e offre il tracciamento attraverso fornitori come OpenZipkin o OpenTelemetry.
Supporto nativo per l'interfaccia client HTTP dichiarativa, utilizzando le annotazioni .
Nuova API ProblemDetail per la conformità alla specifica Problem Details for HTTP APIs [RFC 7807].
Elimina diverse funzioni obsolete e integrazioni di terze parti.
Inoltre, in futuro, Spring 6 adotterà caratteristiche più interessanti, come Project Loom, pur mantenendo una base JDK 17.