Micronaut Framework 4.4.0 Released!
by Sergio Del Amo CaballeroMicronaut Core
Micronaut Core contains several improvements, including performance optimizations. Moreover, native image binaries of Micronaut framework 4.4.0 should be smaller.
In addition, since Micronaut framework 4.4.0, any Project Reactor blocking operations throw an exception when they are done on an event loop thread. This new behaviour will help you identify the controller’s methods, which you must annotate with @ExecuteOn to avoid performance loss or dead locks in the event loop.
Kotlin 1.9.23
This minor release updates to Kotlin 1.9.23 and KSP 1.9.23-1.0.20.
New Modules
Micronaut OpenSearch
Micronaut OpenSearch simplifies integration with OpenSearch.
New Features
Micronaut Views
Micronaut Views adds the ability to render Thymeleaf fragments. Moreover, it adds support for HTMX.
Micronaut Data
Micronaut Data adds a new annotation @ParameterExpression:
@Query("INSERT INTO Book(title, pages) VALUES (:title, :pages)")
@ParameterExpression(name = "title", expression = "#{book.title + 'ABC'}")
@ParameterExpression(name = "pages", expression = "#{book.pages}")
void insertCustomExp(Book book);
Cloud
Micronaut Tracing
Micronaut Tracing updates to OpenTelemetry version 1.36.0.
The latest binary release of the OpenTelemetry Collector no longer includes exporters for the native Jaeger format. Jaeger has support for OTLP out of the box. If you had the dependency `io.opentelemetry:opentelemetry-exporter-jaeger` in your application, replace it with `io.opentelemetry:opentelemetry-exporter-otlp`. Also, in your application configuration, replace `otel.tracer.exporter=jaeger` with `otel.tracer.exporter=otlp` and supply the `otlp` endpoint.
If you had in your application the dependency `io.opentelemetry:opentelemetry-sdk-extension-aws` use dependencies from OpenTelemetry Java Contrib library such `io.opentelemetry.contrib:opentelemetry-aws-xray-propagator` instead.
Micronaut Kubernetes
Micronaut Kubernetes updates Kubernetes & OpenShift Java Client to 6.11.0 and Kubernetes Java Client to 19.0.1.
Micronaut AWS
Micronaut AWS updates to:
- AWS SDK for Java 2.0 2.24.10
- AWS SDK for Java 1.0 1.12.691
Micronaut Azure
Micronaut Azure updates to:
- Cosmos 4.57.0
- Azure SDK 1.2.22
- Library for Azure Java Functions 3.1.0
Micronaut GCP
Micronaut GCP updates to:
- Google Cloud Core 2.36.1
- Google Secret Management Client for Java 2.41.0
- Google Cloud Pub/Sub Client for Java 1.128.0
- Google Auth Library 1.23.0
Micronaut Oracle Cloud
Micronaut Oracle Cloud adds support to session-based authentication, instance metadata service v2, and it improves OCI configuration file support.
It updates to fn 1.0.186.
Micronaut Object Storage
Micronaut Object Storage updates to GCP Cloud Client Libraries 26.35.0.
Data Access
Micronaut SQL
Micronaut SQL updates to:
- Tomcat JDBC 10.1.20
- MySQL Driver 8.0.33
- MySQL Connector 8.3.0
- MariaDB 3.3.3
- PostgreSQL 42.7.3
- MSSQL 12.6.1.jre11
- JDBI 3.45.1
- Hibernate Reactive 2.2.2.Final
- Hibernate 6.4.4
- jOOQ 3.19.7
- Vert.x 4.5.7
- OJDBC 21.13.0.0
- JDBI 3.45.1
Micronaut EclipseStore
Micronaut EclipseStore adds support for Cache. Moreover, it updates to EclipseStore 1.2.0.
Micronaut Microstream
Micronaut MicroStream updates to MicroStream 08.01.02-MS-GA.
Micronaut Redis
Micronaut Redis updates to Lettuce 6.3.2.
Micronaut R2DBC
Micronaut R2DBC updates to r2dbc-mysql v1.1.2.
Micronaut Neo4J
Micronaut Neo4j updates to Neo4J Java driver and Neo4J Harness 5.17.0. Neo4J Harness has been deprecated and will be removed in Micronaut framework 5. We recommend using Testcontainers Neo4j instead.
Database Migration
Micronaut Flyway
Micronaut Flyway updates to Flyway 10.10.0, and it improves the usage of custom configuration.
Micronaut Liquibase
Micronaut Liquibase updates to Liquibase 4.26.0.
Messaging
Micronaut NATS
Micronaut NATS updates to jnats 2.17.4.
Micronaut Kafka
Micronaut Kafka updates to Kafka `3.7.0` and improvements to Kafka Errors and conditional retries.
Micronaut HiveMQ
Micronaut MQTT improves the SSL configuration support for HiveMQ client.
Micronaut JMS
Micronaut JMS adds the @MessageTTL annotation that can be applied to a method argument to indicate that the argument is bound from the JMS TTL attribute.
Micronaut Pulsar
Micronaut Pulsar updates the Pulsar Java Client to 3.2.2.
Languages
Micronaut Kotlin
Micronaut Kotlin updates to Ktor 2.3.9.
Testing
Micronaut Test
Micronaut Test updates to:
Micronaut Test Resources
Micronaut Test Resources adds support for OpenSearch.
Runtimes
Micronaut Servlet
Micronaut Servlet updates to:
API
Micronaut gRPC
Micronaut gRPC updates to:
- gRPC 1.62.2
- `protobuf` 3.25.3
Micronaut GraphQL
Micronaut GraphQL updates to GraphQL Java version 21.5.
Analytics
Micronaut Elasticsearch
Micronaut Elasticsearch updates to Elasticsearch 8.13.0.
Micronaut Micrometer
Micronaut Micrometer updates to Micrometer 1.12.4.
Reactive Libraries
Micronaut Reactor
Micronaut Reactor updates to Project Reactor 2023.0.4.
Other
Micronaut Email
Micronaut Email updates to:
- Jakarta Mail API 2.1.3
- Angus Mail 2.0.3
- Sendgrid 4.10.2
Micronaut Logging
Micronaut Cache
Micronaut Cache updates to:
- Infinispan 14.0.27
- Hazelcast 5.3.7
Micronaut Serialization
Micronaut Serialization adds support for renaming constructor arguments and choosing a different constructor via mixins.
Micronaut Spring
Micronaut Spring updates to:
- Spring Boot 3.2.4.
- Spring Framework 6.1.6
It supports mapping `org.springframework.web.bind.annotation.RequestPart` to `io.micronaut.http.annotation.Part`
Micronaut ACME
Micronaut ACME updates to acme4j-client 3.2.1. Micronaut Security.
Micronaut Security adds the locale and host to security events.
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.