Le tour d'horizon dans l'écosystème Java de cette semaine du 14 février 2022 présente des nouvelles d'OpenJDK, JDK 18, JDK 19, Quarkus 2.7.2.Final, JReleaser early-access, plusieurs mises à jour des projets Spring : Spring Boot 2.7.0-M1, 2.6.4, 2.5.10 ; une nouvelle interface ListCrudRepository
pour Spring Data 3.0-M2 ; Spring Security 5.7.0-M2, 5.6.2, 5.5.5 ; Spring Session 2021.1.2, 2021.0.5 ; Spring Shell 2.1.0-M3 ; et Spring Batch 4.3.5.
OpenJDK
La JEP Draft 8277163, Value Objects (Preview), est passé du statut Draft à Submitted la semaine dernière, indiquant que le propriétaire de la JEP, Dan Smith, a déclaré ce brouillon comme prêt pour l'évaluation vers le statut de Candidate. Cette JEP propose la création d'objets de valeur, des classes de valeur sans identité qui spécifient le comportement de leurs instances. Ce brouillon est lié à la JEP 401, Primitive Classes (Preview), et fournira une contribution continue à la réalisation du projet Valhalla.
JDK 18
Le Build 37 du JDK 18 early access builds a été mis à disposition la semaine dernière, mais il n'y avait pas de mises à jour du Build 36. Moins d'un mois avant la sortie générale du JDK 18, la mise à jour des release notes incluent des liens vers des documents tels que spécification complète de l'API et une spécification de l'API annotée comparant les différences entre JDK 17 (Build 35) et JDK 18 (Build 37).
JDK 19
Le Build 11 du JDK 19 early-access builds ont également été mises à disposition la semaine dernière, avec des mises à jour du Build 10 qui incluent des correctifs pour divers problèmes. Plus de détails peuvent être trouvés dans les release notes.
Pour les JDK 18 et JDK 19, les développeurs sont encouragés à signaler les bugs via le Java Bug Database.
Spring Framework
Ce fut une semaine très chargée chez Spring, car l'équipe a fourni de nombreuses versions ponctuelles et milestones pour Spring Boot, Spring Data, Spring Security, Spring Session, Spring Shell etSpring Batch.
En route vers Spring Boot 2.7.0, la seconde version milestone a été mise à disposition pour inclure 137 corrections de bugs, des améliorations de la documentation et des mises à niveau des dépendances. Les nouvelles fonctionnalités incluent : des annotations pour tests avec Couchbase et Elasticsearch ; des améliorations apportées à l'enregistrement et l'ordonnancement par auto-configuration avec la nouvelle annotation @AutoConfiguration
; et la prise en charge d'OkHttp 4.9.3. Plus de détails peuvent être trouvés dans les release notes.
Spring Boot 2.6.4 a été publié avec 61 corrections de bugs, des améliorations de la documentation et des mises à niveau des dépendances. Plus de détails peuvent être trouvés dans la changelog.
Spring Boot 2.5.10 a été publié avec 52 corrections de bugs, des améliorations de la documentation et des mises à niveau des dépendances. De plus amples détails peuvent être trouvés dans la changelog.
L'équipe Spring Data a présenté l'interface ListCrudRepository
pour Spring Data 3.0-M2 conçue pour renvoyer un ensemble de résultats de type List
au lieu d'un Interable
, le type renvoyé par la célèbre interface CrudRepository
. La motivation est d'offrir aux développeurs un choix avec un type de retour préféré lorsqu'ils travaillent avec Spring Data.
Sur la route de Spring Security 5.7.0, la seconde milestone a été publié et rendra obsolète la classe WebSecurityConfigurerAdapter comme une évolution vers une configuration de sécurité basée sur les composants. Les développeurs sont encouragés à lire cet article de blog sur l'utilisation de Spring Security sans WebSecurityConfigurerAdapter
et plus de détails peuvent également être trouvés dans les release notes.
Spring Security 5.6.2 et 5.5.5 ont été publiées avec des corrections de bugs, des améliorations mineures et des mises à niveau des dépendances. Les deux versions introduisent la classe AuthorizationManagerWebInvocationPrivilegeEvaluator
qui sert d'implémentation de l'interface WebInvocationPrivilegeEvaluator
qui délègue les vérifications à une instance d' AuthorizationManager
.
Les versions 2021.1.2 et 2021.0.5 de Spring Session ont été publiées la semaine dernière avec des mises à niveau de dépendances des versions 2.6.2 et 2.5.5, respectivement, de Spring Session Core, Spring Session Data Redis, Spring Session JDBC et Spring Session Hazelcast et Spring Session MongoDB (pour Spring Session 2021.1.2 uniquement).
En route vers Spring Shell 2.1.0, la troisième version milestone a été mise à disposition pour présenter les travaux initiaux sur un modèle de composant d'interface utilisateur de niveau supérieur afin d'améliorer la création d'interactions plus attrayantes avec les utilisateurs. Un exemple peut être trouvé dans les release notes.
Spring Batch 4.3.5 a été publié avec des corrections de bugs et des mises à niveau de dépendances. Les améliorations incluent : simplifier le champ GET_LAST_STEP_EXECUTION dans la classe JdbcStepExecutionDao
pour utiliser un equi-join au lieu d'une jointure cartésienne avec un sous-select ; ajouter l'annotation @Nullable à la méthode getEndtime()
définie dans la classe StepExecution
; et implémenter des vérifications des arguments de la méthode setSort()
définie dans la classe MongoItemReader
. De plus amples détails peuvent être trouvés dans la changelog.
Quarkus
Quarkus 2.7.2.Final, la seconde version de maintenance, a été mise à disposition avec les dépendances mises à jour de Kogito 1.17.0.Final et OptaPlanner 8.17.0.Finale. Plus de détails peuvent être trouvés dans la changelog.
JReleaser
En route vers la version 1.0.0, une mise à jour de la version early-access de JReleaser a été mise à disposition la semaine dernière avec l'ajout de ressources Windows à la configuration de jpackage
, un outil qui peut être utilisé pour assembler des distributions de type NATIVE_PACKAGE
.