Featured image for: Building an API using Quarkus from the ground up.

Red Hat recently released version 2.7 of the Red Hat build of Quarkus to support enterprise developers building Kubernetes-native Java applications. The latest release has several great new features and performance improvements, including tools to improve developer productivity.

Let’s take a look at some highlights from this release. For a complete list, check out the release notes.

Developer productivity

One of the founding principles of Quarkus is to bring joy to Java developers by creating a frictionless experience through 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 Hibernate search, dev services, and a Kafka UI.

Hibernate search

Hibernate search is now fully supported, providing a powerful tool for free text search capability to data. Normal Jakarta Persistence API (JPA) queries are limited to SQL queries which only query per column. With Hibernate search, developers can easily express how their Java model should be indexed and searchable. Hibernate search can also extend web page search to a full-text search of your Java domain, including searches for synonyms, sound-alike words, and more. Check out the documentation and the Quarkus Insights session to learn more, or watch this video on Hibernate Search from Red Hat Developer.

Dev services

When an application starts in dev mode, dev services provide automatic provisioning of unconfigured services, such as a database or identity server. When Quarkus adds the service extension, it automatically starts the relevant service and wires your application to use it. This release adds to the growing list of dev services, including Neo4j, Keycloak, Infinispan, Vault, and more.

Kafka UI

The Kafka UI (Figures 1 and 2) allows developers to visualize Apache Kafka Streams for reactive applications within the Dev UI. The UI shows how the event streams sink in topics and how applications consume the streams from topics. The UI illustrates how the application aggregates streams from multiple topics to a single topic. The UI also showcases the continuous sequence of sourcing, joining, and aggregating streams in Kafka clusters. The Red Hat Developer article Visualize your Apache Kafka Streams using the Quarkus Dev UI has more on this topic.

Quarkus Dev UI with Kafka Streams
Dev UI Console
Figure 1: Dev UI console.
Quarkus Kafka UI
Quarkus Kafka UI
Figure 2: Quarkus Kafka UI.

Performance and framework efficiency

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.

UPX

UPX is an open source, portable, high-performance executable packer that takes an executable as input and produces a compressed executable. Quarkus can now automatically perform UPX compression as part of the container creation process. By using UPX to compress a native executable, developers can build containers that are smaller than 30MB with Quarkus in them. Learn more about compressing native executables using UPX.

Kubernetes-Native

Quarkus enables Java developers to create performant, easily deployable and maintainable applications on Kubernetes and the Red Hat OpenShift Container Platform. This release includes many impactful Kubernetes-Native features.

SmallRye Stork

In a distributed microservice architecture, discovery and load balancing can be challenging with interactions between services. Developers can use Stork (currently in tech preview) to fully abstract away the service discovery for Consul, Eureka, Kubernetes/OpenShift, or static machines. Learn more about how to use SmallRye Stork in the Quarkus guide, or check out this Red Hat Developer video on the subject.

Community and standards

Quarkus starts and ends with the community. Quarkus includes a vast ecosystem of over 400 extensions and support for popular Java APIs and standards. This release continues that mission with new features and standards support.

Java 17 support

This release includes improved developer tools for using Java 17. Now you can generate projects based on Java 17 without manually configuring the version. This release also includes a Technology Preview for Java 17 in native mode (Figure 3).

Quarkus code generator for Java 17
Quarkus code generator for Java 17
Figure 3: Quarkus code generator for Java 17.

Try Quarkus

The best way to experience the new features of Quarkus is to start using it. Generate your code at code.quarkus.redhat.com.

You can find more Quarkus resources on Red Hat Developer:

Last updated: August 14, 2023