Le tour d'horizon dans l'écosystème Java de cette semaine du 6 septembre 2021 présente des nouvelles d'OpenJDK, une proposition visant à accélérer la cadence de publication de JDK LTS de trois ans à deux ans, JDK 18, Liberica JDK 17, des mises à jour de Spring Framework, Spring Data et Spring Tools 4, Payara Platform, Helidon, JDK 17 versions de développement de GraalVM, Hibernate, Piranha, Apache Camel, JobRunr 4.0 et l'enquête 2021 Jakarta EE Developer.
OpenJDK
La JEP 417, API vectorielle (troisième incubateur), a été promu de Candidate à Targeted pour le JDK 18. Parallèlement aux améliorations de performances, cette JEP propose d'intégrer des améliorations en réponse aux commentaires des deux cycles d'incubation précédents : la JEP 414, Vector API (Second Incubator) et JEP 338, Vector API (Incubator). La JEP 338 a été intégré en tant que module incubator dans le JDK 16 et la JEP 414 a été livré dans JDK 17.
Parallèlement à la version de Java 17, Mark Reinhold, architecte en chef, Java Platform Group chez Oracle, a proposé une accélération de la cadence de sortie actuelle des versions à support à long terme (LTS) de tous les trois ans à tous les deux ans. Mark Reinhold déclare que cette proposition n'aurait aucun effet sur les releases de fonctionnalités principales dans le projet JDK, mais affecterait cependant les JDK Updates Projects en termes de travail supplémentaire. InfoQ suivra avec un reportage plus détaillé.
Jim Laskey, directeur du développement logiciel chez Oracle, et Brian Goetz, architecte du langage Java chez Oracle, ont ressuscité leur proposition d'offrir une interpolation de chaînes au-delà des blocs de texte introduits dans Java 15. En tant que fonctionnalité couramment demandée, l'interpolation de chaînes présente des avantages dans le langage de programmation Java. Cependant, Jim Laskey et Brian Goetz s'inquiètent d'éventuelles attaques par injection et des limitations de la localisation et du formatage.
JDK 17
Oracle a publié la version 17 du langage de programmation Java et de la machine virtuelle la semaine dernière. En tant que première version de support à long terme (LTS) depuis JDK 11 en 2018, il y a 14 JEP dans l'ensemble de fonctionnalités final. Une actualité InfoQ plus détaillée sur cette dernière version peut être trouvée ici.
JDK 18
Le Build 15 du JDK 18 early-access builds a été rendue disponible la semaine dernière avec des mises à jour de 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 18, les développeurs sont encouragés à signaler les bugs via la Java Bug Database.
Liberica JDK 17
BellSoft a publié leur dernière distribution d'OpenJDK, Liberica JDK 17, offrant des fonctionnalités et des outils supplémentaires tels que LibericaFX, une instance de JavaFX, et Liberica Native Image Kit pour les images natives.
Spring Framework
Après une semaine précédente très calme, Spring a eu une semaine chargée car il y a eu un certain nombre de versions ponctuelles de certain de leurs projets.
Les versions mineures de Spring Framework version 5.3.10 et version 5.2.17.RELEASE ont été mises à disposition avec 45 corrections de bugs et 13 corrections de bugs, respectivement, qui comprenaient des mises à niveau de dépendances et des améliorations de la documentation pour les deux versions.
Spring Data 2021.0.5 et 2020.0.13 étaient publié avec des mises à niveau des dépendances et des corrections de bugs pour les deux versions qui sont basées sur Spring Framework 5.3.10. Ces versions peuvent être utilisées avec les prochaines versions de Spring Boot 2.5.5 et 2.4.11, respectivement.
Sur la route de Spring Data 2021.1.0, la troisième version milestone a été mise à disposition avec de nombreuses mises à niveau de dépendances, des corrections de bugs et une prise en charge améliorée de MongoDB, Redis, Elasticsearch et Neo4J. Spring Data 2021.1.0-M3 peut être utilisé avec la prochaine version de Spring Boot 5.6.0-M3. Il s'agit également de la dernière étape avant une phase RC prévue à la mi-octobre et une sortie GA en novembre.
La version 4.12.0 de Spring Tools 4 pour Eclipse, Visual Studio Code et Theia a été publiée la semaine dernière avec une mise à jour d'Eclipse 2021-09, la prise en charge de Java 17 via un plugin séparé, et les early-access builds pour la plate-forme Apple Silicon (ARM M1).
Payara
Payara a publié son édition de septembre 2021 de Payara Platform. Payara Platform Community 5.2021.7 et Payara Platform Enterprise 5.31.0 contiennent chacun 10 correctifs de bugs, une mise à niveau de composants, un correctif de sécurité et une nouvelle fonctionnalité. Le correctif de sécurité était nécessaire en raison de la découverte d'une vulnérabilité Path Traversal dans laquelle, dans certaines conditions, un pirate être capable de lire dans le système de fichiers du serveur exécutant une application. Vous trouverez plus de détails dans les notes de version des éditions Community et Enterprise.
Hélidon
Oracle a publié Helidon 2.3.3 avec des corrections de bugs et des améliorations des performances des composants WebServer, WebClient, Fault Tolerance, Tracing et Metrics. Vous trouverez plus de détails dans les release notes.
GraalVM
Development builds de GraalVM basé sur le JDK 17 a été mis à disposition pour la communauté Java. Les développeurs sont encouragés à expérimenter ces versions et à faire part de leurs retours.
Hibernate
Hibernate a annoncé un "all systems go for Java 17", ce qui signifie que leurs branches maintenues ont été régulièrement testées avec les premières versions d'OpenJDK 17. Plus précisément, ces branches incluent Hibernate ORM 5.3+, Hibernate Search 5.11+ et Hibernate Validator 6.2+.
Piranha
Piranha 21.9.0 a été publié. Surnommée l'édition « small steps », cette version comprend : un nouveau groupId et artificialId pour Piranha Micro pour refléter qu'il fait désormais partie d'un projet multi-modules ; et des correctifs pour certains problèmes du TCK. Vous trouverez plus de détails dans leur documentation et dans leur outil de suivi des problèmes.
Apache Camel
Apache a publié Camel 3.11.2, une version LTS contenant 28 corrections de bugs et améliorations y compris les mises à niveau des dépendances vers Spring Boot 2.5.4, Apache Commons Compress 1.21, XChange 5.0.11 et Camel Karaf. Vous trouverez plus de détails dans lesrelease notes.
JobRunr
JobRunr, un utilitaire pour effectuer un traitement en arrière-plan en Java, a publié la version 4.0 pour inclure un certain nombre de nouvelles fonctionnalités telles que : un mode de performance qui vérifie si un job peut être mis en cache ; les nouvelles interfaces JobRequest
et JobRequestHandler
pour créer de nouvelles tâches en arrière-plan ; et une mise à jour de JobRunr Spring Boot Starter, une nouvelle intégration Micronaut et une nouvelle extension Quarkus. InfoQ suivra avec une nouvelle plus détaillée.
Jakarta EE Survey
Le rapport d'enquête sur les développeurs Jakarta EE 2021 a été mis à la disposition de la communauté Java. Voici quelques faits saillants du résumé analytique :
- La communauté Jakarta EE recherche une assistance plus rapide de la part des fournisseurs Java EE/Jakarta EE et cloud existants
- Plus de 48 % des personnes interrogées ont déjà migré vers Jakarta EE ou prévoient de le faire dans les 6 à 24 prochains mois
- Spring/Spring Boot continue d'être le principal framework pour la création d'applications cloud natives (60 %), sa part ayant augmenté de 16 points (contre 44 % en 2020)
- L'adoption de MicroProfile est passée à 34 % (contre 29 % en 2020)
Au total, 940 développeurs ont participé à cette enquête du 6 avril au 31 mai 2021.