BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Le Point Sur L'Actualité De Java - Semaine Du 16 Mai 2022

Le Point Sur L'Actualité De Java - Semaine Du 16 Mai 2022

Le tour d'horizon dans l'écosystème Java de cette semaine du 16 mai 2022 présente des nouvelles d'OpenJDK pour le JDK 19, Jakarta EE 10, les versions milestone et ponctuelles de Spring et les CVE, la version de la plate-forme Payara de mai 2022, Quarkus 2.9.1.Final, Micronaut 3.4.4, WildFly 16.1.1, Hibernate ORM 5.6.9.Final, Hibernate Reactive 11.5.Final, JDKMon 17.0.25, JobRunr 5.1.2, JReleaser early-access, les releases d'Apache Tomcat et Apache Camel 3.17.0.

OpenJDK

Bien que son examen d'une semaine se soit terminé le 19 mai 2022, la JEP 405, Record Patterns (Preview), reste toujours au statut Proposed to Target pour le JDK 19. Cette JEP, sous les auspices du projet Amber, propose d'améliorer le langage avec des records patterns pour déconstruire les valeurs des records. Les record patterns peuvent être utilisés conjointement avec les type patterns pour "permettre une forme puissante, déclarative et composable de navigation et de traitement des données". Les types patterns ont été récemment étendus pour une utilisation dans les étiquettes de case switch via la JEP 406, Pattern Matching for switch (Preview) (livrée dans le JDK 17), et la JEP 420, Pattern Matching for switch (Second Preview) (fournie dans le JDK 18).

La JEP 428, Structured Concurrency (Incubator), a été promue de son statut JEP Draft 8277129 à Candidate. Cette JEP en incubation, sous les auspices du projet Loom, propose de simplifier la programmation multithread en introduisant une bibliothèque pour traiter plusieurs tâches exécutées dans différents threads comme une seule unité de travail. Cela peut rationaliser la gestion des erreurs et l'annulation, améliorer la fiabilité et améliorer l'observabilité.

JDK 19

Le build 23 du JDK 19 early-access builds a été mis à disposition la semaine dernière, avec des mises à jour du build 22 qui incluent des correctifs pour divers problèmes. Plus de détails peuvent être trouvés dans les release notes.

Alors que la date cible établie pour la phase 1 de Rampdown approche le 9 juin 2022, l'ensemble de fonctionnalités pour le JDK 19 est actuellement à ces six fonctionnalités :

Les développeurs sont encouragés à signaler les bugs via la Java Bug Database.

Jakarta EE

En route vers Jakarta EE 10, Ivar Grimstad, Jakarta EE developer advocate à la Fondation Eclipse, a annoncé dans son blog Hashtag Jakarta EE hebdomadaire que la nouvelle date cible pour la spécification Jakarta EE 10 Platform pour entrer dans sa revue de version est le 9 juin 2022. Cette décision a été prise pour garantir que les applications d'entreprise seront entièrement compatibles avec les JDK 11 et JDK 17. En outre, Eclipse GlassFish, ayant récemment fourni une pré-version intermédiaire entre les versions 7.0.0-M4 et le prochain 7.0.0-M5, est en bonne voie pour passer le TCK pour le JDK 11, mais le travail n'est pas terminé pour passer le TCK sur le JDK 17.

Spring Framework

Ce fut une semaine très chargée pour l'équipe Spring, fournissant un certain nombre de versions ponctuelles, de versions importantes et de CVE liées à Spring Boot, Spring for GraphQL, Spring Data, Spring Session et Spring Security.

Spring Boot 2.7.0 a été publié pour offrir : l'auto-configuration et les métriques pour Spring for GraphQL 1.0 ; et de nouvelles annotations, @DataCouchbaseTest et @DataElasticsearchTest, pour les tests sur Couchbase et Elasticsearch, respectivement. Les mises à niveau de dépendances incluent : Spring Data 2021.2, Spring HATEOAS 1.5, Spring LDAP 2.4, Spring Security 5.7 et Spring Session 2021.2. Plus de détails sur cette version peuvent être trouvés dans les release notes. InfoQ suivra avec une nouvelle plus détaillée.

Spring Boot 2.6.8 a été publié avec 35 corrections de bugs, améliorations de la documentation et mises à niveau des dépendances. Plus de détails sur cette version peuvent être trouvés dans les release notes.

Spring Boot 2.5.14 a été publié avec 29 corrections de bugs, améliorations de la documentation et mises à niveau des dépendances. Le train de versions 2.5 a atteint sa fin de vie et les développeurs devraient envisager de passer à une version supérieure de Spring Boot. Plus de détails sur cette version peuvent être trouvés dans les release notes.

En route vers Spring Boot 3.0.0, une troisième version milestone a été mise à disposition avec : l'auto-configuration pour Micrometer Observation, Tracing, et OtlpMeterRegistry ; et la prise en charge de REST Assured et Pooled JMS a été rétablie. Plus de détails sur cette version peuvent être trouvés dans les release notes.

Deux ans depuis le premier commit et 10 mois depuis qu'il ait été présenté pour la première fois à la communauté Java, Spring for GraphQL 1.0 a été publié avec : un modèle de programmation basé sur des annotations pour les récupérateurs de données ; les référentiels Querydsl et Query by Example en tant que récupérateurs de données ; l'amélioration du serveur, du client et des tests sur HTTP, WebSocket et RSocket ; et la sécurité au niveau du champ grâce à des annotations sur les méthodes de données des @Controller. InfoQ suivra avec une nouvelle plus détaillée.

Spring Data 2021.2 et la quatrième version milestone de 2022.0 ont été mises à disposition. Le train de versions 2022.0 sera basé sur Spring Framework 6, JDK 17 et Jakarta EE 9. Les fonctionnalités de Spring Data 2021.2, dont le nom de code est Raj, incluent : les méthodes déclaratives Update dans le module data-mongodb ; la prise en charge améliorée de la gestion de @IdClass dans le module data-jpa ; la prise en charge de la réindexation dans le module data-elasticsearch ; et les projections directes pour le module data-cassandra. Plus de détails sur cette version peuvent être trouvés dans les release notes.

Spring Session 2021.2 a été publié avec une mise à niveau de dépendance vers Spring Data 2021.2. Cette version est également une passerelle vers la prochaine génération de Spring Session qui sera basée sur Spring Framework 6.0.

La CVE-2022-22978, Authorization Bypass in RegexRequestMatcher, a été publiée, mais identifiée par inadvertance comme CVE-2022-22975. Les applications utilisant une instance de RegexRequestMatcher avec '.' dans une expression régulière sont potentiellement vulnérables à un contournement d'autorisation.

La CVE-2022-22976, BCrypt Skips Salt Rounds for Work Factor of 31, a également été publiée pour adresser une erreur de débordement d'entier qui empêche l'encodeur d'effectuer des arrondis du salt.

Les versions 5.7.1, 5.6.5 et 5.5.8 de Spring Security ont été publiées pour fournir un correctif de bug où une instance de la classe StrictHttpFirewall rejette à tort les caractères chinois, le japonais, le coréen et le vietnamien valides (CJKV).

Les versions 5.7.0, 5.6.4, 5.5.7 de Spring Security ont également été publiées pour corriger les vulnérabilités CVE-2022-22978 et CVE-2022-22976 mentionnées ci-dessus.

En route vers Spring Security 6.0.0, la cinquième version milestone a été mise à disposition pour apporter des changements notables tels que : l'autorisation requise pour chaque type de dispatch ; changer la valeur par défaut de la propriété shouldFilterAllDispatchTypes en true ; modifier le filtre de contexte de sécurité par défaut pour passer de SecurityContextPersistenceFilter à la classe SecurityContextHolderFilter  ; et supprimer toutes les dépréciations définies dans l'API SAML. Cette version inclut également le correctif où une instance de la classe StrictHttpFirewall rejette à tort les caractères CJKV valides.

Payara

Payara a publié l'édition de mai 2022 de leur Payara Platform en tant que version réservée aux entreprises. L'édition Payara Platform Enterprise 5.39.0 propose quatre correctifs de bugs, deux mises à niveau de composants et cinq améliorations, notamment : la prise en charge du JDK 17 ; et la possibilité de spécifier les options de délai d'attente lors de l'appel de la console d'administration. Plus de détails sur cette version peuvent être trouvés dans les release notes.

Quarkus

Une semaine après la sortie de Quarkus 2.9.0, Red Hat a fourni une version de maintenance avec Quarkus 2.9.1.Final qui propose des corrections de bugs et des améliorations dans la documentation ainsi que des mises à niveau de dépendance qui incluent : GraalVM 22.1, Hibernate Reactive 1.1.5.Final, Hibernate ORM 5.6.9.Final, Micrometer BOM 1.8.6 et Infinispan 13.0.10.Final. Plus de détails sur cette version peuvent être trouvés dans le changelog.

Micronaut

La Fondation Micronaut a publié Micronaut 3.4.4 avec des mises à jour des modules Micronaut : Micronaut Maven Plugin 3.2.4, Micronaut SQL 4.2.3, Micronaut JAX-RS 3.2.1, Micronaut Oracle Cloud 2.1.3, Micronaut MQTT 2.1.1 et Micronaut OpenAPI 4.0.1. Plus de détails sur cette version peuvent être trouvés dans les release notes.

WildFly

Cinq semaines après la sortie de WildFly 26.1, Red Hat a fourni une version de maintenance avec la version 26.1.1 comprenant de nombreuses mises à niveau de composants, notamment : WildFly Core 18.1. 1.Final, Smallrye Config 2.10.0, Smallrye Health 3.2.1, Netty 4.1.76 et RESTEasy 6.0.1.Final. Plus de détails sur cette version peuvent être trouvés dans les release notes.

Hibernate

JBoss a fourni des mises à jour sur Hibernate ORM et Hibernate Reactive la semaine dernière.

Hibernate ORM 5.6.9.Final, une version de maintenance de la série de versions 5.6, fournit des correctifs et des corrections de bugs critiques.

Hibernate Reactive 1.1.5.Final fournit une correction de bug critique pour les développeurs utilisant les interfaces Stage.SessionFactory et Stage.Session. Les développeurs doivent également effectuer une mise à niveau vers cette dernière version si leur application génère occasionnellement le message d'erreur "No Vert.x context active".

JDKMon

La dernière version de JDKMon, un nouvel outil qui surveille et met à jour les JDK installés, a été mis à la disposition de la communauté Java. Créée par Gerrit Grunwald, ingénieur principal chez Azul, la version 17.0.25 est livrée avec : des correctifs liés à la version Linux ; et l'indicateur pour les CVE a été remplacé par un nouveau.

JobRunr

Ronald Dehuysser, fondateur et principal développeur de JobRunr, un utilitaire permettant d'effectuer un traitement en arrière-plan en Java, a publié la version 5.1. 2 avec : la prise en charge de la fourniture d'un intervalle au lieu de l'expression cron avec l'annotation @Recurring ; et autoriser une instance de la classe JobContext à être définie dans les tests MockJobContext.

JReleaser

Une version early-access mise à jour de JReleaser a été mis à disposition la semaine dernière avec : des mises à niveau de dépendance vers aws-java-sdk 1.12.220, jsonschema 4.24.3, sshj 0.33.0, tika 2.4.0 et faux 4.5.1.

Apache Tomcat

Ce fut également une semaine chargée pour l'équipe Apache Tomcat car ils ont fourni des versions ponctuelles pour les trains de versions 9.0, 10.0 et 10.1.

Les versions 9.0.63, 10.0.21 et 10.1.0-M5 contiennent toutes : une propriété source qui extrait les valeurs des liaisons de service Kubernetes ; l'identification de la cause première du bug Linux kernel duplicate accept ; une mise à niveau des dépendances vers Tomcat Native Library 1.2.3 pour prendre en charge les binaires Windows construits avec OpenSSL 1.1.1o ; et la prise en charge des clés privées au format PKCS#1 lors de la configuration du key store interne en mémoire.

Apache Tomcat 10.1.0-M15 est une version alpha milestone pour fournir aux développeurs un accès anticipé aux nouvelles fonctionnalités de la série de versions d'Apache Tomcat 10.1.

Apache Camel

L'Apache Software Foundation a publié Apache Camel 3.17.0 avec 220 corrections de bugs, des améliorations et les mises à niveau de dépendance qui incluent : Spring Boot 2.6.7 ; Kamelets 0.8.1 pour le module camel-jbang ; Google Cloud Libraries BOM 25.2.0; Jakarta Mail 1.6 (Jakarta EE 8) ; et le module maven-bundle-plugin pour résoudre les problèmes de reproductibilité OSGi. Plus de détails sur cette version peuvent être trouvés dans les release notes.

 

Au sujet de l’Auteur

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT