Continuing the mission of supporting enterprise developers to build cloud-native and Kubernetes-native Java applications, Red Hat has released version 3.8 of the Red Hat build of Quarkus. The latest release has some great features and performance improvements including tools to improve developer productivity.
Let’s take a look at some highlights of this release. For a complete list of new features, check out the official Red Hat build of Quarkus 3.8 release notes.
Improved 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. In this release, developers can access local development and testing services easily using new tools and services, such as new Dev Services.
Dev Services for OpenSearch and Elasticsearch
The Red Hat build of Quarkus 3.8 now includes Dev Services for both Elasticsearch and OpenSearch search engines. This provides developers with even more options when utilizing search engines to build solutions for data-intensive applications.
When you use Hibernate Search in your Quarkus application, Dev Services defaults to starting Elasticsearch or OpenSearch based on your Hibernate Search configuration.
Learn more about Elasticsearch and OpenSearch Dev Services here.
Efficient framework performance
Quarkus makes Java supersonic and subatomic with its fast startup times, low memory footprint, and small disk footprint. This release continues to improve the Quarkus framework's performance and efficiency with support for new Java capabilities.
Virtual thread support
Red Hat build of Quarkus 3.8 provides support for Java virtual threads that reduce the effort of writing, maintaining, and debugging high-throughput concurrent applications. Virtual threads provides a significant performance boost for a variety of applications including REST, gRPC, and messaging systems like Kafka and AMQ, as well as periodic task execution.
Virtual threads:
- Enhances the management of concurrent tasks, improving scalability and resource efficiency.
- Enhances the imperative programming model by improving resource efficiency with virtual threads, which are inexpensive to block.
- Simplifies the concurrency model, streamlining code base maintenance.
- Reduces thread context switching overhead, resulting in lower latency and higher throughput.
- Enables better multicore processor utilization, allowing more concurrent tasks without heavy context-switching penalties.
- Limitations: libraries pinning the carrier thread might delay adoption until the Java ecosystem fully embraces virtual-thread compatibility.
To learn more about Quarkus’ support of virtual threads, take a look at these blog posts or this guide on quarkus.io.
This video demonstrates how to integrate Loom in Quarkus.
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 21
Red Hat build of Quarkus 3.8, Java 21 is now the recommended version with continued support of Java 17 as well. With this release, support for Java 11 has been removed completely.
Upgrade today
We want to make migrating to Red Hat build of Quarkus 3.8 seamless for our users. With that in mind, we have created a migration guide and automated tooling to facilitate this process.
Support
Starting with the Red Hat build of Quarkus 3.2, Red Hat provides a 3-year life cycle for major releases. Red Hat build of Quarkus release version numbers are directly aligned with the Long-Term Support (LTS) versions of the Quarkus community project. See Figure 1.
Try Quarkus
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:
Last updated: May 22, 2024