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.6.0 Released!

by Sergio Del Amo Caballero Tags:

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

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

GraalVM 22.2.0

Micronaut framework 3.6.0 supports the latest GraalVM 22.2.0.

Test Resources

Micronaut Test Resources adds support for managing the external resources needed during development or testing.

It integrates with Testcontainers to provide throwaway containers for testing or local development. The Test Resources Architecture turns Testcontainers into a background service that build tools can interact with. This approach has many advantages (persistent reusable containers, cleaner classpath, fast hot reloads, native testing, etc.).

This initial release provides support for:

  • JDBC and R2DBC databases such as MariaDB, MySQL, Oracle Express Edition, PostgreSQL, and Microsoft SQL Server
  • Elasticsearch
  • Kafka
  • MongoDB
  • MQTT
  • Neo4J
  • RabbitMQ
  • Redis
  • Hashicorp Vault

Moreover, Test Resources is easy to extend if the previous list does not cover your needs.

Test Resources Gradle Support

You can use Test Resources today by adding the Micronaut Test Resources Gradle Plugin.

Test Resources Maven Support

Integration with Micronaut Test Resources is available for Maven Micronaut applications and the Micronaut Maven Plugin.

You can enable test resources support by setting the property micronaut.test.resources.enabled.

OpenTelemetry

Since its initial release, the Micronaut framework has provided support for distributed tracing via Open Tracing. The latest release of Micronaut Tracing includes tracing support for OpenTelemetry.

OpenTelemetry:

OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior.

To get you started, we have written multiple guides:

Hibernate Reactive

Micronaut Data offered reactive persistence solutions such as Micronaut Data R2DBC.

We are happy to announce another reactive persistence option for Micronaut Users. Micronaut framework 3.6.0 adds integration with Hibernate Reactive. Hibernate Reactive is based on Vert.X, and implements the well-known concepts of JPA and Hibernate ORM based on the reactive programming paradigm.

You can use either Hibernate Reactive by itself with the appropriate Vertx driver or use Micronaut Data Hibernate Reactive, which adds support for the repository pattern on top of Hibernate Reactive, automatically implementing the most common queries for you!

You can generate a Micronaut application with Hibernate Reactive via the Micronaut CLI or Micronaut Launch.

Database Micronaut Data Hibernate ReactiveW
MariaDB data-hibernate-reactive, mariadb
MySQL data-hibernate-reactive, mysql
Oracle data-hibernate-reactive, oracle
PostgreSQL data-hibernate-reactive, postgres
SQL Server data-hibernate-reactive, sqlserver

To get you started, read the Hibernate Reactive guides:

Micronaut Data

Micronaut Data features other improvements such as:

Micronaut Framework and Azure

Micronaut applications on NubesGen

What is NubesGen?

NubesGen is a Web application that generates a cloud infrastructure using Terraform or Bicep: you select easy-to-understand options (“an application server”, “a PostgreSQL database”), and it’ll generate a state-of-the-art configuration that you can import and tweak in your project.

Now you can create Micronaut Applications with NubesGen.

Azure Key Vault

Micronaut Azure adds support to Azure Key Vault.

Azure Key Vault is a secure and convenient storage system for API keys, passwords and other sensitive data.

JOOQ

Micronaut SQL jOOQ ships with jOOQ 3.15. First jOOQ release purely reactive, thanks to a native R2DBC integration.

Don’t apply a @Filter for services

It is possible to exclude services from an HTTP Client Filter with the member excludeServiceId of @Filter.

@Filter(patterns = '/**', excludeServiceId = 'authClient')
public class AppHttpClientFilter implements HttpClientFilter {

Netty runtime

This version upgrades Netty from 4.1.77 to 4.1.79. Additionally, it contains improvements to the API to configure the Netty Client Pipeline and to configure the Netty Server Pipeline.

Improvements to HtttpClientException

If present a serviceId field is populated in the HttpClientException and shown in the exception message.

REST Assured

Micronaut Test adds a small utility module to help you integrate with the REST-assured library. We wrote a guide to show you how to use Micronaut Test REST-assured in a Micronaut application.

Micronaut Gradle Plugin

The Micronaut Gradle Plugin allows you to define the GraalVM JDK architecture via a configuration extension:

 dockerfileNative {
     graalArch.set("amd64")
 }

Starter Features

You can select a new community feature agora-micronaut-permissions via Micronaut Launch/CLI Features. Agora Micronaut Permissions is a lightweight library to declare object-level permissions in the Micronaut framework built by the Agorapulse team.

CI Configuration Files

You can now generate a Continuous Integration (CI) configuration files to build your Micronaut applications with the following features:

CI Feature
AWS CodeBuild aws-codebuild-workflow-ci
Github Actions github-workflow-ci
Google Cloud Build google-cloud-workflow-ci
Oracle Cloud Devops Build CI oci-devops-build-ci

Modules

Micronaut AWS

New versions of the Micronaut AWS module allow you to override the S3 endpoint URL via configuration. Also, it is now possible to inject a bean of type ApiGatewayManagementApiClient.

LATEST AWS SDKS

Micronaut AWS updates to:

  • Alexa ASK SDK 2.43.7
  • AWS Java SDK v1 to 1.12.273
  • AWS Java SDK v2 to 2.17.244
  • AWS Lambda Events to 3.11.0
  • AWS Lambda Java Core to 1.2.1
  • AWS Serverless Java Container to 1.8.2
  • CDK Lib to 2.35.0

Cache Dependencies Upgrade

Micronaut Cache updates to:

  • Caffeine to 2.9.3
  • Hazelcast to 2.5
  • Inifinispan to 12.1.12.Final

Micronaut Groovy

Micronaut Groovy updates to GORM 7.3.0.

Micronaut GCP

Micronaut GCP updates to:

  • Google Cloud Secret Manager 2.3.0
  • Google Cloud Core: 2.8.6
  • Google Cloud Native Image Support 0.14.1
  • Google Auth 1.9.0

Micronaut Serialization

Micronaut Serialization updates to MongoDB BSON 4.7.1 and adds a static method io.micronaut.serde.ObjectMapper::getDefault() to get an ObjectMapper instance. This method should be invoked when access to the context is impossible.

Micronaut Servlet

Micronaut Servlet updates to:

  • Tomcat Embedded Core 9.0.65
  • Jetty 9.4.48.v20220622
  • Undertow 2.2.18.final

Micronaut Reactor

Micronaut Reactor updates Project Reactor to 3.4.21.

Micronaut MongoDB

Micronaut MongoDB updates Mongo to 4.71.1. It adds support for Micronaut Serialization and fixes the health indicator and codes for enum types.

Micronaut Email

Micronaut Email updates SendGrid Java client to 4.9.3.

Schema Migration modules

Micronaut Flyway updates Flyway to 8.5.13. Micronaut Liquibase updates Liquibase to 4.14.0, and it features improvements to reduce start time when there is no migration to apply.

MicroStream 1.0.0

The GA release of Micronaut Microstream 1.0.0 is out! First-class support for MicroStream has been added to the Micronaut framework showcasing the creation of an open-source integration between the Micronaut framework and MicroStream. MicroStream is a Micronaut Foundation Silver Corporate Sponsor.

Micronaut Kafka

Micronaut Kafka ships with Kafka 2.8.1. Micronaut framework 4.0 will ship with Kafka 3.

BOM and Gradle Version Catalog

Several modules publish a BOM (Bill of materials) module and/or use a Gradle Version Catalog: Micronaut Cassandra, Micronaut Elasticsearch, Micronaut GCP, Micronaut GraphQL, Micronaut Jackson XML, Micronaut Micrometer, Micronaut Neo4j, Micronaut RabbitMQ, Micronaut Reactor, Micronaut Redis, Micronaut RxJava3, Micronaut TOML, and Micronaut Views.

TestContainers instead of Redis Embedded Server

The embedded Redis server that can be used for testing has been changed to only bind to localhost. Our recommendation is to use Testcontainers instead. Embedded Redis server will be removed in a future version.

Binary Static Content with Micronaut Views JTE

Micronaut Views JTE supports binary static content.

Improvements to OpenAPI

Thank you to community contributor @altro3. He has improved the Micronaut OpenAPI module with many new features (support @ExternalDocumentation, uri member for the @OpenAPIInclude annotation, …) and many bug fixes.

COMMUNITY FEEDBACK

We want to thank all the contributors; the community is essential to the Framework’s success! Please try upgrading your existing applications to this new minor release and report any issues you find. See the documentation for further details and use GitHub to report any issues.