Release Notes for Red Hat build of Quarkus 1.3

Red Hat build of Quarkus 1.3

Abstract

This document contains release notes for Red Hat build of Quarkus 1.3.

Preface

These release notes list new features, features in technology preview, known issues, and issues fixed in Red Hat build of Quarkus 1.3.

Chapter 1. Red Hat build of Quarkus

Red Hat build of Quarkus is a Kubernetes-native Java stack that is optimized for use with containers and Red Hat OpenShift Container Platform. Quarkus is designed to work with popular Java standards, frameworks, and libraries such as Eclipse MicroProfile, Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Spring, Infinispan, and Apache Camel.

The Quarkus dependency injection solution is based on CDI (contexts and dependency injection) and includes an extension framework to expand functionality and to configure, boot, and integrate a framework into your application.

Quarkus provides a container-first approach to building Java applications. This approach makes it much easier to build microservices-based applications written in Java as well as enabling those applications to invoke functions running on serverless computing frameworks. For this reason, Quarkus applications have small memory footprints and fast start-up times.

Chapter 2. Red Hat build of Quarkus supported platforms, configurations, extensions, and dependencies

This section lists supported environments, configurations, extensions, and dependencies in Red Hat build of Quarkus.

2.1. Tested and verified environments

Red Hat build of Quarkus is supported on the following platforms:

  • Red Hat Enterprise Linux 8
  • Red Hat OpenShift Container Platform 3.11 on x86_64
  • Red Hat OpenShift Container Platform 4.3 on x86_64
  • Red Hat OpenShift Container Platform 4.3 on IBM Z (supported with Quarkus 1.3.4)
Note

Only the database client is tested and verified, not the server.

2.2. Supported configurations

2.3. Supported extensions and dependencies

Red Hat provides production support for the following Red Hat build of Quarkus extensions and dependencies:

  • quarkus-agroal
  • quarkus-config-yaml
  • quarkus-core
  • quarkus-hibernate-orm
  • quarkus-hibernate-orm-panache
  • quarkus-hibernate-validator
  • quarkus-jackson
  • quarkus-jaxb
  • quarkus-jdbc-mariadb
  • quarkus-jdbc-mssql
  • quarkus-jdbc-mysql
  • quarkus-jdbc-postgresql
  • quarkus-jsonb
  • quarkus-jsonp
  • quarkus-kafka-client
  • quarkus-logging-json
  • quarkus-narayana-jta
  • quarkus-oidc
  • quarkus-quartz
  • quarkus-reactive-pg-client
  • quarkus-rest-client
  • quarkus-resteasy
  • quarkus-resteasy-jackson
  • quarkus-resteasy-jaxb
  • quarkus-resteasy-jsonb
  • quarkus-scheduler
  • quarkus-smallrye-context-propagation
  • quarkus-smallrye-fault-tolerance
  • quarkus-smallrye-health
  • quarkus-smallrye-jwt
  • quarkus-smallrye-metrics
  • quarkus-smallrye-openapi
  • quarkus-smallrye-opentracing
  • quarkus-smallrye-reactive-messaging
  • quarkus-smallrye-reactive-messaging-amqp
  • quarkus-smallrye-reactive-messaging-kafka
  • quarkus-smallrye-reactive-streams-operators
  • quarkus-spring-boot-properties
  • quarkus-spring-data-jpa
  • quarkus-spring-di
  • quarkus-spring-security
  • quarkus-spring-web
  • quarkus-undertow
  • quarkus-undertow-websockets
  • quarkus-vertx
  • quarkus-vertx-web

2.4. Development support

Red Hat provides development support for the following Red Hat build of Quarkus features, plug-ins, extensions, and dependencies:

Features

  • Live development mode
  • Debugging

Plug-ins

  • Quarkus Maven plug-in (quarkus-maven-plugin)
  • Maven Surefire plug-in (maven-surefire-plugin)

Extensions and dependencies

  • quarkus-jdbc-derby
  • quarkus-jdbc-h2
  • quarkus-openshift
  • quarkus-junit5
  • rest-assured

Chapter 3. Deprecated components and features

The components and features listed in this section are deprecated with Red Hat build of Quarkus 1.3. They are included and supported in this release, however no enhancements will be made to these components and features and they might be removed in the future.

  • The quarkus-smallrye-opentracing extension
  • The use of ReactiveX APIs
  • The reactive-streams-operators API

Chapter 4. Technology preview

This section lists features and extensions that are in Technology Preview in Red Hat build of Quarkus 1.3.

Important

These features are for Technology Preview only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information on Red Hat Technology Preview features, see Technology Preview Features Scope.

Features

  • Native compilation using GraalVM
  • Remote development

Extensions and dependencies

  • quarkus-mutiny
  • quarkus-resteasy-mutiny
  • quarkus-keycloak-authorization

Chapter 5. Known issues

This section lists known issues with Red Hat build of Quarkus 1.3.

  • If you add the smallrye-reactive-messaging extension, a warning message about ReactiveX appears when you close Quarkus even if you are not using Reactive APIs in your code. For more information, see Red Hat article 4954651.
  • The quarkus-container-image-s2 extension, which is typically used indirectly through the quarkus-openshift extension, treats the Red Hat OpenJ9 images recommended for s390x architecture as if they do not include the run-java.sh script. This affects the generated openshift.yml file.

    If the image uses the run-java.sh script, the container definition only includes several environment variables. It does not include a command that should be executed in the container. Instead, the default S2I run script is used which executes the run-java.sh script.

    If the image does not use the run-java.sh script, the container definition includes the java command that should be executed in the container.

    One difference between these scenarios is that the run-java.sh script changes the current working directory to the directory where the application JAR file is located, typically /deployments. This is important when mounting a ConfigMap with the application.properties configuration file into the container filesystem. With the run-java.sh script, the ConfigMap typically must be mounted into the /deployments/config directory, while with the other images, the ConfigMap must be mounted into the default working directory defined by the image.

    Note

    This issue does not affect all applications that use the Red Hat OpenJ9 images recommended for s390x architecture.

    Cause

    The quarkus-container-image-s2i extension has a list of known images that contain the run-java.sh script. All other images are treated as if they do not contain the run-java.sh script. This issue will be fixed in a future release.

    Workaround

    • If your application is affected by the current working directory issue, you can define the current working directory of the container in the pod definition. This overrides the default working directory defined in the image. If you use the quarkus-openshift extension to generate the openshift.yml file, use the following configuration property:

      quarkus.openshift.working-dir=/deployments
    • If your application is affected by the current working directory issue specifically when mounting a ConfigMap with the application.properties configuration file, another option is to mount the ConfigMap into a specific directory. If you use the quarkus-openshift extension, use following configuration property, assuming that the default working directory defined by the image is /home/jboss:

      quarkus.openshift.mounts.<mount name>.path=/home/jboss/config

Chapter 6. Fixed issues in Quarkus 1.3.4

Quarkus 1.3.4 provides increased stability and fixed issues listed in this section.

6.1. Major changes

6.2. Minor changes

6.3. Fixed issues in Quarkus 1.3.4 SP1

The Quarkus 1.3.4 SP1 release contains the following bug fixes.

Revised on 2020-12-08 19:29:33 UTC

Legal Notice

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.