Micronaut Framework 5.0.0 Released!
by Sergio Del Amo CaballeroThe Micronaut Foundation is excited to announce the general availability (GA) release of Micronaut framework 5!
Latest Versions
Micronaut 5 is represented by the Micronaut Platform BOM and brings the framework, its modules, and the managed dependency ecosystem up to current major versions. Micronaut 4 was introduced almost three years ago, so Micronaut 5 is both a major framework release and a broad platform refresh across more than 70 Micronaut modules.
Build-Time and Speed
We have, of course, also taken the opportunity to continue improving the framework’s internals, maintaining alignment with its core values. Do as much as possible during build time and keep making it faster and faster.
Micronaut 5 updates to the following baselines:
Micronaut 5 updates GraalVM to 25.0.3.
The IoC container and compile-time infrastructure have received substantial work in Micronaut 5. Bean resolution, qualifier handling, replacement metadata, eager initialization, and runtime annotation processing were refined to reduce runtime work and improve predictability.
The bean context was reworked in several areas during the Micronaut 5 development cycle, including precomputed bean indexes, compile-time @Replaces handling, and broader bean context optimizations. Together, these changes continue Micronaut’s focus on startup performance and low runtime overhead.
Micronaut 5 adds support for jakarta.annotation.Priority, mapping it to Micronaut’s bean and HTTP filter ordering semantics.
On the HTTP side, HTTP/3 support on the Netty stack was promoted to stable. Micronaut 5 also includes a multipart/form handling refactor that introduces a lower-level, more server-independent form API and improves resource management in higher-level binders. See Forms, Detailed Form API, and File Uploads.
The framework APIs now embrace nullability annotations and specifically JSpecify nullability annotations, with @NullMarked adoption across the codebase and stronger static analysis integration. The result is clearer API contracts, improved Kotlin interoperability, and better IDE feedback.
In addition to the existing annotation-driven model documented in Retry Advice, Micronaut 5 offers programmatic retryand circuit breaker APIs. These changes enable defining typed retry and circuit breaker policies in code and reusing them for synchronous, reactive, and asynchronous flows.
Micronaut 5 supports config imports and a PropertySourceImporter SPI, enabling configuration loading from sources such as files, classpath locations, environment variables, config trees, and custom importer implementations. See Importing Additional Configuration, Implementing a Custom PropertySourceImporter, and Externalized Configuration with PropertySources.
This new approach deprecates the Bootstrap Configuration support, which may be removed in Micronaut 6.
A new module, Micronaut JSON Schema configuration validator, eases application configuration validation and is integrated into the Micronaut Maven Plugin and the Micronaut Gradle Plugin.
This module relies on the capability introduced in Micronaut 5 to generate JSON Schema documents from @ConfigurationProperties.
Micronaut JSON Schema updates com.networknt:json-schema-validator to 3.0.2.
Micronaut Logging updates to Log4j 2.25.4
Micronaut Control Panel gets a fresh look, and it adds panels for Cache, DataSource, Hibernate, and Kafka Streams. It also adds Object Storage, Disabled Beans, and Metrics panels, plus authenticated and authorized access.
Micronaut AOT adds an AOT diagnostics report.
Micronaut OpenAPI updates to 7.0.0, with fixes and improvements for KSP2, @SecuritySchema, JsonAnyGetter / JsonAnySetter, JsonNode, headers, byte arrays, and URI template/path/query processing.
Micronaut Test updates:
- JUnit to
6.0.3. - KoTest to
6.1.9. - Spock to
2.4-groovy-5.0. - Mockito to
5.23.0. - Mockk to
1.14.9. - REST-assured to
6.0.0. - AssertJ: updates to
3.27.7.
Micronaut Test Resources updates to 4.0.0, with a binary protocol between client and server, shared containers across multiple databases, and new providers for Infinispan, Hazelcast, Pulsar, MinIO, SeaweedFS, Azurite, Couchbase, and WireMock. The platform also manages Testcontainers 2.0.5.
Micronaut Serialization adds:
- Serializers and Deserializers are now generated at build time with SourceGen, improving performance. The
@SerdeableGeneratedannotation, declares the compile-time generated serde contract for aSerdeabletype. - Broader format metadata support: pattern, shape, locale, timezone, lenient parsing, and radix.
- Serialization feature flags for nanosecond timestamps, zone IDs, unwrapped single-element arrays, and sorted map entries.
- Deserialization feature flags for single-value-as-array, case-insensitive properties, unknown enum handling, timestamp precision, and context time zone adjustment.
- Support for
@JsonEnumDefaultValuewith@JsonFormat(with = READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE)
With the release of Micronaut 5, Micronaut Jackson Databind updates to Jackson 3 (3.1.3 in the platform BOM).
Micronaut Kotlin updates to Ktor 3 (3.4.3 in the platform BOM).
Micronaut Servlet updates the following server runtime dependencies:
- Undertow to
2.3.24.Final - Apache Tomcat to
11.0.21 - Eclipse Jetty to
12.1.8
Micronaut Data adds Geospatial Support, SQL Vector Type Mapping, and it continues to improve the @JsonViewsupport.
Micronaut SQL adds the ability to update JDBC datasource credentials at runtime without restarting the application, adds support for SQLite, Oracle Session Program Auto-Configuration, unpooled datasource support, and updates to the latest versions:
- vertx to
5.0.12. - jooq to
3.21.4. - Hibernate-core to
7.3.4.Final. - jdbi3-core to
3.53.0. - ojdbc to
23.26.2.0.0. - postgresql to
42.7.11. - mariadb-driver to
3.5.8. - mssql-jdbc to
13.4.0.jre11. - Mysql-connector-j to
9.7.0. - Hikari to
7.0.2. - commons-dbcp2 to
2.14.0. - Tomcat JDBC to
11.0.22. - Jakarta Persistence API to
3.2.0. - H2 to
2.4.240.
Micronaut R2DBC adds Google Cloud SQL R2DBC PostgreSQL support, and it updates the R2DBC drivers, including H2 from 1.0.0 to 1.1.0, MariaDB from 1.3.0 to 1.4.0, MSSQL from 1.0.3 to 1.0.4, MySQL from 1.4.1 to 1.4.2, PostgreSQL from 1.1.0 to 1.1.1.
MongoDB Java Driver upgrades to 5.7.0.
A new module, io.micronaut.mongodb:micronaut-mongo-coroutine, adds Kotlin coroutine MongoDB driver support. The release also adds MongoClientSettings customization for client-side field-level encryption.
Micronaut EclipseStore annotation mappers moved from micronaut-eclipsestore-annotations to the new module micronaut-eclipsestore-processor. Users must replace the annotation processor or Groovy compileOnlydependency accordingly.
The module updates EclipseStore from 1.4.0 to 4.0.1. It also adds Google Cloud Firestore storage target support.
Micronaut Redis adds Pub/Sub Messaging support, cache bulk operations, retry options, configurable namespace support, and it updates the Lettuce Java Redis client to 7.5.1.
Micronaut Neo4J updates the Neo4j Java driver to 6.1.0.
Micronaut Liquibase updates to Liquibase 5.0.2.
Micronaut Flyway updates to Flyway 12.6.1.
Micronaut Object Storage adds support for Paginated Listing, Bucket and Container Management APIs, presigned requests, streaming upload support, and reactive operations.
Micronaut Tracing updates to Open Telemetry 1.62.0. It also adds OpenTelemetry R2DBC instrumentation and a Logback appender.
Micronaut Kubernetes updates to Kubernetes Java client 26.0.0.
The Kubernetes module also gains support for Configuration Import via Kubernetes ConfigMaps, Secrets or Mounted Volumes.
Micronaut AWS updates AWS SDK v2 to 2.44.7, AWS Lambda Java Serialization to 1.4.0, and runtime interface client to 2.10.1. It also adds config import support for AWS Parameter Store and AWS Secrets Manager.
Micronaut Azure updates to Azure SDK to 1.3.6, Azure Cosmos to 4.80.0, and Azure Functions Library to 3.3.0. It also adds Azure Key Vault config import support.
Micronaut GCP updates CloudEvents SDK to 4.0.2, Google Secret Manager to 2.91.0, Google Auth 1.46.0, Pub/Sub 1.150.1, and Functions Framework API 2.0.1. It also adds Google Secret Manager config import support.
Micronaut Oracle Cloud updates to OCI SDK 3.86.1.
Micronaut MCP updates to MCP Java SDK 1.1.2 and is included in the platform as 1.0.0.
Micronaut Langchain4j updates to Langchain4j 1.15.0.
Micronaut Hibernate Validator updates Hibernate Validator to 9.1.0.Final and registers custom ValueExtractorbeans in ValidatorFactoryProvider.
Micronaut Security updates Nimbus JOSE JWT to 10.9.
The JSR 250 annotation mappers have been moved to a new module io.micronaut.security:micronaut-security-processor. Users must replace the annotation processor or Groovy compileOnly dependency accordingly.
New security context API/SPI was added: SecurityContext, SecurityContextHolder, and SecurityContextSupplier, with request-backed behavior wired through the SecurityFilter. The module also adds OAuth2/OIDC prompt=createsupport for user registration.
Micronaut Reactor updates Reactor to 2025.0.5 and micrometer-context-propagation to 1.2.1.
Micronaut 5 no longer supports RxJava 2. Micronaut 5 users willing to use RxJava should use Micronaut RxJava 3.
Micronaut OpenSearch updates the OpenSearch Java client to 3.8.0.
Micronaut ElasticSearch updates the ElasticSearch Java Client to 9.4.0.
Micronaut Micrometer updates:
- Micrometer to
1.16.5. micrometer-tracingto1.6.5.metrics-coreto4.2.38.prometheus-metrics-exporter-pushgatewayto1.6.1.datasource-micrometerto2.2.1.
Micronaut Micrometer also adds streaming Prometheus scrape responses.
Micronaut JAX-RS updates to Jakarta REST API 4.0.0 and adds support for @ConstrainedTo and ParamConverterProvider.
Micronaut GraphQL updates:
- GraphQL Java to
26.0. - GraphQL Java Extended Scalars to
24.0.
Malformed GraphQL JSON now returns HTTP 400.
Micronaut gRPC adds the io.micronaut.grpc:micronaut-grpc-inprocess module to ease testing. It updates to:
- gRPC Java to
1.80.0. - Protobuf to
4.34.1. - gRPC Kotlin to
1.5.0.
It also adds configurable gRPC server executor support.
Micronaut Spring updates to
- Spring Boot
4.0.6. - Spring
7.0.7.
Micronaut Kafka updates to Apache Kafka 4.2.0.
The Kafka module receives a number of enhancements including per-class consumer strategies, a Kafka consumer bean scope, listener IDs, listener invocation scope, optional AdminClient, and support for graceful shutdown.
Micronaut RabbitMQ updates the RabbitMQ Java client to 5.30.0.
Micronaut NATS updates the NATS – Java Client to 2.25.3.
Micronaut JMS updates to:
- ActiveMQ Classic to
6.2.5. - ActiveMQ Artemis Jakarta client to
2.53.0. - Apache Commons Pool to
2.13.1.
Micronaut MQTT updates the HiveMQ MQTT Client to 1.3.14.
Micronaut Pulsar updates Apache Pulsar Java Client to 4.2.1.
Micronaut Views updates:
- Soy to
2024-02-26 - Handlebars to
4.5.0. - JTE to
3.2.4. - Thymeleaf to
3.1.5.RELEASE. - Pebble to
4.1.1.
Turbo has moved to its own dependency io.micronaut.views:micronaut-views-turbo. Micronaut Views also adds HTMX integration.
Micronaut Email updates Mailjet to 6.0.1, Mailtrap to 1.2.0, and Postmark to 1.13.0.
Micronaut ACME updates to ACMEJ 5.1.0.
Micronaut Session updates to 5.0.0, with request/response filter method support and custom context-path fixes.
It updates:
- Caffeine to
3.2.4. - Ehcache to
3.12.0. - Hazelcast to
5.6.0. - Infinispan to
16.1.4.
We have published an upgrade to Micronaut framework 5 guide to help you upgrade your Micronaut applications.
Please refer to the documentation for further details, try upgrading your applications, and use GitHub to report any issues.
Thanks to all those who contributed to this release! We look forward to your feedback.