Le tour d'horizon dans l'écosystème Java de cette semaine présente des nouvelles d'OpenJDK promouvant la JEP 411 au statut candidate, Kotlin 1.5.0-RC, Piranha Cloud 21.4.0, les versions de Weld CDI, CloudBees diffusant Jenkins X 3.0, de nombreuses versions releases et candidates liées au projet Spring et un nouvel utilitaire en ligne de commande pour Atlassian JIRA introduit par David Blevins.
Ce fut une semaine très calme pour les JEP d'OpenJDK comme seule la JEP 411, Deprecate the Security Manager for Removal, a été promue au statut candidate. Cela rend obsolète le Security Manager pour suppression dans une version ultérieure. Pendant de nombreuses années, le Security Manager n'a pas été le principal moyen de sécuriser le code Java côté client et a rarement été utilisé pour sécuriser le code côté serveur. L'intention est de déprécier le Security Manager, introduit dans Java 1.0, pour le supprimer conjointement avec la JEP 398, Deprecate the Applet API for Removal. Il y avait des inquiétudes au sein de la communauté Java car cela pourrait avoir un effet significatif sur le développement futur de Jakarta EE. Comme mentionné dans la section risques et hypothèses de la JEP 411 :
Jakarta EE a plusieurs exigences concernant le Security Manager. Celles-ci doivent être soit assouplies, soit supprimées pour que les applications conformes puissent s'exécuter sur les futures versions de Java une fois que le Security Manager est déprécié puis supprimé.
InfoQ fera un suivi avec une publication plus détaillée.
JetBrains a publié Kotlin 1.5.0-RC avec des mises à jour des fonctionnalités expérimentales introduites pour la première fois dans Kotlin 1.4.30. InfoQ a récemment signalé ces fonctionnalités expérimentales qui devraient être stables dans la prochaine version GA de Kotlin 1.5.0.
David Blevins, CEO de Tomitribe, propose un nouvel utilitaire en ligne de commande pour Atlassian JIRA nommé Jamira. Cela remplacera à terme le Swizzle JIRA, un projet Codehaus qui a été arrêté après la suppression de l'API XML-RPC de JIRA 7.0 et la disparition de Codehaus. Jamira est basé sur CREST, un projet d'API en ligne de commande proposé par Tomitribe.
Dans son article de blog mensuel, Piranha a annoncé la sortie de Piranha Cloud 21.4.0 avec : une version minimale de Java mise à jour vers Java 16; testée sur les versions en accès anticipé de Java 17; et prise en charge d'un mélange de bibliothèques Jakarta EE dans Piranha Server et Piranha Micro. Une liste complète des modifications est disponible sur leur issues page.
Concernant Weld, les versions 4.0.1.SP1 et 3.1.7.SP1 de l'implémentation de référence de la spécification CDI ont été diffusées pour corriger plusieurs failles découvertes dans la nouvelle classe pour JDK 11+. Les deux principaux problèmes étaient les suivants : les producteurs retournant un type d'interface pouvaient parfois essayer de définir une classe proxy avec un nom non valide (WELD-2662); et les noms de classe proxy pour les structures de type hiérarchique des interfaces peuvent conduire à une combinaison confuse de package et de nom (WELD-2666).
Dans l'espace Java DevOps, CloudBees a publié Jenkins X 3.0 avec de nouvelles fonctionnalités et des modifications de la plate-forme. Une présentation complète de Jenkins X 3.0 est disponible sur YouTube.
Et enfin, ce fut une semaine très chargée pour Spring avec un certain nombre de versions releases et de versions candidates sur certains de leurs projects qui ont été mises à la disposition de la communauté Java.
Spring Framework 5.3.6 et 5.2.14 ont été publiés avec 19 corrections de bugs et améliorations dans la version 5.3.6 et 11 corrections de bugs et améliorations dans la version 5.2.14.
En préparation de la sortie GA à la mi-mai, Spring Boot 2.5.0-RC1 est rendu disponible avec de nouvelles fonctionnalités telles que : un nouvel endpoint de l'actuator pour le scheduler Quartz; la prise en charge de l'initialisation de la base de données avec R2DBC; la prise en charge des métriques Micrometer pour les repositories Spring Data et MongoDB; et la prise en charge de Gradle 7.0.
Spring for Apache Kafka 2.7.0 a été publié avec une amélioration significative liée aux échecs de livraison et tentatives non bloquantes. Vous trouverez plus de détails dans la section what's new de la documentation.
Les versions contenant des correctifs de Spring Security 5.2.10, 5.3.9 et 5.4.6 ont été mises à disposition pour apporter des corrections de bugs avec quelques améliorations mineures. Pendant ce temps, Spring Security 5.5.0, dont la sortie est prévue pour la mi-mai, a atteint le statut RC1. Les développeurs peuvent s'attendre à des changements notables tels que : l'authentification de client JWT et la prise en charge des autorisations bearer pour les clients OAuth 2.0; AuthorizationManager
, une nouvelle API d'autorisation; prise en charge des coroutines Kotlin pour la sécurité des méthodes réactives; et prise en charge d'OpenSAML 4. De plus amples informations sont disponibles dans les releases notes.
Spring Integration 5.4.6 et 5.3.7 ont été publiés avec un certain nombre de corrections de bugs et d'améliorations. Spring Integration 5.5, actuellement une version candidate, introduira un nouveau composant, File Aggregator, pour couvrir l'autre côté d'un File Splitter en cas d'utilisation lorsque les marqueurs START/END sont activés. Plus de détails peuvent être trouvés dans la section what's new de la documentation et dans le migration guide qui fournissent une liste des changements.
Spring Data for Apache Solr a été prévu pour être abandonné en raison d'un déclin de l'intérêt de la communauté, des demandes de fonctionnalités et des rapports de bugs. Ce projet restera cependant intégré à Spring Data dans les releases Neumann et Ockham.