Resumen de noticias de Java: Borrador de la API Classfile, Spring Boot, GlassFish, Project Reactor, Micronaut

El resumen de Java de esta semana para el 20 de junio de 2022 presenta noticias de OpenJDK, JDK 19, JDK 20, lanzamientos de Spring Point, GlassFish 7.0.0-M6, GraalVM Native Build Tools 0.9.12, Micronaut 3.5.2, Quarkus 2.10.0, Project Reactor 2022.0.0-M3, Apache Camel Quarkus 2.10.0 y Apache Tika versiones 2.4.1 y 1.28.4.

OpenJDK

Brian Goetz , arquitecto del lenguaje Java en Oracle, actualizó recientemente JEP Draft 828039, Classfile API , para proporcionar información básica sobre cómo evolucionará este borrador y, en última instancia, reemplazará el marco de análisis y manipulación de bytecode de Java, ASM , que Goetz caracteriza como “una base de código antigua con un montón de equipaje heredado”. Este JEP propone proporcionar una API para analizar, generar y transformar archivos de clase Java. Este JEP inicialmente servirá como un reemplazo interno para ASM en el JDK con planes para abrirlo como una API pública.

JDK 19

La compilación 28 de las compilaciones de acceso anticipado de JDK 19 estuvo disponible la semana pasada, con actualizaciones de la compilación 27 que incluyen soluciones a varios problemas . Se pueden encontrar más detalles en las notas de la versión .

JDK 20

La compilación 3 de las compilaciones de acceso temprano de JDK 20 también estuvo disponible la semana pasada, con actualizaciones de la compilación 2 que incluyen soluciones a varios problemas . Las notas de la versión aún no están disponibles.

Para JDK 19 y JDK 20 , se alienta a los desarrolladores a informar errores a través de la base de datos de errores de Java .

marco de primavera

Se lanzó Spring Boot 2.7.1 con 66 correcciones de errores, mejoras en la documentación y actualizaciones de dependencias como: Spring Framework 5.3.21, Spring Data 2021.2.1, Spring Security 5.7.2, Reactive Streams 1.0.4, Groovy 3.0.11 , Hazelcast 5.1.2 y Kotlin Coroutines 1.6.3. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Se lanzó Spring Boot 2.6.9 con 44 correcciones de errores, mejoras en la documentación y actualizaciones de dependencias similares a Spring Boot 2.7.1. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

VMware ha publicado CVE-2022-22980, Spring Data MongoDB SpEL Expression Injection Vulnerability , una vulnerabilidad en la que una “aplicación Spring Data MongoDB es vulnerable a la inyección SpEL cuando se utilizan 

@Query
métodos 
@Aggregation
de consulta anotados con expresiones SpEL que contienen marcadores de posición de parámetros de consulta para enlace de valor si la entrada no está higienizada”. Las versiones 3.4.1 y 3.3.5 de Spring Data MongoDB han resuelto esta vulnerabilidad.

Se lanzaron las versiones 2021.2.1 y 2021.1.5 de Spring Data con actualizaciones de todos los subproyectos de Spring Data, como Spring Data MongoDB, Spring Data Cassandra, Spring Data JDBC y Spring Data Commons. Estos lanzamientos también serán consumidos por Spring Boot 2.7.1 y 2.6.9, respectivamente, y abordan el CVE-2022-22980 mencionado anteriormente.

Spring Authorization Server 0.3.1 se ha lanzado con algunas mejoras y correcciones de errores. Sin embargo, el equipo decidió cambiar de JDK 11 a JDK 8 para mantener la compatibilidad y coherencia con Spring Framework, Spring Security 5.x y Spring Boot 2.x. Como resultado, la dependencia de HyperSQL (HSQLDB) también se degradó a la versión 2.5.2 porque HSQLDB 2.6.0 y superior requieren JDK 11. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Se han lanzado las versiones 5.7.2 y 5.6.6 de Spring Security que incluyen correcciones de errores y actualizaciones de dependencias. Ambas versiones comparten una nueva característica en la que los ejemplos de prueba se han actualizado para usar JUnit Jupiter, una parte integral de JUnit 5 . Se pueden encontrar más detalles sobre estas versiones en las notas de la versión para la versión 5.7.2 y la versión 5.6.6 .

Eclipse VidrioPez

En el camino hacia GlassFish 7.0.0, la Fundación Eclipse puso a disposición el sexto hito que ofrece una serie de cambios relacionados con la aprobación del Kit de compatibilidad tecnológica (TCK) para las especificaciones Jakarta Contexts and Dependency Injection 4.0 y Jakarta Concurrency 3.0 . Sin embargo, este lanzamiento histórico aún no ha superado el Jakarta EE 10 TCK completo. GlassFish 7.0.0-M6, considerada una versión beta, compila y se ejecuta en JDK 11 a JDK 18. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Herramientas de compilación nativas de GraalVM

En camino a la versión 1.0, Oracle Labs ha lanzado la versión 0.9.12 de Native Build Tools , un proyecto de GraalVM que consta de complementos para la interoperabilidad con GraalVM Native Image. Esta última versión proporciona: documentación de soporte para Mockito y Byte Buddy; evitar que las compilaciones fallen si no se ha proporcionado una lista de prueba; admitir diferentes modos de agente en el 

native-image
complemento Gradle, un cambio importante; y compatibilidad con metadatos de accesibilidad de JVM en Maven. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

micronauta

La Fundación Micronaut ha lanzado Micronaut 3.5.2 con correcciones de errores y versiones puntuales de los proyectos Micronaut Oracle Cloud 2.1.4 , Micronaut Email 1.2.3 y Micronaut Spring 4.1.1 . La documentación de la 

<a href="https://docs.micronaut.io/latest/api/io/micronaut/context/ApplicationContextConfigurer.html">ApplicationContextConfigurer</a>
interfaz también se actualizó para incluir una recomendación sobre cómo definir un entorno Micronaut predeterminado . Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Quarkus

Red Hat ha lanzado Quarkus 2.10.0. Presentación final: trabajo preliminar sobre subprocesos virtuales ( JEP 425 ) de Project Loom; admitir cargas de trabajo sin bloqueo en extensiones GraphQL; una actualización de dependencia a SmallRye Reactive Messaging 3.16.0; compatibilidad con el enlace del servicio Kubernetes para las extensiones de Reactive SQL Clients; y un nuevo contrato 

CacheKeyGenerator
para permitir la personalización de claves de caché generadas a partir de parámetros de método.

proyecto reactor

En el camino hacia Project Reactor 2022.0.0, se puso a disposición la tercera versión de hito con actualizaciones de dependencia a 

<a href="https://github.com/reactor/reactor-core/releases/tag/v3.5.0-M3">reactor-core 3.5.0-M3</a>
<a href="https://github.com/reactor/reactor-pool/releases/tag/v1.0.0-M3">reactor-pool 1.0.0-M3</a>
<a href="https://github.com/reactor/reactor-netty/releases/tag/v1.1.0-M3">reactor-netty 1.1.0-M3</a>
y .
<a href="https://github.com/reactor/reactor-addons/releases/tag/v3.5.0-M3">reactor-addons 3.5.0-M3</a>
<a href="https://github.com/reactor/reactor-kotlin-extensions/releases/tag/v1.2.0-M3">reactor-kotlin-extensions 1.2.0-M3</a>

Camello Apache Quarkus

Manteniendo la alineación con Quarkus, Apache Software Foundation ha lanzado Camel Quarkus 2.10.0 que contiene Camel 3.17.0 y Quarkus 2.10.0.Final. Las nuevas características incluyen: nuevas extensiones, Azure Key Vault y DataSonnet ; y eliminación de extensiones obsoletas en Camel 3.17.0. Se pueden encontrar más detalles sobre esta versión en la lista de ediciones .

apache tika

El equipo de Apache Tika ha lanzado la versión 2.4.1 de su kit de herramientas de extracción de metadatos. Anteriormente un subproyecto de Apache Lucene , esta última versión incluye personalización y configuración mejoradas, como: agregar un 

stop()
método a la 
<a href="https://tika.apache.org/2.4.1/api/org/apache/tika/server/core/TikaServerCli.html">TikaServerCli</a>
clase para que pueda ejecutarse con Apache Commons Daemon; permitir el paso del 
Content-Length
encabezado a los metadatos en la 
<a href="https://tika.apache.org/2.4.1/api/org/apache/tika/server/core/resource/TikaResource.html">TikaResource</a>
clase; y soporte para que los usuarios amplíen las propiedades del sistema desde el proceso de bifurcación a 
tika-server
procesos bifurcados.

Apache Tika 1.28.4 también se lanzó con correcciones de seguridad y actualizaciones de dependencia. Se pueden encontrar más detalles de esta versión en el registro de cambios . El tren de lanzamiento 1.x llegará al final de su vida útil el 30 de septiembre de 2022.