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 3.3 Released

by James Kleeh Tags:

The Micronaut team is excited to announce the release of Micronaut framework 3.3!

This release introduces new features to the framework. Those features are detailed below.

GraalVM 22.0.0

Micronaut framework 3.3 supports the latest GraalVM 22.0.0.

AOP Interceptor Binding

When binding an AOP annotation to an interceptor, only the presence of the annotation is used to determine if the interceptor should be applied. Now it’s possible to also bind based on the values of the annotation. To enable this feature, set the bindMembers member of the InterceptorBinding annotation to true.

Netty Buffer Allocation

It is now possible to configure the default Netty buffer allocator.

Improved Flexibility in Class Style

Many features of the Micronaut framework rely on the convention of getters and setters. Due to things like records and builders, the method names we look for are now configurable with the @AccessorStyle annotation. The annotation can be placed on @ConfigurationProperties beans to allow for binding configuration to methods that do not begin with set, for example. It can also be used with classes annotated with @Introspected.

Access Log Exclusions

The Netty access logger now supports excluding requests based on a set of regular expression patterns that match against the URI. See AccessLogger configuration.

New Serialization/Deserialization Module

Micronaut Serialization is a new module created as an alternative to Jackson. It supports serializing and deserializing Java types (including Java 17 records) to and from JSON and other formats.

Users now have the choice of an alternative implementation that’s largely compatible with existing Jackson annotations but contains many benefits, including the elimination of reflection, compile-time validation, greater security because only explicit types are serializable, and reduction of native image build sizes, build times, and memory usage.

New Email Module

Micronaut Email is a new module to ease sending emails from a Micronaut application. It provides integration with transactional email providers such as Amazon Simple Email Service, Postmark, Mailjet, and SendGrid

Micronaut AOT

During this minor cycle, we released a milestone release of a new module: Micronaut AOT. You can use the build-time optimizations provided by the module to achieve faster startup times via the Micronaut Gradle Plugin. You can read more about it in the announcement blog post.

Micronaut Security

Micronaut Security 3.3.0 adds support for X.509, the ability to toggle redirection configuration, and a new BOM (Bill of Materials) module.

Micronaut Kafka

Micronaut Kafka 4.1.0 adds Kafka Transactions support.

Micronaut OpenAPI

Micronaut OpenAPI 4.0.0 provides support for @AccessorsStyle and better handling of @ApiResponse annotation.

Micronaut Kotlin

Micronaut Kotlin 3.1.0 upgrades to Kotlin 1.6.10

Micronaut Kubernetes

Micronaut Kubernetes 3.3.0 adds Kubernetes operator support and RxJava3 Kubernetes client.

Micronaut Problem-JSON

Micronaut Problem 2.2.0 upgrades to problem 0.27.1, and it and a new BOM (Bill of Materials) module.

Schema Migration Modules

Environment Endpoint

When the Micronaut Management module is added to a project, the environment endpoint is enabled by default. The environment endpoint logs application configuration and masked values based on a set of keywords present in the key. To make this endpoint more secure, it is now disabled by default. If enabled, all values are masked by default. A new API, EnvironmentEndpointFilter, has been created to allow applications to customize which keys should have their values masked and which keys should not have their values masked. See the documentation for the full details.

Community Feedback

We would like to thank all the contributors; the community is incredibly important to the success of the Framework. Please try upgrading your existing applications to this milestone and report any issues you find! See the documentation for further details and use GitHub to report any issues.