Quarkus 3.36

Se ha publicado el lanzamiento Quarkus 3.36 — Marco de Java para aplicaciones cloud-native orientadas a contenedores, Kubernetes, JVM y compilación nativa. La publicación tuvo lugar el 27 de mayo de 2026. Los principales cambios están relacionados con un nuevo mecanismo experimental de intercambio de señales entre componentes, mejoras en la seguridad de la cadena de suministro, TLS y autenticación OIDC para escenarios de zero-trust.

Para la actualización, se recomienda a los desarrolladores usar la versión más reciente de Quarkus CLI y ejecutar:

quarkus update

El comando quarkus update, según el proyecto, puede actualizar aplicaciones a Quarkus 3.36 incluso desde ramas de Quarkus 2.x.

Principales cambios

  • Quarkus Signals — una extensión experimental para el intercambio de señales entre componentes.
    Quarkus ha introducido un nuevo mecanismo que permite a los componentes de la aplicación interactuar de manera débilmente acoplada: un componente envía una señal y otro la recibe. La resolución de los receptores es segura por tipo e inspirada en eventos CDI: las señales se emparejan con controladores por tipo y calificaciones. Se admiten tres modos: publish — envío a todos los receptores, send — envío a un receptor con selección round-robin, y request-reply — solicitud con respuesta tipada. Para cada modo hay una API bloqueante y una API reactiva basada en Uni.

  • Modelo de ejecución flexible para controladores de señales.
    Los receptores de señales se ejecutan de manera asíncrona y pueden operar como bloqueantes, no bloqueantes o ejecutables en hilos virtuales. Para esto se utilizan anotaciones familiares de Quarkus como @Blocking, @NonBlocking y @RunOnVirtualThread. También se prevé la inscripción y eliminación de controladores en tiempo de ejecución a través de una API de constructor fluido.

  • Metadatos de señales y SPI para integradores.
    A las señales se les pueden adjuntar pares clave-valor arbitrarios, accesibles para los controladores a través de SignalContext. Para extender el comportamiento, se han añadido puntos de integración SignalMetadataEnricher y ReceiverInterceptor. La extensión todavía tiene un estado experimental; los desarrolladores esperan comentarios de los usuarios.

  • SBOM embebido para dependencias.
    Quarkus ahora puede embebeder SBOM — Software Bill of Materials, es decir, una descripción de las dependencias — directamente en las aplicaciones construidas. Por defecto, este SBOM se puede proporcionar a través del endpoint \/.well-known\/sbom. Esto es útil para auditoría de dependencias, inventario de componentes y posterior escaneo de vulnerabilidades.

  • SBOM en imágenes nativas.
    Para las imágenes nativas, se ha agregado la capacidad de integrar SBOM directamente en el archivo binario nativo de acuerdo con la especificación de GraalVM SBOM. Esto cierra el escenario en el que la aplicación se distribuye no como un artefacto de JVM, sino como un archivo ejecutable independiente.

  • Autenticación OIDC del cliente a través de SPIFFE.
    En Quarkus OIDC se ha añadido soporte para tokens JWT de SPIFFE para la autenticación del cliente ante proveedores como Keycloak. Este cambio está orientado a infraestructuras con identidad de carga de trabajo, modelo de confianza cero e interacción entre servicios, donde la identidad de la carga de trabajo es más importante que los secretos estáticos.

  • Tipos de keystore y truststore arbitrarios.
    El Registro TLS ahora soporta tipos arbitrarios de almacenes de claves y certificados de confianza, como BCFKS, a través de un nuevo grupo de configuración other. El tipo se puede establecer con el parámetro quarkus.tls.key-store.other.type= sin necesidad de escribir código adicional. Si el tipo requiere una lógica de carga propia, se puede proporcionar un bean CDI KeyStoreFactory o TrustStoreFactory con el correspondiente @Identifier.

  • Campos dinámicos en registros JSON.
    Se agregó un nuevo SPI JsonProvider que permite añadir campos a los registros JSON de forma dinámica para cada entrada. Esto permite enriquecer los registros con el contexto de ejecución: por ejemplo, identificadores de solicitud adicionales, etiquetas de servicio o datos del entorno.

  • Recarga en caliente de TLS para el cliente GraphQL.
    El cliente GraphQL ahora admite la recarga dinámica de la configuración TLS. Anteriormente, la nueva configuración TLS solo se aplicaba al crear una nueva instancia del cliente, lo que requería reducir el scope de CDI. Ahora la actualización se aplica de inmediato y funciona también para clientes con alcance application.

Cambios y actualizaciones adicionales de componentes.

En el lanzamiento final. 3.36.0 también se señalaron mejoras en Signals, actualización de Gradle a 9.5.1, Jackson BOM a 2.21.3, slf4j-api a 2.0.18, controlador JDBC de Microsoft SQL Server a 13.4.0, soporte para múltiples configuraciones SunPKCS11, corrección de la generación de POM para extensiones externas y adición de preauthorized_code como opción del tipo de concesión OidcClient.

Se han actualizado también los componentes de la plataforma Quarkus: Camel Quarkus 3.36.0, Debezium 3.5.1.Final, Quarkus Amazon Services 3.19.0, Quarkus LangChain4j 1.10.0, Quarkus MCP Server 1.12.1 y Quarkus Operator SDK 7.7.5.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster