Contact Us About Sponsorship

Questions about Micronaut Foundation sponsorship?

Please complete this form, and we’ll follow up with you shortly.

[hubspot type=form portal=4547412 id=a7b3ddfa-64b0-47fd-8358-45fa6a09456a]

Micronaut Framework 5.0.0 Released!

by Sergio Del Amo Caballero Tags:

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 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.


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:

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 @SerdeableGenerated annotation, declares the compile-time generated serde contract for a Serdeable type.
  • 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 @JsonEnumDefaultValue with @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:


Persistence

DATA

Micronaut Data adds Geospatial Support, SQL Vector Type Mapping, and it continues to improve the @JsonViewsupport.

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 compileOnlydependency 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 ValueExtractorbeans 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=createsupport 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-tracing to 1.6.5.
  • metrics-core to 4.2.38.
  • prometheus-metrics-exporter-pushgateway to 1.6.1.
  • datasource-micrometer to 2.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:

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

EMAIL

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:


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.