What’s New This Week
The Java world’s been busy. JDK 26 and 27 early-access builds are rolling out, frameworks are getting smarter about security, and build tools are finally fixing those little annoyances we’ve all learned to live with.
Here’s what actually matters from December 22nd.
Spring Vault Gets a Proper Client API
Spring Vault just introduced VaultClient and ReactiveVaultClient—two new interfaces that sit between your code and Vault. The interesting bit? They enforce relative paths only. No more accidentally hitting absolute paths and opening up security holes. It’s a small change, but it closes a bug class that’s bitten plenty of teams. Coming in Spring Vault 4.1.0.
Micronaut 4.10.6 Drops (and JDK 25 Is on the Horizon)
This one’s mostly bug fixes across MCP, SourceGen, and Coherence modules. But the bigger news: the Micronaut team is actively discussing a move to JDK 25 as baseline, along with Kotlin 2.3. They’re eyeing scoped values from JEP 506. If you have opinions, now’s the time to chime in.
LangChain4j 1.10.0 Makes AI Agents Less of a Black Box
If you’re building agentic workflows, this release is worth a look. The new AgentListener and AgentMonitor give you actual observability into what your agents are doing. Plus, you can now discover Anthropic, Gemini, OpenAI, and Mistral models programmatically—no more digging through provider docs to find model names.
Gradle 9.3 RC2 Cleans Up Test Reports
Finally, HTML test reports that handle nested and parameterized tests without turning into a mess. The Problems API also surfaces warnings directly in the console now (with --warning-mode=all), and there’s a new named() method on AttributeContainer that saves you from wrestling with ObjectFactory. Small wins, but they add up.
The Takeaway
None of these are earth-shattering on their own. But together, they’re pushing the ecosystem in a good direction: better security defaults, cleaner APIs, more visibility into what’s actually happening at runtime. That’s the kind of progress that makes day-to-day Java work a little less painful.