Newsletter Java: Novedades de la Semana 3 Agosto 2025
Tu newsletter semanal de Programando En Java
¡Hola programador/a! 👋
Bienvenido/a a la nuevas novedades de está semana de Agosto, ¡espero lo disfrutes así que vamos a ello!
Todo listo para que sigas subiendo de nivel en Java. ¡Vamos al lío! ☕💻
Redes Sociales
📘 Facebook: Programando en JAVA
🐦 X (Twitter): ProgEnJava
📸 Instagram: Programando en Java
💼 LinkedIn: Ricardo Romero Benítez
▶️ YouTube: Programando en Java
🎵 TikTok: Programando en Java
🧵 Threads: Programando en Java
💬 Discord: Comunidad de Programando en JAVA
🎥 Video de la Semana
👨💻 Java vs Kotlin: ¿Morirá JAVA?
¿Y si en solo unos años Kotlin le roba el trono a Java en el desarrollo backend?
En este vídeo te muestro por qué esta idea no es tan descabellada como parece, comparando rendimiento, experiencia de desarrollo, comunidad y ecosistema. Incluso vemos ejemplos reales para que puedas decidir por ti mismo si Java seguirá reinando… o si Kotlin está listo para ocupar su puesto.
👉 Mira el video completo aquí:
📦 Novedades en Librerías y Frameworks
🔮 Spring AI 1.0.1
La nueva versión de Spring AI incluye mejoras notables:
Soporte para plantillas personalizadas en
KeywordMetadataEnricher
.Mejoras en
OllamaChatModel
, ahora con integración al retry template.La anotación
@Tool
se vuelve más poderosa con nuevas capacidades de función.
🐘 Hibernate ORM 7.1.0.Final
Hibernate viene con esteroides:
Nueva interfaz
Locking
que amplía los alcances de bloqueo pesimista.Interfaz
Timeouts
para gestión granular de timeouts.Soporte de descubrimiento de recursos en Java SE.
Además, Hibernate Reactive 3.1.0.Final y Hibernate Search 8.1.0.Final se actualizan con soporte para ORM 7.1 y nuevas integraciones con Elasticsearch.
➡️ What's new
🐉 Grails 7.0.0-RC1
El primer release candidate de Grails 7 trae:
Mejoras en
CreateReleaseDropDownTask
reutilizable con Spring Security.Soporte experimental para virtual threads en proyectos Spring Boot vía Grails Forge.
🐦 WildFly 37
Enfocado en limpieza técnica y transición a Commonhaus Foundation:
Limpieza de deuda técnica.
Nuevas propiedades para evitar
OutOfMemoryError
al escalar Artemis.Actualización de dependencias.
🌊 Payara Platform – Agosto 2025
Cuatro ediciones actualizadas con un parche crítico de seguridad (CVE-2025-22871):
Soluciona una vulnerabilidad de request smuggling en Grizzly.
Corrige
NullPointerException
en listeners con CDI.Mejora visualización de realms en la interfaz admin.
➡️ Detalles
🚀 ¿Quieres aprender o mejorar Java de verdad?
Entra a codeja.dev y empieza a dominar Java desde cero hasta nivel senior, con una plataforma 100% práctica, motivadora y estructurada.
🔥 ¿Qué encontrarás?
💻 Editor Web con compilación en tiempo real
🧠 Rutas de aprendizaje de junior a senior
🏆 Retos semanales y rankings para motivarte
👥 Comunidad activa para apoyarte en cada paso
🤖 Asistente con IA que te ayuda mientras escribes código
👉 Acceso VIP solo 100 plazas disponibles — ¡reserva tu lugar y sé de los primeros en probarlo!
🧠 LangChain4j 1.3.0
Llega la versión estable con:
Nuevos módulos experimentales para agentes AI (
agentic
,agentic-a2a
).Deprecación de
withVectors()
en favor dewithFloatVectors()
.
🧰 JobRunr 8.0.2
Mantenimiento con mejoras de rendimiento:
Menor carga en DB al configurar jobs conscientes del carbono.
Logging más claro y consistente.
💥 JBang 0.129.0
Más rápido y más CLI-friendly:
Carga perezosa de ayuda con PicoCli para acelerar arranque.
Comandos internos ahora heredan de
BaseCommand
, con soporte para--help
.
🐱 Apache Tomcat
Actualizaciones para Tomcat 11.0.10, 10.1.44 y 9.0.108:
Corrección en el bloom filter para WARs empacados.
Nuevo método
dispatchEndRequest()
que mejora el manejo dekeepAliveTimeout
.
☕ Actualizaciones del JDK
JDK 25 – Release Candidate 1
¡Entramos en fase de RC! Build 35 marca oficialmente el primer Release Candidate:
18 features confirmadas.
Cero bugs P1 pendientes.
GA programado para el 16 de septiembre.
JDK 26 – Build 10 (Early Access)
Continúa el tren de builds con nuevas correcciones:
Fixes variados desde el build 9.
Preparando el camino para features futuras.
🧪 Nuevas JEPs o Propuestas
Esta semana no se han propuesto nuevas JEPs ni cambios significativos en el roadmap del JDK. Estas son las candidatas actuales aceptadas y trabajando activamente:
HTTP/3 para el HTTP Client API (JEP 517, in-flight)
Propuesta para añadir soporte nativo de HTTP/3 en el cliente HTTP de la JDK — mejora la latencia y resistencia en redes modernas.Ahead-of-Time Object Caching con cualquier GC (JEP 516, in-flight)
Mecanismo para cachear objetos AOT y reducir costes de inicialización/allocación en tiempo de ejecución; importante para arranques rápidos y aplicaciones serverless.Eliminar la API de Applets (JEP 504, in-flight)
Limpieza histórica: retirar totalmente las APIs relacionadas con applets que ya no se usan. Impacto principalmente de mantenimiento y reducción de superficie de código obsoleto.Derived Record Creation (JEP 468 — preview, in-flight)
Extensiones para facilitar la creación de records derivados (simplificar boilerplate en tipos inmutables), aún en fase de previews/experimentos.Generics over Primitive Types (JEP 218 — in-flight / draft)
Una de las propuestas más ambiciosas: llevar genéricos a tipos primitivos para evitar boxing y mejorar rendimiento en colecciones/algoritmos numéricos. Todavía en investigación/draft.Light-Weight JSON API (JEP 198 — in-flight)
Propuesta para una API JSON más ligera y estándar en la JDK, pensado para evitar depender siempre de librerías externas y simplificar parsing/serialización.
🛠️ Herramientas y Utilidades para Developers
🧪 JobRunr
¿Necesitas jobs distribuidos y persistentes con soporte para Java 21+? JobRunr lo sigue haciendo bien:
Desde la versión 8, ahora puedes configurar jobs que se ejecuten en ventanas de bajo consumo energético. Ideal para entornos cloud con metas de sostenibilidad.
⚡ JBang
Si aún no lo usas para correr scripts Java como si fueran shell, estás perdiendo tiempo:
jbang HelloWorld.java
Perfecto para pruebas rápidas, demos, y automatización ligera.
🌍 Comunidad y Ecosistema
🌶️ Eclipse Piranha Cloud se une a Eclipse Foundation
Jalapeño Unconference — organizado por JConf Mexico — es un evento abierto e inclusivo dedicado a entusiastas y profesionales del JVM y tecnologías modernas alrededor de la JVM. Se trata de un formato de unconference, donde las conversaciones y contenidos son generados y guiados por los propios participantes, fomentando el intercambio directo de conocimiento y la colaboración espontánea
💡 Tip de la semana
Evita NullPointerException
con Optional
En lugar de hacer múltiples comprobaciones if (obj != null), aprovecha Optional para escribir código más limpio y seguro:
String nombre = Optional.ofNullable(usuario)
.map(Usuario::getNombre)
.orElse("Invitado");
Con esto, evitas condicionales repetitivos y defines fácilmente un valor por defecto cuando algo es null.
¿Te ha molado? Comparte esta newsletter con otro friki del backend 💻
¿Preguntas o sugerencias? Responde a este correo, y charlamos.