Releases: micronaut-projects/micronaut-platform
Micronaut Platform 4.10.0
AI
- Micronaut MCP, a new module, enables you to develop Model MCP (Model Context Protocol) servers easily.
- Micronaut Langchain4j 1.3.0 updates to LangChain4J 1.5.0 with support for the ChatMemory API.
Micronaut Core
Micronaut Core 4.10.7 enables:
- Modification of class annotations with a Mixin
- It’s possible to introspect all the classes in one package. Create a
package-info.javafile and annotate the package with@Introspected. - Loading resources directly from configuration strings
Runtimes
- New certificate provider configuration for more flexibility and better reloading
- New
ReadBufferAPI to replaceByteBuffer<?> - Update to Netty
4.2.7.Final - Netty: Event loop threads are now named default-eventLoopGroup instead of default-nioEventLoopGroup
- Netty: Improved configuration for native transports
- Micronaut HTTP Server Netty: Add an option to disable request decompression (micronaut.server.netty.request-decompression-enabled)
- Micronaut HTTP Server Netty: For the Micronaut loom carrier, the APIs on the OpenJDK loom branch are now supported
- Micronaut Servlet 5.6.0 updates to
Jetty 12.1.1,Tomcat 11.0.11, and Undertow2.3.19.Final.
Security
Micronaut Security 4.15.0 adds the ability to proxy .well-known requests to an Auth Server, and it supports the HTTP WWW-Authenticate response header. It enables token validation using the remote authorization server’s UserInfo endpoint.
Validation
Micronaut Validation 4.11.0 adds new annotations such as @InEnum, @InList, ...
Database Migration
Data and Persistence
- Micronaut Redis 6.9.0 updates to Lettuce 6.8.1.RELEASE.
- Micronaut Data 4.14.0
- Micronaut R2DBC 6.2.0 updates to
r2dbc-io-asyncer-mysqlto1.4.1, andr2dbc-postgresqlto1.1.0.RELEASE. - Micronaut SQL
6.3.1updatesojdbcto23.9.0.25.07, MariaDB to3.5.6, and MySQL Connector to9.4.0, Hikari to6.3.3, and Tomcat JDBC to11.0.12.
- Micronaut Neo4j 6.11.0 updates to Neo4J
5.28.10.
Serialization and Data Formats
- Micronaut JSON Schema 1.7.3 adds the
JsonSchemaClassPathResourceLoaderAPI. - Micronaut Serialization 2.16.1
Dev & Test
- Micronaut Test 4.10.1 updates to JUnit
5.14.0, and Mockito5.20.0. Micronaut test adds a new dependency to detect Netty Leaks. - Micronaut Test Resources 2.10.1 adds a Test Resources Provider for Oracle Test Pilot.
- Micronaut Control Panel 1.10.0 adds an Object Storage Panel.
Reactive Libraries
- Micronaut Reactor 3.9.1 updates to Project Reactor bill of materials (BOM)
2024.0.11. - Micronaut RxJava3 3.9.0 updates to RxJava3
3.1.12 - Micronaut RxJava2 2.9.0
Cloud
- Micronaut Oracle Cloud 5.5.2 updates to OCI SDK
3.74.2, and it supports client certificate refresh from the certificate service. - Micronaut Azure 5.12.0 updates to Azure Cosmos 4.74.0, and Azure SDK 1.3.0.
- Micronaut GCP 5.13.0 updates to Google Auth Library OAuth2 HTTP
1.39.1, Google Cloud Core2.60.0, Google Cloud PubSub1.142.0, and Google Secret Manager2.76.0. - Micronaut Object Storage
2.10.0adds support for pre-signed requests.
Configuration
- Micronaut Logging 1.7.1 updates SLF4J
2.0.17, Logback1.5.19to Log4j22.25.2 - Micronaut TOML 2.8.0
Messaging
- Micronaut NATS 4.9.0 updates to NATS
2.23.0
Views
Errors
Analytics
- Micronaut Tracing 7.2.0 updates to OpenTelemetry
1.54.1. - Micronaut Micrometer 5.13.1 updates to Micrometer 1.15.4.
- Micronaut Elastic Search 5.10.0
API
- Micronaut Spring 5.12.0 updates to Spring Boot
3.5.6and Spring6.2.11. - Micronaut Guice 1.3.0
- Micronaut JAX-RS 4.10.0
- Micronaut Jackson XML 4.8.0
- Micronaut OpenAPI 6.19.1
- Micronaut gRPC 4.12.0
Update
- Micronaut OpenRewrite 0.0.3, a new module, with OpenRewrite recipes specific to Micronaut applications.
Misc
- Micronaut Email 2.10.0 updates to Jakarta Mail API
2.1.5andangus-mail2.0.5 - Micronaut Session 4.8.0
- Micronaut Picocli 5.9.0
Build
Maven Plugins
Core Maven
Micronaut Maven Plugin
- [Micronaut...
Micronaut Platform 4.9.4
v4.9.3
What's Changed
Other Changes 💡
- bump patch versions by @graemerocher in #2216
Full Changelog: v4.9.2...v4.9.3
Micronaut Platform 4.9.2
Micronaut Platform 4.9.1
Micronaut Platform 4.9.0
The Micronaut Foundation is excited to announce the release of Micronaut framework 4.9.0!
Micronaut Core Improvements
Netty 4.2.2
Micronaut 4.9.0 updates to Netty 4.2. This Netty release changes the default buffer allocator, which may affect application performance.
Event loop Carrier
micronaut-http-server-netty 4.9.0 introduces an experimental mode to run virtual threads on the Netty event loop. This can lead to more predictable performance when migrating from async code to virtual threads.
@ClassImport
@ClassImport annotation allows to process already compiled classes as if they were ordinary non-compiled classes.
@Mixin
It’s possible to define a Mixin class by annotating it with @Mixin and specifying which class does it reference.
Mixins only modify the Micronaut annotations metadata model. Original classes are not modified in any way. Mixins are currently supported only in Java.
HTTP/3
If you were using the experimental HTTP/3 support you need to replace the dependency io.netty.incubator:netty-incubator-codec-http3 with io.micronaut:micronaut-http-netty-http3.
Graceful Shutdown
This release includes a Graceful shutdown API. A graceful shutdown allows you to stop accepting new work and finish in-progress tasks.
Cache Control API
A fluid API CacheControl permits you to populate the HTTP Cache-Control header in an HTTP Response easily.
KSP 2
This release supports KSP 2 (starting from the version 2.0.2) and it's tested to work with Kotlin 2.
Jakarta Data
Micronaut Data provides implementation support for the Jakarta Data 1.0 specification, allowing developers to leverage Jakarta Data’s standardized approach to data access within Micronaut applications.
Protocol Buffers Json Support
Micronaut gRPC, thanks to a community contribution, adds a new module that adds the ability to send JSON-serialized messages via a POST HTTP 1.1 call.
Persistence
- Micronaut SQL updates ojdbc to
23.8.0.25.04, MariaDB to3.5.3, and MySQL Connector to9.2.0, Hikari to6.3.0, and Tomcat JDBC to11.0.7. - Micronaut Coherence updates to Coherence
25.03.1.
Cloud
- Micronaut AWS updates to AWS SDK v1
1.12.787, and AWS SDK v22.31.66. - Micronaut Azure updates to Azure Cosmos
4.71.0, and Azure SDK1.2.35. Moreover, it adds a new modulemicronaut-azure-tracingto use Azure Monitor Tracing. - Micronaut GCP updates to Google Auth Library OAuth2 HTTP
1.37.0, Google Cloud Core2.57.1, Google Cloud PubSub1.140.1, and Google Secret Manager2.64.0. - Micronaut Oracle Cloud updates to OCI SDK
3.67.2
Database Migration
- Micronaut Liquibase updates to Liquibase
4.32.0.
Reactive Libraries
- Micronaut Reactor updates to Project Reactor bill of materials (BOM)
2024.0.7.
Security
- Micronaut Security updates to Nimbus JOSE + JWT
10.3.
Miscellaneous
- Micronaut Langchain4J updates to the first stable release of Langchain4j.
- Micronaut Picocli updates to Picocli 4.7.7
- Micronaut MQTT updates to HiveMQ MQTT Client
1.3.7. - Micronaut Test updates to JUnit5
5.12.2, Mockito5.18.0, and REST-assured 5.5.5. - Micronaut Spring updates to Spring Boot
3.5.0and Spring6.2.8. - Micronaut Cache updates to Infinispan
15.2.4.Final, and Caffeine 3.2.1. - Micronaut logging updates to Logback
1.5.18and SLF4J 2.0.17. - Micronaut Views updates to Pebble
3.24, JTE3.2.1, and JStachio1.3.7. - Micronaut NATS updates to NATS Java Client
2.21.2 - Micronaut JMS updates to activemq-jakarta to
6.1.6, and artemis-jakarta-client to2.41.0. - Micronaut Neo4j updates to Neo4J Java Driver
5.28.5. - Micronaut Graal Languages updates to GraalPy
24.2.1. - Micronaut OpenSearch updates to OpenSearch
2.24.0.
NEXT STEPS
If you haven’t yet updated to Micronaut framework 4, this is an excellent opportunity to do so!
Please feel free to reach out to us if you need any assistance.
Micronaut Platform 4.8.3
Micronaut Platform 4.8.2
What's Changed
Other Changes 💡
-
Revert "fix(deps): update dependency io.micronaut.sourcegen:micronaut-sourcegen-bom to v1.7.3 (#1966)"
-
fix(deps): update dependency io.micronaut:micronaut-core-bom to v4.8.11 (#1973)
-
fix(deps): update dependency org.graalvm.nativeimage:svm to v23.1.7 (#1969)
-
fix(deps): update dependency org.graalvm.sdk:graal-sdk to v24.2.1 (#1974)
Full Changelog: v4.8.1...v4.8.2
Micronaut Platform 4.8.1
WARNING
Unfortunately there is an issue with the release. If you upgrade to 4.8.1 you will have to rollback the version of Micronaut SourceGen to 1.7.2
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == "io.micronaut.sourcegen") {
details.useVersion("1.7.2")
}
}
}
}What's Changed
Bug Fixes 🐞
-
Fix Shade Plugin exclusion filter by @alvarosanchez in #1961
-
fix(deps): update dependency org.projectlombok:lombok to v1.18.38 (#1957)
-
fix(deps): update dependency org.graalvm.python:graalpy-maven-plugin to v24.2.1 (#1970)
Micronaut Modules
- Micronaut Core 4.8.10
- Micronaut Maven Plugin 4.8.2
- Micronaut JSON Schema 1.5.2
- Micronaut Micrometer 5.10.1
- Micronaut Servlet 5.2.2
Full Changelog: v4.8.0...v4.8.1
Micronaut Platform 4.8.0
Micronaut Core Improvements
SourceGen integration
Micronaut Core 4.8.x has rewritten some of its internals leveraging Micronaut SourceGen. For example, Micronaut SourceGen powers bytecode generation of internal metadata and expressions.
Dependency Injection Debugging
Micronaut 4.8.0 allows you to activate dependency injection tracing to help you understand what Micronaut is doing at startup and when a particular bean is created.
@Client definitionType member
definitionType, a new member of the @Client annotation, helps in scenarios where you want to share an interface between client and server.
Bean Mappers Merging
Bean Mappers support merging:
@Introspected
record ChristmasPresent(
String packagingColor,
String type,
Float weight,
String greetingCard
) {
}
@Introspected
record PresentPackaging(
Float weight,
String color
) {
}
@Introspected
record Present(
Float weight,
String type
) {
}
public interface ChristmasMappers {
@Mapping(from = "packaging.color", to = "packagingColor")
@Mapping(from = "#{packaging.weight + present.weight}", to = "weight")
@Mapping(from = "#{'Merry christmas'}", to = "greetingCard")
ChristmasPresent merge(PresentPackaging packaging, Present present);
}Liveness Probe for Deadlocked Threads
Thanks to a community contribution, Micronaut 4.8.0 ships a new liveness probe that uses the ThreadMXBean to check for deadlocked threads.
Improved Kubernetes Integration
- Micronaut Kubernetes updates to Kubernetes Java Client
22.0.1and it adds the Micronaut Kubernetes Client OpenAPI module.
The Micronaut Kubernetes Client OpenApi is a Kubernetes client that uses Micronaut Netty HTTP Client and the generated APIs and modules from the OpenApi Spec of the official Java client library for Kubernetes.
Advantages of this client over the official Java client library for Kubernetes:
- No extra dependencies needed (OkHttp, Bouncy Castle, Kotlin, etc.)
- Unified configuration with Micronaut HTTP client
- Support for plugging in filters
- Native Image compatibility
Runtimes
Update to Jetty 12.
Jetty 11 contains an open CVE 2024-6763. That CVE is only addressed in Jetty 12. Because of that, we did a major upgrade of Micronaut Servlet updating to Jetty 12.0.18, Tomcat 11.0.5, and Undertow 2.3.18.Final.
Modules such as io.micronaut.aws:micronaut-function-aws-test, io.micronaut.gcp:micronaut-gcp-function-http-test, io.micronaut.azure:micronaut-azure-function-http-test, and io.micronaut.oraclecloud:micronaut-oraclecloud-function-http-test allow you to test and run during development your serverless HTTP triggered function as if you were using a runtime such as netty. We migrated these modules to use a built-in Java HTTP server instead of relying on a Jetty 11 bridge.
Runtime based on Built-In Java HTTP Server
This release introduces a new Server runtime based on the Built-In Java HTTP Server. It is now possible to have a Micronaut Application leveraging the built-in HTTP Server and HTTP Client available in Java without any extra dependencies.
Tracing, Observation, and Distributed Configuration
Micronaut Tracing updates to OpenTelemetry 1.48.0.
Micronaut Micrometer adds:
- A new module which enables instrumenting data sources for gathering traces and metrics around data source calls: connections, queries and result sets.
condition, a new member of the@MetricOptionsannotation, allows you to define an evaluated expression that can be used to indicate whether the metric should be processed.
Micronaut Discovery Client allows you to create a Consult watch to detect distributed configuration changes.
Build and Source Generation
Micronaut Gradle Plugins
Update the Micronaut Gradle Plugins version to use the latest version (as of this writing 4.5.1)
Generation of Sources from a JSON Schema
- Micronaut JSON Schema integrates with Micronaut Build plugins (Gradle and Maven) to make possible to generate source code from a JSON Schema specification. For example, checkout the JSON Schema Micronaut Gradle Plugin.
Source Generation
- Micronaut SourceGen, a module which exposes a language-neutral API for source code generation, has got a lot of improvements since Micronaut Framework 4.7.0.
Persistence
- Micronaut SQL updates ojdbc to
23.7.0.25.01, MariaDB to3.5.1, and MySQL Connector to9.2.0, Hikari to6.2.1, and Tomcat JDBC to11.0.5. - Micronaut Coherence 5.x updates to Coherence
25.03.
Database Migration
- Micronaut Flyway updates to Flyway
10.22.0 - Micronaut Liquibase updates to Liquibase
4.31.1.
Cloud
- Micronaut AWS updates to AWS lambda Events
3.15.0, AWS SDK v11.12.782, and AWS SDK v22.31.9. - Micronaut Azure updates to Azure Cosmos
4.67.0, and Azure SDK1.2.32. - Micronaut GCP updates to Google Auth Library OAuth2 HTTP
1.33.1, Google Cloud Core2.53.1, Google Cloud PubSub1.137.1, and Google Secret Manager2.59.0. - Micronaut Oracle Cloud adds a new module to integrate Kubernetes Client with the OKE and OCI Container Engine service, and it updates to OCI SDK
3.60.0.
Reactive Libraries
- Micronaut Reactor updates to Project Reactor bill of materials (BOM)
2024.0.4. - Micronaut RxJava3 update to RxJava3
3.1.10
Persistence
- Micronaut Redis updates to Lettuce
6.5.5.RELEASE. - Micronaut Mongo updates to Mongo Java Driver
4.11.5. - Micronaut R2DBC updates to r2dbc-io-asyncer-mysql to
1.4.0, oracle-r2dbc to1.3.0, r2dbc-mariadb to1.3.0, and r2dbc-postgresql to1.0.7.RELEASE.
Security
- Micronaut Security improves Oracle Cloud Identity Domain OpenID Connect integration and it adds support for the end-session endpoint when using Microsoft login.
Miscellaneous
- Micronaut Test updates to JUnit5
5.11.4, and Mockito5.15.2. - Micronaut OpenAPI got a lot of small improvements...