Resumen de noticias de Java: OpenJDK, actualizaciones de Spring y CVE, plataforma Payara, actualizaciones de Apache Tomcat

El resumen de Java de esta semana para el 16 de mayo de 2022 presenta noticias de OpenJDK para JDK 19, Jakarta EE 10, hitos de primavera y lanzamientos puntuales y CVE, lanzamiento de la plataforma Payara de mayo de 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, acceso anticipado a JReleaser, versiones puntuales de Apache Tomcat y Apache Camel 3.17.0.

OpenJDK

A pesar de que su revisión de una semana finalizó el 19 de mayo de 2022, JEP 405, Patrones de registro (vista previa) , aún permanece como Propuesto para el estado objetivo para JDK 19. Este JEP, bajo los auspicios del Proyecto Amber , propone mejorar el lenguaje con patrones de registro para deconstruir valores de registro. Los patrones de registro se pueden usar junto con los patrones de tipo para “habilitar una forma poderosa, declarativa y componible de navegación y procesamiento de datos”. Los patrones de tipos se ampliaron recientemente para su uso en 

switch
etiquetas de cajas a través de JEP 406, Coincidencia de patrones para cambio (Vista previa) (entregado en JDK 17), y JEP 420, Coincidencia de patrones para cambio (Segunda vista previa) (entregado en JDK 18).

La JEP 428, Concurrencia Estructurada (Incubadora) , fue promovida de su JEP Draft 8277129 a Candidata . Este JEP en incubación , bajo los auspicios de Project Loom , propone simplificar la programación de subprocesos múltiples mediante la introducción de una biblioteca para tratar múltiples tareas que se ejecutan en diferentes subprocesos como una sola unidad de trabajo. Esto puede agilizar el manejo y la cancelación de errores, mejorar la confiabilidad y mejorar la observabilidad.

JDK 19

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

A medida que la fecha objetivo establecida para Rampdown Phase 1 se acerca al 9 de junio de 2022, el conjunto de funciones para JDK 19 actualmente se encuentra en estas seis funciones:

Se alienta a los desarrolladores a informar errores a través de la base de datos de errores de Java .

Yakarta EE. UU.

En el camino hacia Jakarta EE 10, Ivar Grimstad , promotor de desarrolladores de Jakarta EE en la Fundación Eclipse, anunció en su blog semanal Hashtag Jakarta EE que la nueva fecha objetivo para que la especificación de la plataforma Jakarta EE 10 ingrese a su revisión de lanzamiento es el 9 de junio de 2022. Esta decisión se tomó para garantizar que las aplicaciones empresariales sean totalmente compatibles con JDK 11 y JDK 17. Además, Eclipse GlassFish , que recientemente proporcionó una versión preliminar intermedia entre las versiones 7.0.0-M4 y la próxima 7.0.0-M5, está en camino de aprobar el TCK para JDK 11, pero queda trabajo por hacer para aprobar el TCK en JDK 17.

marco de primavera

Fue una semana muy ocupada para el equipo de Spring, que proporcionó una serie de lanzamientos puntuales, lanzamientos de hitos y CVE relacionados con Spring Boot , Spring para GraphQL , Spring Data , Spring Session y Spring Security .

Spring Boot 2.7.0 se lanzó para ofrecer: configuración automática y métricas para Spring para GraphQL 1.0 ; y nuevas anotaciones, 

<a href="https://docs.spring.io/spring-boot/docs/2.7.0-M3/api/org/springframework/boot/test/autoconfigure/data/couchbase/DataCouchbaseTest.html">@DataCouchbaseTest</a>
<a href="https://docs.spring.io/spring-boot/docs/2.7.0-M3/api/org/springframework/boot/test/autoconfigure/data/elasticsearch/DataElasticsearchTest.html">@DataElasticsearchTest</a>
, para probar en Couchbase y Elasticsearch, respectivamente. Las actualizaciones de dependencia incluyen: Spring Data 2021.2, Spring HATEOAS 1.5, Spring LDAP 2.4, Spring Security 5.7 y Spring Session 2021.2. Se pueden encontrar más detalles sobre esta versión en las notas de la versión . InfoQ seguirá con una noticia más detallada.

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

Se lanzó Spring Boot 2.5.14 con 29 correcciones de errores, mejoras en la documentación y actualizaciones de dependencias. El tren de lanzamiento 2.5 ha llegado al final de su vida útil y los desarrolladores deberían considerar actualizar a una versión superior de Spring Boot. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

En el camino hacia Spring Boot 3.0.0, se puso a disposición el tercer hito que incluye: configuración automática para la observación, el rastreo y el micrómetro 

<a href="https://github.com/quarkusio/quarkus/issues/25522">OtlpMeterRegistry</a>
; y se restableció el soporte para REST Assured y Pooled JMS. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Dos años desde la primera confirmación y 10 meses desde que se presentó por primera vez a la comunidad de Java, se lanzó Spring para GraphQL 1.0 que incluye: un modelo de programación basado en anotaciones para buscadores de datos; Los repositorios Querydsl y Query by Example como buscadores de datos; servidor, cliente y pruebas mejorados sobre HTTP, WebSocket y RSocket; y seguridad a nivel de campo a través de anotaciones en 

@Controller
métodos de datos. InfoQ seguirá con una noticia más detallada.

Spring Data 2021.2 y la cuarta versión de hito de 2022.0 están disponibles . El tren de lanzamiento de 2022.0 se basará en Spring Framework 6, JDK 17 y Jakarta EE 9. Las características de Spring Data 2021.2, cuyo nombre en código es Raj, incluyen: 

Update
métodos declarativos en el 
data-mongodb
módulo; soporte mejorado para 
@IdClass
el manejo en el 
data-jpa
módulo; soporte de reindexación en el 
data-elasticsearch
módulo; y proyecciones directas para el 
data-cassandra
módulo. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Se lanzó Spring Session 2021.2 con una actualización de dependencia a Spring Data 2021.2. Esta versión también es una puerta de entrada a la próxima generación de Spring Session que se construirá en Spring Framework 6.0.

Se emitió CVE-2022-22978, omisión de autorización en RegexRequestMatcher , pero se identificó inadvertidamente como CVE-2022-22975. Las aplicaciones que utilizan una instancia de la clase con ‘ ‘ en una expresión regular son potencialmente vulnerables a una omisión de autorización.

<a href="https://docs.spring.io/spring-security/site/docs/3.2.8.RELEASE/apidocs/org/springframework/security/web/util/RegexRequestMatcher.html">RegexRequestMatcher</a>
.

CVE-2022-22976, BCrypt Skips Salt Rounds for Work Factor of 31 , también se emitió para abordar un error de desbordamiento de enteros que hace que el codificador no realice ninguna ronda salt.

Se han lanzado las versiones 5.7.1, 5.6.5 y 5.5.8 de Spring Security que ofrecen una corrección de errores en la que una instancia de la 

<a href="https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/web/firewall/StrictHttpFirewall.html">StrictHttpFirewall</a>
clase rechaza incorrectamente los caracteres chinos, japoneses, coreanos y vietnamitas (CJKV) válidos.

También se han lanzado las versiones 5.7.0, 5.6.4 y 5.5.7 de Spring Security para abordar las vulnerabilidades CVE-2022-22978 y CVE-2022-22976 antes mencionadas.

En el camino hacia Spring Security 6.0.0, el lanzamiento del quinto hito estuvo disponible para ofrecer cambios notables como: autorización requerida en cada tipo de envío; cambie el valor predeterminado de la 

shouldFilterAllDispatchTypes
propiedad a 
true
; cambie el filtro de contexto de seguridad predeterminado de la 
<a href="https://docs.spring.io/spring-security/site/docs/3.2.8.RELEASE/apidocs/org/springframework/security/web/context/SecurityContextPersistenceFilter.html">SecurityContextPersistenceFilter</a>
clase a la 
<a href="https://docs.spring.io/spring-security/site/docs/6.0.0-M3/api/org/springframework/security/web/context/SecurityContextHolderFilter.html">SecurityContextHolderFilter</a>
clase; y elimine todas las obsolescencias definidas en la API de SAML. Esta versión también incluye la corrección en la que una instancia de la 
<a href="https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/web/firewall/StrictHttpFirewall.html">StrictHttpFirewall</a>
clase rechaza incorrectamente los caracteres CJKV válidos.

Payara

Payara ha lanzado la edición de mayo de 2022 de su plataforma Payara como un lanzamiento solo para empresas. La edición Payara Platform Enterprise 5.39.0 ofrece cuatro correcciones de errores, dos actualizaciones de componentes y cinco mejoras que incluyen: soporte para JDK 17; y la capacidad de especificar las opciones de tiempo de espera al invocar la Consola de administración. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Quarkus

Una semana después del lanzamiento de Quarkus 2.9.0, Red Hat ha proporcionado una versión de mantenimiento con Quarkus 2.9.1.Final que presenta correcciones de errores y mejoras en la documentación junto con actualizaciones de dependencia que incluyen: GraalVM 22.1, Hibernate Reactive 1.1.5.Final , Hibernate ORM 5.6.9.Final, Micrometer BOM 1.8.6 e Infinispan 13.0.10.Final. Se pueden encontrar más detalles sobre esta versión en el registro de cambios .

micronauta

La Fundación Micronaut ha lanzado Micronaut 3.4.4 con actualizaciones de los módulos de 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 y Micronaut API abierta 4.0.1. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Vuelo salvaje

Cinco semanas después del lanzamiento de WildFly 26.1, Red Hat ha proporcionado una versión de mantenimiento con la versión 26.1.1 que incluye muchas actualizaciones de componentes que incluyen: WildFly Core 18.1.1.Final, Smallrye Config 2.10.0, Smallrye Health 3.2.1, Netty 4.1 .76 y RESTEasy 6.0.1.Final. Se pueden encontrar más detalles sobre esta versión en las notas de la versión .

Hibernar

JBoss ha proporcionado actualizaciones sobre Hibernate ORM e Hibernate Reactive la semana pasada.

Hibernate ORM 5.6.9.Final, una versión de mantenimiento en el tren de versiones 5.6, ofrece parches y correcciones de errores críticos.

Hibernate Reactive 1.1.5.Final ofrece una corrección de errores críticos para los desarrolladores que utilizan las interfaces 

<a href="https://hibernate.org/reactive/documentation/1.0/javadocs/org/hibernate/reactive/stage/Stage.SessionFactory.html">Stage.SessionFactory</a>
y . 
<a href="https://hibernate.org/reactive/documentation/1.0/javadocs/org/hibernate/reactive/stage/Stage.Session.html">Stage.Session</a>
Los desarrolladores también deben actualizar a esta última versión si su aplicación genera un mensaje de error ocasional ” No Vert.x context active “.

JDKMon

La última versión de JDKMon , una nueva herramienta que monitorea y actualiza los JDK instalados, se ha puesto a disposición de la comunidad de Java. Creada por Gerrit Grunwald , ingeniero principal de Azul, la versión 17.0.25 incluye: correcciones relacionadas con la versión de Linux; y el indicador de CVE ha sido reemplazado por uno nuevo.

TrabajoRunr

Ronald Dehuysser , fundador y desarrollador principal de JobRunr , una utilidad para realizar procesamiento en segundo plano en Java, ha lanzado la versión 5.1.2 que incluye: soporte para proporcionar un intervalo en lugar de una expresión cron con la 

<a href="https://github.com/jobrunr/jobrunr/blob/master/framework-support/jobrunr-micronaut-feature/src/main/java/org/jobrunr/micronaut/annotations/Recurring.java">@Recurring</a>
anotación; y permitir que se establezca una instancia de la 
<a href="https://www.javadoc.io/doc/org.jobrunr/jobrunr/latest/org/jobrunr/jobs/context/JobContext.html">JobContext</a>
clase en las 
<a href="https://www.javadoc.io/doc/org.jobrunr/jobrunr/latest/org/jobrunr/server/runner/MockJobContext.html">MockJobContext</a>
pruebas.

JReleaser

La semana pasada se puso a disposición una versión actualizada de acceso temprano de JReleaser que incluye: actualizaciones de dependencia a 

aws-java-sdk
1.12.220, 
jsonschema
4.24.3, 
sshj
0.33.0, 
tika
2.4.0 y 
mockito
4.5.1.

gato apache

También fue una semana ocupada para el equipo de Apache Tomcat , ya que proporcionaron lanzamientos puntuales para los trenes de lanzamiento 9.0, 10.0 y 10.1.

Las versiones 9.0.63 , 10.0.21 y 10.1.0-M5 cuentan con: una fuente de propiedad que obtiene valores de los enlaces de servicio de Kubernetes; identificación de la causa raíz del error de aceptación del duplicado del kernel de Linux ; una actualización de dependencia a Tomcat Native Library 1.2.3 para admitir archivos binarios de Windows creados con OpenSSL 1.1.1o ; y compatibilidad con claves privadas cifradas con formato PKCS#1 al configurar el almacén de claves interno en memoria.

Apache Tomcat 10.1.0-M15 es una versión de hito alfa que brinda a los desarrolladores acceso anticipado a las nuevas funciones en el tren de lanzamiento de Apache Tomcat 10.1.

camello apache

Apache Software Foundation ha lanzado Apache Camel 3.17.0 con 220 correcciones de errores, mejoras y actualizaciones de dependencias que incluyen: Spring Boot 2.6.7; Kamelets 0.8.1 para el 

camel-jbang
módulo; Bibliotecas de Google Cloud BOM 25.2.0; Correo de Yakarta 1.6 (Yakarta EE 8); y el 
maven-bundle-plugin
módulo para solucionar problemas de reproducibilidad de OSGi. Se pueden encontrar más detalles de esta versión en las notas de la versión .