Newsletter Java: Novedades de la Semana 3 - Septiembre 2025
Tu newsletter semanal de Programando En Java
¡Hola javeros!
Esta semana estamos de celebración ya que ha salido JAVA 25 LTS y algunas novedades más, ¡así que empecemos! 🤘
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
🚀 ¡Acelera tu carrera Java con Codeja!
Si estás cansado de practicar sin rumbo, prueba CodeJa: una plataforma práctica creada para que de verdad subas de nivel.
🎯 Retos reales y semanales — orientados a problemas de producción.
🏆 Leaderboard global — compite y gana visibilidad.
😎 Retos semanales — compite por la mejor posición en los retos semanales
📚 Cursos prácticos de Java — Spring Boot y frameworks del ecosistema Java aprende desde lo básico hasta lo avanzado con proyectos guiados.
🔁 Historial de envíos — revisa, compara y vuelve a versiones anteriores de tu código.
💬 Mentorías 1:1 — arquitectura, revisión de CV o preparación de entrevistas.
🎥 Video de la Semana - ¡JAVA 25 LTS YA ESTÁ AQUÍ! 🎉
🚀 ¡Ya está aquí Java 25 LTS! En este video te cuento todas las novedades más importantes que trae esta nueva versión lanzada esta semana.
👉 Veremos qué cambios introduce, cuáles son las mejoras que más impactan en el día a día de los desarrolladores y por qué es clave para el futuro del ecosistema Java.
Si programas en Java o trabajas con Spring, Jakarta EE o frameworks modernos, este resumen te ayudará a estar al día con lo más relevante.
💡 Suscríbete al canal para no perderte más contenido sobre Java, Spring Boot y backend.
👨💻 CodeCast 14 - Geovanny Mendoza
Geovanny Mendoza, líder del grupo Java en Barranquilla, Colombia, comparte su experiencia profesional y su trayectoria en el mundo de la programación con Java, así como su contribución al ecosistema tecnológico local y latinoamericano. Desde sus inicios en la universidad, donde desarrolló un IDE básico para Java, hasta convertirse en un Vaadin Champion reconocido internacionalmente, Giovanni relata cómo la colaboración y el networking han sido fundamentales en su crecimiento y en la consolidación del grupo Java Barranquilla.
📅 Evento Java en Barranquilla el 25 de octubre con más de 18 speakers internacionales.
🌎 Fuerte conexión y colaboración entre grupos Java de Latinoamérica.
🛠️ Desarrollo de un IDE básico en la universidad para facilitar la programación en Java.
🚀 Giovanni Mendoza reconocido como Vaadin Champion y líder comunitario en Barranquilla.
💻 Experiencia laboral en RapiPay aplicando tecnologías modernas y buenas prácticas.
🤝 El grupo Java Barranquilla fomenta el networking y la inserción laboral, especialmente para juniors.
🎓 Reflexión sobre la evolución educativa y la importancia del esfuerzo y la motivación personal.
También en Spotify:
📦 Novedades en Librerías y Frameworks
🧵 Spring Framework 7.0.0-M9
Nueva milestone con mejoras y APIs más pulidas:
Añade
createException()enConvertibleClientHttpResponsepara manejo de errores más claro.Nuevas interfaces para incrementar valores en SQLite con
DataFieldMaxValueIncrementer.Actualizaciones de dependencias y mejoras de documentación.
📊 Spring Data 2025.1.0-M6
Última milestone antes del GA. Lo más destacado:
Soporte para Spring Framework 7 y Jakarta EE 11 (Servlet 6.1 y Persistence 3.2)
Compatibilidad con Kotlin 2.2 y Jackson 3.0
Soporte para IDs compuestos en Spring Data JDBC y R2DBC 🧩
🧠 Spring AI 1.1.0-M1
Spring AI sigue evolucionando:
Refactor de auto-configuración con enfoque basado en protocolos.
Soporte para configuración por anotaciones en MCP server y clientes.
🔐 Spring Authorization Server se fusiona con Spring Security
El Authorization Server se integra oficialmente a Spring Security 7.0.
Mejora la experiencia del desarrollador.
Se minimizan cambios disruptivos.
📈 Micrometer 1.16.0-M3 y Micrometer Tracing 1.6.0-M3
Micrometer sigue afinando su instrumentación:
Nuevo
MeterConventionpara control de nombres y etiquetas.Evita la creación innecesaria de
DistributionStatisticConfig.
Tracing mejora integraciones clave:
Actualizaciones de Nullaway, OpenTelemetry y Mockito.
🔁 Project Reactor 2025.0.0-M7 y 2024.0.10
Dos releases:
Cutting-edge: mejoras en
reactor-core,reactor-netty,reactor-pool.Stable: mantenimiento con múltiples upgrades de dependencias.
🔗 2025.0.0-M7 | 2024.0.10
🐚 JBang 0.130.0
JBang ahora habla fluent fish shell 🐟:
Soporte y autocompletado para Fish Shell.
Correcciones menores y mejoras de documentación.
⚡ Open Liberty 25.0.0.9
Nueva versión con:
Soporte para ECDH-ES (RFC6090) en JWT.
Corrección de 4 CVEs, incluyendo una vulnerabilidad crítica en Apache Commons FileUpload.
🧬 TornadoVM + GPULlama3.java + LangChain4j
¡Boom! Java + AI en GPU:
Primera integración de GPULlama3.java con LangChain4j.
Corre modelos LLM como Llama3, Mistral y Phi3 desde Java, sobre GPU, vía TornadoVM.
☕ Actualizaciones del JDK
Java 25 LTS
Lanzado oficialmente esta semana. En el canal encontrarás un video donde resumo sus principales novedades y lo que significa para el ecosistema Java.
JDK 26 EA – Build 15
Nueva build con varias correcciones de bugs y mejoras menores.
🧪 Nuevas JEPs o Propuestas
✅ JEP 517: HTTP/3 para HttpClient
¡HTTP/3 nativo incoming! Esta JEP fue targeted para JDK 26.
Actualiza
HttpClientpara soportar HTTP/3 sin cambios mayores de código.Mejora rendimiento y compatibilidad con servidores modernos.
🔗 JEP 517
🧹 JEP 522: G1 GC mejora throughput
Ahora Proposed to Target para JDK 26.
Reduce sincronización entre threads de la app y del GC.
Espera mejorar el rendimiento sustancialmente en apps concurrentes.
🔗 JEP 522
📂 JEP 524: PEM Encodings 2da Preview
Sube a Candidate. Mejora las APIs PEMEncoder y PEMDecoder.
Soporte para cifrado/descifrado de
KeyPairyPKCS8EncodedKeySpec.Refactor renombrando
PEMRecordaPEM.
🔗 JEP 524
♻️ JEP 523: G1 GC por defecto en todos los entornos
Ya es Candidate. Propone usar G1 como GC por defecto en todos los entornos, no solo servidor.
🔗 JEP 523
🛠️ Herramientas y Utilidades para Developers
🦾 GPULlama3.java + LangChain4j + TornadoVM
Ejecuta modelos LLM en GPU directamente desde Java. Sí, leíste bien.
Full Java stack para AI con integración de LangChain4j.
Ideal si quieres evitar bindings Python y seguir en tu zona de confort.
🐚 JBang + Fish Shell
JBang ahora soporta autocompletado y configuración para Fish:
Si usas Fish, ya no estás fuera del juego.
Sigue siendo la forma más rápida de correr scripts Java.
🌍 Comunidad y Ecosistema
Voy a dar mi primera charla este 25 de Septiembre de 2025 para GuateJug sobre como DESACOPLAR y poder cambiar tu framework favorito en tu proyecto empresarial. ¿Te gustaría verlaen directo? 16:00h en GUATEMALA, 23:00h en ESPAÑA. ¡Échale un vistazo! Haz click aquí 👈
💡 Tip de la semana
📦 Spring Boot: Cómo exponer propiedades en logs sin comprometer seguridad
Cuando arrancas una app Spring Boot, puedes querer loguear algunas propiedades (como nombres de servicios o endpoints), pero ocultar datos sensibles.
Usa un EnvironmentPostProcessor para imprimir selectivamente:
public class SafePropertyLogger implements EnvironmentPostProcessor {
private static final List<String> SAFE_KEYS = List.of(
"app.name", "app.environment", "spring.datasource.url"
);
@Override
public void postProcessEnvironment(ConfigurableEnvironment env, SpringApplication app) {
SAFE_KEYS.forEach(key -> {
String value = env.getProperty(key);
if (value != null) {
System.out.printf("%s = %s%n", key, value);
}
});
}
}Agrega esto en META-INF/spring.factories:
org.springframework.boot.env.EnvironmentPostProcessor=com.example.SafePropertyLogger¿Te ha molado? Comparte esta newsletter con otro friki del backend 💻
¿Preguntas o sugerencias? Responde a este correo, y charlamos.



