A weekly roundup for Java developers covering evolving an MCP server across specification upgrades, Project Valhalla's first preview (JEP 401) redefining == semantics for value objects, plus curated links on JVM security, DuckDB in Spring Batch, JDK Flight Recorder profiling, post-quantum cryptography in LTS JDK releases, IntelliJ IDEA AI agent features, HTTP extension design research, and a batch of library/tool version updates (IntelliJ IDEA 2026.2.1, Gradle 9.7.0, Vert.x 4.5.32, Elasticsearch, Camel, Zuul).
Questions this post answers
What does JEP 401 change about how == works for Java objects?
JEP 401, part of Project Valhalla's first preview, introduces identity-free value classes and records where == comparisons behave differently than for identity classes. Identity classes retain the traditional reference-based equality semantics, while value objects get value-based comparison, changing long-standing assumptions about what == means for a given class. Track how Valhalla's value classes reshape equality checks in your Java codebase, discussed on daily.dev.
How can I keep older clients working while upgrading a Java MCP server to a new protocol specification?
Use header-based routing combined with a temporary adapter layer so a Helidon-based Java MCP server can serve both stateless and older protocol paths simultaneously. Tests exercise both protocol paths during the transition, allowing a gradual migration without breaking existing client integrations as the MCP specification evolves. Developers navigating MCP spec upgrades can follow evolving server patterns like this on daily.dev.