Le tour d'horizon dans l'écosystème Java de cette semaine du 21 mars 2022 présente des nouvelles du JDK 18, JDK 19, JDK Mission Control 8.2, Amazon Corretto 18, BellSoft LibericaJDK 18, plusieurs versions ponctuelles et milestone de Spring, Micronaut 3.4.0, GraalVM Native Build Tools 0.9.11, WildFly 26 Beta 1, Hibernate Reactive 1.1.4.Final, MicroStream 7.0-M1, JReleaser 1.0-RC1 et TornadoVM 0.13.
JDK 18
Oracle a publié la version 18 du langage de programmation et de la machine virtuelle Java la semaine dernière, livré avec un ensemble de fonctionnalités finales de neuf JEP. Plus de détails peuvent être trouvés dans cette actualité d'InfoQ.
JDK 19
Le Build 15 du JDK 19 early-access builds ont été mises à disposition la semaine dernière, avec des mises à jour du Build 14 qui incluent des correctifs pour divers problèmes. Plus de détails peuvent être trouvés dans les release notes.
Pour le JDK 19, les développeurs sont encouragés à signaler les bugs via la Java Bug Database.
JDK Mission Control
JDK Mission Control (JMC) 8.2.0 a été publié avec : la prise en charge d'Eclipse 2021-06 et versions ultérieures ; une version binaire pour Apple ARM permettant à JMC d'être exécuté en mode natif sur Apple M1 ; la prise en charge de l'analyseur pour les types de trame générés par le profileur async
; et une nouvelle règle pour les invocations explicites de System.gc()
. JMC nécessite un JDK 11+, mais peut toujours être utilisé pour analyser les enregistrements JFR de OpenJDK 8u272+ et Oracle JDK 7u40+.
Amazon Corretto
Amazon a publié Amazon Corretto 18, leur distribution downstream d'OpenJDK 18, disponible sur Linux, Windows et macOS. Les développeurs peuvent télécharger cette dernière version à partir de ce site.
Liberica JDK de BellSoft
De même, BellSoft a publié LibericaJDK 18, leur distribution downstream du JDK 18. Les développeurs peuvent télécharger cette dernière version à partir de ce site
Spring Framework
Après quelques semaines relativement calmes, l'équipe de Spring a été très occupée la semaine dernière, ayant fourni plusieurs versions milestone et ponctuelles.
Il y a eu plusieurs versions de Spring Boot. Les versions 2.5.11 et 2.6.5 présentent un total de 56 et 66 corrections de bugs, mises à jour des dépendances et améliorations de la documentation, respectivement.
Spring Boot 2.7.0-M3 inclut de nouvelles fonctionnalités telles que : la prise en charge de la génération d'images Docker avec Podman ; une meilleure prise en charge de l'interface SanitizingFunction
; et la prise en charge de Spring GraphQL 1.0.0-M6. Plus de détails peuvent être trouvés dans ces release notes.
Spring Boot 3.0.0-M2 inclut de nouvelles fonctionnalités telles que : la prise en charge rétablie de Ehcache 3 et de l'application Console H2 car les deux sont désormais compatibles avec Jakarta EE 9 ; et la détection améliorée avec l'annotation @ConstructorBinding
utilisée conjointement avec @ConfigurationProperties
. Plus de détails peuvent être trouvés dans ces release notes.
Plusieurs versions de Spring Data ont également été mises à disposition la semaine dernière. Les versions ponctuelles 2021.1.3 et 2021.0.10 fournissent des correctifs de bugs et des mises à niveau de dépendance et peuvent être utilisées avec les versions Spring Boot 2.6.5 et 2.5.11, respectivement.
Spring Data 2021.2.0-M4, nom de code Raj, est livré avec un certain nombre de nouvelles fonctionnalités liées aux sous-projets Spring Data et peuvent être utilisées avec Spring Boot 2.7.0-M3.
Spring Data 2022.0.0-M3, nom de code Turing, est également livré avec de nouvelles fonctionnalités pour inclure : JDK 17 comme référence ; et la prise en charge de Spring Framework 6 et Jakarta EE 9. Cette version peut être utilisée avec Spring Boot 3.0.0-M2.
La sixième version milestone de Spring for GraphQL 1.0 a été mise à disposition pour inclure un nouveau client GraphQL et un testeur GraphQL mis à jour pour s'aligner sur le nouveau client. Il s'agit de la dernière version milestone et l'équipe prévoit la première version candidate d'ici la fin avril 2022 et une version GA le 17 mai 2022.
Spring Security 6.0.0-M3 et 5.7.0-M3 ont été publiés pour inclure : la dépréciation de la classe WebSecurityConfigurerAdapter
; et la prise en charge des améliorations pour SAML 2.0 et OAuth 2.0.
La seconde milestone de Spring Batch 5.0 a été mise à disposition avec : une nouvelle API d'observation de Micrometer 2.0 qui fournit à la fois des métriques et un suivi pour les jobs par lots ; et l'ajout d'HANA, un système de gestion de base de données relationnelle en mémoire, orienté colonne, créé par SAP, comme une base de données prise en charge pour le référentiel de jobs². De plus amples détails peuvent être trouvés dans cette changelog.
Spring Authorization Server 0.2.3 a été publié pour inclure un certain nombre de nouvelles fonctionnalités, de corrections de bugs et de dépendances mises à niveau. Plus de détails peuvent être trouvés dans ces release notes.
Micronaut
La Fondation Micronaut a publié Micronaut 3.4.0 qui est livré avec de nouvelles fonctionnalités telles que : la possibilité de charger conditionnellement d'autres propriétés de beans avec l'annotation @Requires
; la possibilité d'injecter une implémentation de l'interface LocalizedMessageSource
dans un contrôleur pour résoudre les messages localisés pour la requête HTTP actuelle ; et Micronaut Data MongoDB fait désormais partie de Micronaut Data 3.3.0. De plus amples détails peuvent être trouvés dans la changelog.
GraalVM Native Build Tools
En route vers la version 1.0, Oracle Labs a publié la version 0.9.11 de Native Build Tools, un projet GraalVM composé de plugins pour l'interopérabilité avec GraalVM Native Image. Cette dernière version offre : la possibilité d'utiliser des variables d'environnement dans les tests natifs ; l'intégration du référentiel de configuration natif GraalVM avec Gradle ; un renommage du jvmReachabilityMetadataRepository
de Gradle vers metadataRepository
; et un correctif dans lequel le fichier @arg
n'était pas utilisé pour les tests Maven. Plus de détails peuvent être trouvés dans les release notes.
WildFly
La première version bêta de WildFly 26.1 a été mise à disposition avec : la possibilité de limiter le nombre d'enregistrements récupérés via un store JDBC ; la possibilité de spécifier un répertoire source de configuration racine avec MicroProfile Config ; et des commandes CLI du keystore améliorées. De plus amples détails peuvent être trouvés dans les release notes.
Hibernate
Hibernate Reactive 1.1.4.Final a été mis à disposition en tant que version de maintenance qui corrige plusieurs des bugs et une mise à niveau des dépendances vers Hibernate ORM vers 5.6.7.Final. Plus de détails peuvent être trouvés dans la changelog.
MicroStream
La première version bêta de MicroStream 7.0 a été mise à disposition avec : une extension CDI pour MicroStream ; la journalisation des principaux modules à l'aide de slf4j ; et une API de sérialisation plus conviviale.
JReleaser
En route vers la version 1.0.0, la première release candidate et mise à jour de la release early-access de JReleaser ont été mises à disposition la semaine dernière avec : la possibilité d'autoriser les propriétés de fichier à accepter des valeurs de chaîne simples ; la prise en charge des binaires universels dans les distributions BINARY ; une nouvelle option pour exécuter la commande jpackage en mode verbeux ; et un correctif dans lequel packageSourceUrl
échoue lorsque la propriété remoteBuild
est affectée à false
.
TornadoVM
TornadoVM, une société de technologie logicielle open source, a publié TornadoVM version 0.13 qui est livré avec de nouvelles fonctionnalités et améliorations telles que : l'intégration avec le JDK 17 et Graal 21.3.0 ; les fonctions natives activées par défaut ; plusieurs améliorations du backend SPIR-V ; un script d'installation amélioré ; et la prise en charge des intrinsèques étendus liés aux opérations mathématiques.
Juan Fumero, associé de recherche, Advanced Processor Technologies Research Group à l'Université de Manchester, a présenté TornadoVM à QCon London en mars 2020 et a depuis contribué a cet article technique d'InfoQ plus récent.