Continuing the mission to support enterprise developers in building Kubernetes-native Java applications, Red Hat has released version 3.2 of the Red Hat build of Quarkus. The latest release has a number of great features and performance improvements including tools to improve developer productivity.
Let’s take a look at the highlights of this release. For a complete list of new features, check out the official Red Hat build of Quarkus 3.2 release notes.
New features improve developer productivity
One of the founding principles of Quarkus is to provide joy to Java developers by creating a frictionless experience with a combination of tools, libraries, extensions, and more. This release continues that mission by making developers more efficient with new tools and services such as DevUI, Quarkus CLI, and PACT contract testing.
Red Hat build of Quarkus 3.2 includes a new and improved Dev UI (Figure 1) with many new features, including new menu navigation, the ability to view and update configuration files, view Dev Services information, manage and visualize continuous testing, view build information, and more. You can access the new Dev UI at /q/dev-ui while in Dev Mode. For more information, refer to the Dev UI guide.
Check out the Dev UI playlist on the Quarkus YouTube channel to learn more.
The Quarkus command line tool now includes almost thirty various commands to create projects, manage extensions, and perform essential build and dev commands. This release includes additional features, such as the Quarkus deploy command that enables the deployment of Quarkus applications to platforms like Kubernetes, Knative, and Red Hat OpenShift without requiring changes to the project dependencies or configuration. Visit the Quarkus blog for a list of supported commands and more about the Quarkus CLI.
Red Hat build of Quarkus 3.2 introduces Pact contract-based testing capability, which has a significant impact on the development process for Quarkus developers. Quarkus provides out-of-the-box support for Pact, allowing developers to easily integrate it into their testing and deployment workflows without any additional setup. This can help save time and ensure that developers can focus on writing code. Read this blog post for more information about using Pact.
The following 6-minute video, "Quarkus 3 Technical Spotlight: PACT contract testing", describes the benefits of contract testing.
New Kubernetes-native features
Quarkus enables Java developers to create performant, easily deployable, and maintainable applications on Kubernetes. This release includes impactful Kubernetes-native features, including a new Dev Service for Kubernetes deployments.
Kubernetes Dev Services
It can be difficult for developers to get access to a Kubernetes cluster for local development. Red Hat build of Quarkus 3.2 includes a new Dev Service for Kubernetes that automatically starts and configures a Kubernetes API server in dev mode and when running tests utilizing Docker. Dev Services for Kubernetes implements a service discovery mechanism for your Quarkus applications running in dev mode to share a single cluster.
Learn more about Dev Services for Kubernetes.
More efficient framework performance
Quarkus makes Java supersonic and subatomic with fast startup times, low memory footprint, and a small disk footprint. This release continues to improve the Quarkus framework's performance and efficiency.
Hibernate ORM 6.2 is a major upgrade to the main persistence layer of Quarkus. It brings a lot of improvements and new features, including migration to the Jakarta Persistence 3.0 specification, performance improvements to JDBC, and more. The move to Hibernate 6.2 introduces many great features, but it also introduces a few breaking changes. We created a Hibernate migration guide to make the upgrade from version 5 to 6 as smooth as possible.
Hibernate Reactive 2
Hibernate Reactive has been upgraded to version 2.0 to be compatible with Hibernate ORM 6. Hibernate Reactive supports non-blocking database drivers and provides a reactive style of interaction with the database.
Learn how to use Hibernate Reactive.
Red Hat build of Quarkus 3.2 introduces a new Azure Functions integration that allows developers to bootstrap Quarkus automatically using CDI beans during the implementation of the function. Azure Functions provides a serverless platform on Azure cloud for developers to build, deploy, and manage event-driven serverless functions with multiple languages, Azure services integration, scalability, and good developer experience.
Refer to the Azure Functions guide for more information. The following 10-minute video, "Quarkus 3 Technical Spotlight: Natively integrating with Azure Functions," demonstrates how this new Azure Functions integration works.
Community and standards
Quarkus begins and ends with the community. Quarkus includes a vast extension ecosystem of over 400 extensions in addition to support for popular Java APIs and standards. This release continues that mission with new features and standards support.
Java SE 11 and 17
Red Hat build of Quarkus 3.2 continues to target the minimal version of Java 11 with Java 17 as the recommended version. We will continue to revise the minimal Java version based on user feedback and the uptake of Java 17 in the ecosystem.
Jakarta EE APIs
Red Hat build of Quarkus 3.2 has updated to the latest Jakarta APIs, which includes a community alignment around the new jakarta*. package names. We know this is a big change, so we included an automated update tool to minimize your effort and make migrating as smooth as possible.
Red Hat build of Quarkus 3.2 is aligned with MicroProfile 6.0 and Jakarta EE Core Profile 10. The Micrometer Metrics extension is recommended over the deprecated SmallRye Metrics implementation of MicroProfile Metrics.
We want to make migrating to Red Hat build of Quarkus 3.2 seamless for our users. With that in mind, we have created a migration guide and automated tooling to facilitate this process, including migrating to Hibernate 6.2 and Jakarta EE APIs.
The Red Hat build of Quarkus 3.2 release is a major release. With a major release, each feature is fully supported for one year until the next feature release (approximately every 6 months). When a feature release is superseded by a new version, Red Hat continues to provide six months of maintenance support.
Rapid Reset (CVE-2023-44487), affecting the HTTP/2 protocol is fixed in this release. It impacts many products, including old and new versions of Quarkus. While we typically fix such issues in newer versions, we have backported fixes to the 2.13 stream and also applied them to the finalized 3.2 version. Due to this approach, some CVE scanning tools might show false positives for this CVE. However, since Red Hat builds from source, we can address the flaw in the current version with a new build number.
The best way to experience the new features of Quarkus is to start using it. You can generate your code at: code.quarkus.redhat.com.
You can find more Quarkus resources on Red Hat Developer: