Micronaut Framework 5.0.0 Released!
The 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.
Languages’ Baselines
Micronaut 5 updates to the following baselines:
GraalVM
Micronaut 5 updates GraalVM to 25.0.3.
Core Changes
Internals
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.
HTTP
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.
JSpecify Nullability Annotations
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.
Resilience and Context Propagation
In addition to the existing annotation-driven model documented in Retry Advice, Micronaut 5 offers programmatic retry and circuit breaker APIs. These changes enable defining typed retry and circuit breaker policies in code and reusing them for synchronous, reactive, and asynchronous flows.
Configuration
Configuration Support
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.
Application Configuration Validation
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.
Logging
Micronaut Logging updates to Log4j 2.25.4
Dev & Test
Control Panel
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.
AOT
Micronaut AOT adds an AOT diagnostics report.
OpenAPI
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.
Test
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.
Serialization
Micronaut Serialization
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)
Jackson 3
With the release of Micronaut 5, Micronaut Jackson Databind updates to Jackson 3 (3.1.3 in the platform BOM).
Server
Ktor
Micronaut Kotlin updates to Ktor 3 (3.4.3 in the platform BOM).
Servlet
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
Persistence
DATA
Micronaut Data adds Geospatial Support, SQL Vector Type Mapping, and it continues to improve the @JsonView support.
SQL
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.
R2DBC
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
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.
Eclipsestore
Micronaut EclipseStore annotation mappers moved from micronaut-eclipsestore-annotations to the new module micronaut-eclipsestore-processor. Users must replace the annotation processor or Groovy compileOnly dependency accordingly.
The module updates EclipseStore from 1.4.0 to 4.0.1. It also adds Google Cloud Firestore storage target support.
Redis
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.
Neo4J
Micronaut Neo4J updates the Neo4j Java driver to 6.1.0.
Database Migration
Liquibase
Micronaut Liquibase updates to Liquibase 5.0.2.
Flyway
Micronaut Flyway updates to Flyway 12.6.1.
Cloud
Object Storage
Micronaut Object Storage adds support for Paginated Listing, Bucket and Container Management APIs, presigned requests, streaming upload support, and reactive operations.
Tracing
Micronaut Tracing updates to Open Telemetry 1.62.0. It also adds OpenTelemetry R2DBC instrumentation and a Logback appender.
Kubernetes
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.
AWS
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.
Azure
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.
GCP
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.
Oracle Cloud
Micronaut Oracle Cloud updates to OCI SDK 3.86.1.
AI
Micronaut MCP
Micronaut MCP updates to MCP Java SDK 1.1.2 and is included in the platform as 1.0.0.
Micronaut Langchain4J
Micronaut Langchain4j updates to Langchain4j 1.15.0.
Validation
Micronaut Hibernate Validator updates Hibernate Validator to 9.1.0.Final and registers custom ValueExtractor beans in ValidatorFactoryProvider.
Security
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=create support for user registration.
Reactive Libraries
Micronaut Reactor
Micronaut Reactor updates Reactor to 2025.0.5 and micrometer-context-propagation to 1.2.1.
Micronaut RxJava
Micronaut 5 no longer supports RxJava 2. Micronaut 5 users willing to use RxJava should use Micronaut RxJava 3.
Analytics
OpenSearch
Micronaut OpenSearch updates the OpenSearch Java client to 3.8.0.
ElasticSearch
Micronaut ElasticSearch updates the ElasticSearch Java Client to 9.4.0.
Micrometer
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.
API
JAX-RS
Micronaut JAX-RS updates to Jakarta REST API 4.0.0 and adds support for @ConstrainedTo and ParamConverterProvider.
GraphQL
Micronaut GraphQL updates:
- GraphQL Java to
26.0. - GraphQL Java Extended Scalars to
24.0.
Malformed GraphQL JSON now returns HTTP 400.
gRPC
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.
Spring
Micronaut Spring updates to
- Spring Boot
4.0.6. - Spring
7.0.7.
Messaging
Kafka
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.
RABBITMQ
Micronaut RabbitMQ updates the RabbitMQ Java client to 5.30.0.
NATS
Micronaut NATS updates the NATS – Java Client to 2.25.3.
JMS
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.
MQTT
Micronaut MQTT updates the HiveMQ MQTT Client to 1.3.14.
Pulsar
Micronaut Pulsar updates Apache Pulsar Java Client to 4.2.1.
Views
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.
Miscellaneous
Micronaut Email updates Mailjet to 6.0.1, Mailtrap to 1.2.0, and Postmark to 1.13.0.
ACME
Micronaut ACME updates to ACMEJ 5.1.0.
Session
Micronaut Session updates to 5.0.0, with request/response filter method support and custom context-path fixes.
Cache
It updates:
- Caffeine to
3.2.4. - Ehcache to
3.12.0. - Hazelcast to
5.6.0. - Infinispan to
16.1.4.
HOW TO UPGRADE TO MICRONAUT FRAMEWORK 5?
We have published an upgrade to Micronaut framework 5 guide to help you upgrade your Micronaut applications.
NEXT STEPS
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.