Skip to content

Releases: micronaut-projects/micronaut-platform

Micronaut Platform 4.10.0

22 Oct 05:37

Choose a tag to compare

AI

Micronaut Core

Micronaut Core 4.10.7 enables:

Runtimes

  • New certificate provider configuration for more flexibility and better reloading
  • New ReadBuffer API to replace ByteBuffer<?>
  • 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 Undertow 2.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

Serialization and Data Formats

Dev & Test

Reactive Libraries

Cloud

Configuration

Messaging

Views

Errors

Analytics

API

Update

Misc

Build

Maven Plugins

Core Maven

Micronaut Maven Plugin

  • [Micronaut...
Read more

Micronaut Platform 4.9.4

03 Oct 08:27

Choose a tag to compare

v4.9.3

26 Aug 13:28

Choose a tag to compare

What's Changed

Other Changes 💡

Full Changelog: v4.9.2...v4.9.3

Micronaut Platform 4.9.2

31 Jul 11:47

Choose a tag to compare

Micronaut Platform 4.9.1

08 Jul 12:11

Choose a tag to compare

Micronaut Platform 4.9.0

25 Jun 18:45

Choose a tag to compare

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 to 3.5.3, and MySQL Connector to 9.2.0, Hikari to 6.3.0, and Tomcat JDBC to 11.0.7.
  • Micronaut Coherence updates to Coherence 25.03.1.

Cloud

Database Migration

Reactive Libraries

Security

Miscellaneous

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

12 Jun 09:07

Choose a tag to compare

Micronaut Platform 4.8.2

17 Apr 18:54

Choose a tag to compare

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)

  • Micronaut Core 4.8.11

Full Changelog: v4.8.1...v4.8.2

Micronaut Platform 4.8.1

15 Apr 16:28

Choose a tag to compare

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

Full Changelog: v4.8.0...v4.8.1

Micronaut Platform 4.8.0

01 Apr 09:20

Choose a tag to compare

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

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:

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

Source Generation

Persistence

  • Micronaut SQL updates ojdbc to 23.7.0.25.01, MariaDB to 3.5.1, and MySQL Connector to 9.2.0, Hikari to 6.2.1, and Tomcat JDBC to 11.0.5.
  • Micronaut Coherence 5.x updates to Coherence 25.03.

Database Migration

Cloud

Reactive Libraries

Persistence

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

Read more