El resumen de Java de esta semana para el 15 de noviembre de 2021 presenta noticias de OpenJDK JEP, JDK 18, Project Loom, numerosos lanzamientos puntuales sobre proyectos de Spring, MicroProfile 5.0-RC2, Payara Platform, una nueva especificación Jakarta EE propuesta, JHipster 7.4.0, TornadoVM 0.12 , Apache Camel K 1.7 y Kotlin 1.6.0.
OpenJDK
JEP 419, API de memoria y función ajena (segunda incubadora) , ha sido ascendida de candidato a objetivo propuesto para JDK 18. Este JEP evoluciona la primera incubadora, JEP 412, API de memoria y función ajena (incubadora) , entregada en JDK 17, para incorporar mejoras basadas en los comentarios de la comunidad Java. Los cambios en esta segunda incubadora incluyen: soporte para más portadores en manejadores var de acceso a memoria como
JEP 420, Coincidencia de patrones para conmutador (segunda vista previa) , se ha promovido de Candidato a Propuesto a destino para JDK 18. Este JEP permite
Brian Goetz , arquitecto de lenguaje Java en Oracle, habló con InfoQ en septiembre de 2017 cuando la coincidencia de patrones aún se encontraba en su fase de prueba de concepto. La coincidencia de patrones para el
JEP 422, puerto Linux / RISC-V , ha sido promovido de borrador a estado de candidato . Este JEP propone portar el JDK a Linux / RISC-V, una arquitectura de conjunto de instrucciones RISC de código abierto y gratuito. Se admitirá el intérprete de plantillas, los compiladores JIT C1 y C2 y todos los GC de línea principal actuales, incluidos ZGC y Shenandoah. El objetivo principal de este JEP es integrar el puerto en el repositorio de la línea principal del JDK.
JDK 18
La compilación 24 de las compilaciones de acceso anticipado de JDK 18 estuvo disponible la semana pasada, con actualizaciones de la compilación 23 que incluyen correcciones a varios problemas . Se pueden encontrar más detalles en las notas de la versión .
El conjunto de funciones para JDK 18 actualmente es el siguiente:
- JEP 400: UTF-8 por defecto
- JEP 408: servidor web simple
- JEP 413: fragmentos de código en la documentación de la API de Java
- JEP 416: Reflexión del núcleo de reimplementación con identificadores de método
- JEP 417: API de vectores (tercera incubadora)
- JEP 418: SPI de resolución de direcciones de Internet
- JEP 419: API de memoria y función ajena (segunda incubadora) ( propuesta para el objetivo )
- JEP 420: Coincidencia de patrones para el interruptor (segunda vista previa) ( propuesto al objetivo )
Se anima a los desarrolladores a informar de errores a través de la base de datos de errores de Java .
Proyecto Telar
La compilación 18-loom + 5-274 de las compilaciones de acceso temprano de Project Loom se puso a disposición de la comunidad de Java y se basa en la compilación 22 de las compilaciones de acceso temprano JDK 18.
Marco de primavera
Fue una semana ocupada en Spring, ya que el equipo proporcionó comunicados puntuales sobre múltiples proyectos .
Spring Boot 2.6 se lanzó con actualizaciones de dependencia para Spring Data 2021.1, Spring HATEOAS 1.4, Spring AMQP 2.4, Spring Kafka 2.8, Spring Security 5.6 y Spring Session 2021.1. Otras características nuevas incluyen: un
Spring Boot versión 2.4.13 y versión 2.5.7 también se lanzaron con 26 correcciones de errores y 35 correcciones de errores , respectivamente, junto con mejoras de documentación y actualizaciones de dependencia.
Después de tres lanzamientos de hitos y un candidato de lanzamiento, Spring Security 5.6.0 se ha puesto a disposición de la comunidad Java con: una nueva interfaz
Spring Cloud Netflix versión 2.2.10.RELEASE se ha lanzado para abordar CVE-2021-22053 , una vulnerabilidad que expone una forma de ejecutar código enviado dentro de la ruta de solicitud URI
Las versiones 4.3.4 y 4.2.8 de Spring Batch se pusieron a disposición con correcciones de errores tales como: garantizar que el
Spring para Apache Kafka 2.8 ha sido lanzado con: soporte para confirmaciones manuales fuera de orden; un nuevo conjunto de manejadores de errores comunes para reemplazar los manejadores separados
Spring AMQP (Spring para RabbitMQ) 2.4 se ha puesto a disposición con soporte inicial para RabbitMQ Stream Plugin y declarando que el soporte para Spring Remote Method Invocation (RMI) ha quedado obsoleto. Se pueden encontrar más detalles en las notas de la versión .
El camino hacia MicroProfile 5.0
En el camino hacia MicroProfile 5.0, el Grupo de trabajo de MicroProfile ha proporcionado la segunda versión candidata que incluye las últimas actualizaciones de las ocho especificaciones desarrolladas por la comunidad:
- Configuración 3.0-RC5
- Salud 4.0-RC3
- Tolerancia a fallas 4.0-RC5
- Métricas 4.0-RC4
- JWT 2.0-RC2
- OpenAPI 3.0-RC5
- OpenTracing 3.0-RC4
- RestClient 3.0-RC5
Estas especificaciones se alinearán con Jakarta EE 9.1 .
Payara
Payara ha lanzado su edición de noviembre de 2021 de la plataforma Payara . La versión 5.2021.9 de Payara Platform Community ofrece 11 mejoras, seis correcciones de errores y 11 actualizaciones de componentes y la Payara Platform Enterprise 5.33.0 ofrece cuatro mejoras, cuatro correcciones de errores y dos actualizaciones de componentes. La compatibilidad con JDK 17 se ha implementado en la edición Community, pero se están realizando más pruebas para garantizar la estabilidad de la Edición Enterprise. Un cambio importante para ambas versiones es la eliminación de los protocolos TLS 1.0 y TLS 1.1, que ahora están deshabilitados de forma predeterminada.
Se pueden encontrar más detalles en las notas de la versión de las ediciones Community y Enterprise .
Yakarta EE
El Grupo de Trabajo de Jakarta EE ha presentado una propuesta para una nueva especificación de Jakarta EE, Jakarta Commons, para satisfacer la necesidad de una especificación para manejar API, funcionalidades y bibliotecas comunes para garantizar la coherencia entre las especificaciones. El grupo de trabajo está solicitando comentarios de la comunidad de Java al ver y comentar este documento .
JHipster
La versión 7.4.0 de JHipster ha sido lanzada para incluir: arreglar los
TornadoVM
TornadoVM , una compañía de tecnología de software de código abierto, ha lanzado TornadoVM versión 0.12 que incluye: un nuevo backend, despachador de nivel cero para SPIR-V integrado; un marco de evaluación comparativa mejorado; nuevas métricas
Juan Fumero , investigador asociado, Advanced Processor Technologies Research Group de la Universidad de Manchester, presentó TornadoVM en QCon London en marzo de 2020 y desde entonces ha contribuido con este artículo técnico de InfoQ .
Se puede encontrar una aplicación de ejemplo que usa Docker en este repositorio de GitHub .
Apache Camel K
Se lanzó la versión 1.7 de Apache Camel K que incluye: soporte para Quarkus Native Build y Kustomize ; una plataforma de integración secundaria; y nuevos Kamelets en el catálogo Apache Camel Kamelet .
Camel K, un marco de integración ligero, está construido con Apache Camel K Runtime 1.10.0, Apache Camel Quarkus 2.4.0 Apache Camel 3.12.0 y Apache Camel Kamelets 0.5.0.
Kotlin
JetBrains ha lanzado Kotlin 1.6.0 con muchas características nuevas, como