SSerguey Asael Shinder
Java coding notes: the JVM, and writing software that lasts

Serguey Asael Shinder: Micronaut 5.2.22 caches exception-handler lookups and moves to Netty 4.2.20

· by Serguey Asael Shinder / Serguey Shinder

The Micronaut team released Micronaut Core 5.2.22 on GitHub on 4 November, alongside maintenance releases 4.10.36 the same day and 3.10.18 on 5 November. The 5.2.22 notes list three bug fixes, one dependency update and a handful of other changes. (https://github.com/micronaut-projects/micronaut-core/releases/tag/v5.2.22)

The first fix is about cost under load: exception handler lookups are now cached instead of being re-resolved, with threads contending, on every error (pull request 14212). The second preserves Python exceptions across synchronous AOP calls (14224). The third makes the framework parse the X-Forwarded-Host header the same way as the host in the standard Forwarded header (14243), which matters for applications behind proxies that build absolute URLs or check the host.

Serguey Asael Shinder: Micronaut 5.2.22 caches exception-handler lookups and moves to Netty 4.2.20
Micronaut 5.2.22 caches exception-handler lookups and moves to Netty 4.2.20 — Serguey Asael Shinder

The dependency update moves Micronaut to Netty 4.2.20.Final (14253). That is the Netty release that shipped ten security advisories, noted here on 3 November, so applications on Micronaut 5.2 get those fixes by upgrading the framework rather than overriding Netty themselves.

Among the other changes, the default locale is now bound to Locale arguments when a request carries none (14102), and UriBuilder.queryParam expands Iterable and array values into separate parameters (14197). Two build changes, a dedicated 3 GB compiler daemon for Groovy test compilation and longer retries for repository requests in Gradle, affect contributors rather than users.

For teams on 5.2, this is a routine patch with one reason not to wait: the Netty upgrade.