Release Notes for Apicurio Registry 2.6


Red Hat build of Apicurio Registry 2.6

What's new in Red Hat build of Apicurio Registry

Red Hat build of Apicurio Registry Documentation Team

Abstract

Describes the Red Hat build of Apicurio Registry product and provides the latest details on what's new in this release.

Preface

Providing feedback on Red Hat documentation

We appreciate your feedback on our documentation.

To propose improvements, open a Jira issue and describe your suggested changes. Provide as much detail as possible to enable us to address your request quickly.

Prerequisite

  • You have a Red Hat Customer Portal account. This account enables you to log in to the Red Hat Jira Software instance.
    If you do not have an account, you will be prompted to create one.

Procedure

  1. Click the following link: Create issue.
  2. In the Summary text box, enter a brief description of the issue.
  3. In the Description text box, provide the following information:

    • The URL of the page where you found the issue.
    • A detailed description of the issue.
      You can leave the information in any other fields at their default values.
  4. Click Create to submit the Jira issue to the documentation team.

Thank you for taking the time to provide feedback.

Chapter 1. Apicurio Registry 2.6 release notes

Red Hat build of Apicurio Registry is a data store for standard event schemas and API designs, and is based on the Apicurio Registry open source community project.

You can use Apicurio Registry to manage and share the structure of your data using a web console, REST API, Maven plug-in, or Java client. For example, client applications can dynamically push or pull the latest schema updates to or from Apicurio Registry without needing to redeploy. You can also create optional rules to govern how Apicurio Registry content evolves over time. These rules include validation of content, integrity of artifact references, and backwards or forwards compatibility of schema or API versions.

1.1. Apicurio Registry installation options

You can install Apicurio Registry on OpenShift with either of the following data storage options:

  • PostgreSQL database
  • Red Hat AMQ Streams

For more details, see Installing and deploying Red Hat build of Apicurio Registry on OpenShift.

1.2. Apicurio Registry supported platforms

Apicurio Registry 2.6 supports the following core platforms:

  • Red Hat OpenShift Container Platform: 4.16, 4.15, 4.14, 4.13, 4.12
  • Red Hat OpenShift Service on AWS: 4.14
  • Microsoft Azure Red Hat OpenShift: 4.15
  • PostgreSQL: 15, 14, 13, 12
  • Red Hat AMQ Streams: 2.7, 2.5, 2.2
  • OpenJDK: 17, 11

For more details, see the following article:

1.2.1. Supported integration with other products

Apicurio Registry 2.6 also supports integration with the following products:

  • Red Hat build of Keycloak 24
  • Red Hat Single Sign-On (RH-SSO) 7.6
  • Red Hat build of Debezium 2.3

1.3. Apicurio Registry new features

Apicurio Registry 2.6 includes the following new features:

Operator metadata versions

With this release, Operator metadata versions match Apicurio Registry release versions. For previous releases, see the following article:

Support for Red Hat build of Keycloak 24
  • Red Hat Single Sign-On (RH-SSO) 7.6 is still supported, however references have changed to the new name: Red Hat build of Keycloak.
Apicurio Registry Maven plug-in improvements
  • Automatic detection of references in the Maven plug-in by using the autoRef option in the pom.xml file. For more details, see Registry-3439. This is a Technology Preview feature.

    Important

    Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in 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 about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

Apicurio Registry user documentation and examples

The documentation library has been updated with the new features available in version 2.6:

The open source demonstration applications are available from:

1.4. Apicurio Registry deprecated features

Apicurio Registry core deprecated features
  • Confluent Schema Registry API version 6 (compatibility API): Apicurio Registry currently supports two versions of the Confluent Schema Registry API on separate endpoints: version 6 and version 7. The v6 API endpoint is deprecated, and will be removed in a future release. Ensure that you replace all references to the v6 API endpoint with references to the v7 API endpoint.
  • Apicurio Registry Core API version 1: Apicurio Registry support for the original version 1 of the Apicurio Registry Core API is now deprecated. This v1 legacy API will be removed in the next major release.
  • Dynamic log level configuration: The /admin/loggers and /admin/loggers/{logger} API endpoints are now deprecated in the v2 Apicurio Registry Core API. These endpoints will be removed in a future release.
  • Registry V1 export utility: Apicurio Registry support for the command-line export utility is now deprecated. The export tool, which is used to export data from Apicurio Registry 1.x into a format that can be imported into 2.x, will no longer be released or maintained. All customers should have already upgraded from 1.x to 2.x.
Apicurio Registry Operator deprecated features
  • JAVA_OPTIONS environment variable: The JAVA_OPTIONS environment variable is no longer the preferred way to configure Java options for Apicurio Registry. You can use the JAVA_OPTS_APPEND environment variable instead. The JAVA_OPTS environment variable is also available, which replaces the default content of Java options. However, it is best to avoid using JAVA_OPTS because it might interfere with some Apicurio Registry Operator functionality.
  • Retention of environment variables for features that are not enabled: The Apicurio Registry Operator sets environment variables to enable and configure various features, such as Salted Challenge Response Authentication Mechanism (SCRAM) security when using Kafka storage. When such features are disabled, the Operator currently retains the associated environment variables, which can cause problems. Retention of such environment variables is deprecated, and the Operator support for it will be removed. Ensure that your deployment does not rely on the retention of such environment variables.
  • Environment variable precedence: The Apicurio Registry Operator might attempt to set an environment variable that is already explicitly specified in the spec.configuration.env field. If an environment variable has a conflicting value, the value set by the Apicurio Registry Operator takes precedence by default. This behavior will change in the future, to enable users to overwrite most environment variables set by the Operator. Ensure that your deployment does not rely on the original precedence behavior.
Apicurio Registry Operator removed features
  • Setting environment variables by editing the Deployment resource: This ability was deprecated in previous versions, and has been removed from this release.

1.5. Upgrading and migrating Apicurio Registry deployments

You can upgrade the Apicurio Registry server automatically from Apicurio Registry 2.x to Apicurio Registry 2.6 on OpenShift. There is no automatic upgrade from Apicurio Registry 1.x to Apicurio Registry 2.x, and a migration process is required.

1.5.1. Updating 2.x client dependencies

It is not mandatory to update client dependencies for this release. Existing Apicurio Registry 2.x client applications continue to work with Apicurio Registry 2.6.

However, before the next release of Apicurio Registry, you must update all of your client dependencies to use the latest version of Apicurio Registry. Client dependencies include dependencies for the Apicurio Registry Kafka serializers/deserializers (SerDes), Maven plug-in, and Java client applications.

For example, to update the Maven dependencies for a Java client application, specify the version in your pom.xml file as follows:

<dependency>
    <groupId>io.apicurio</groupId>
    <artifactId>apicurio-registry-client</artifactId>
    <version>2.6.8.Final-redhat-00001</version>
</dependency>

For more details, see Legacy REST API date formats enabled by default.

1.5.2. Upgrading from Apicurio Registry 2.x on OpenShift

You can upgrade from Apicurio Registry 2.x on OpenShift 4.11 to Apicurio Registry 2.6 on OpenShift 4.12 or later. You must upgrade both your Apicurio Registry and your OpenShift versions, and upgrade OpenShift one minor version at a time.

Prerequisites

  • You already have Apicurio Registry 2.x installed on OpenShift 4.11 or later.
  • You have backed up your existing Apicurio Registry storage data in your Kafka topic or PostgreSQL database. For more details, see Installing and deploying Red Hat build of Apicurio Registry on OpenShift.

    Important

    In production environments on OpenShift, to help ensure that storage is backed up before upgrading, it is best to set the Operator update approval strategy for Apicurio Registry to manual instead of automatic.

Procedure

  1. In the OpenShift Container Platform web console, click Administration and then Cluster Settings.
  2. Click the pencil icon next to the Channel field, and select the next minor candidate version (for example, change from stable-4.11 to candidate-4.12).
  3. Click Save and then Update, and wait until the upgrade is complete.
  4. If the OpenShift version is less than 4.13, repeat steps 2 and 3, and select candidate-4.13 or later.
  5. Click Operators > Installed Operators > Red Hat Integration - Service Registry.
  6. Ensure that the Update channel is set to 2.x.
  7. If the Update approval is set to Automatic, the upgrade should be approved and installed immediately after the 2.x channel is set.
  8. If the Update approval is set to Manual, click Install.
  9. Wait until the Operator is deployed and the Apicurio Registry pod is deployed.
  10. Verify that your Apicurio Registry system is up and running.

Additional resources

1.5.3. Migrating from Apicurio Registry 1.1 on OpenShift

For details on migrating from Apicurio Registry 1.1 to Apicurio Registry 2.x, see Migrating Red Hat build of Apicurio Registry deployments.

1.6. Apicurio Registry resolved issues

Table 1.1. Resolved issues in Apicurio Registry 2.6.8
IssueDescription

IPT-1211

GraphQL Artifact auto detection not working

Table 1.2. Resolved issues in Apicurio Registry 2.6.6
IssueDescription

IPT-1180

Apicurio dereferenced schema fail when multiple references in JSON schema

IPT-1209

Various issues in Registry 2.6

IPT-1210

Updates and examples for apicurio registry

Table 1.3. Resolved issues in Apicurio Registry 2.6.3
IssueDescription

IPT-1161

Software build reproducibility

IPT-1159

Service Registry Operator: https doesn’t work for the service registry application after upgrade to 2.6.1

Table 1.4. Resolved issues in Apicurio Registry 2.6.1
IssueDescription

IPT-1131

The podTemplateSpecPreview (initContainers) defined in the CR are not propagated to the deployment resource.

1.7. Apicurio Registry resolved CVEs

The following Common Vulnerabilities and Exposures (CVEs) are resolved in Apicurio Registry 2.6:

Table 1.5. CVEs resolved in Apicurio Registry 2.6.8
CVEDescription

CVE-2019-12900

A data integrity error was found in the Linux Kernel’s bzip2 functionality when decompressing. A local user could get unexpected results (or corrupted data) as result of decompressing these files.

Table 1.6. CVEs resolved in Apicurio Registry 2.6.6
CVEDescription

CVE-2024-9287

A vulnerability has been found in the Python venv module and CLI. Path names provided when creating a virtual environment were not quoted properly, allowing the creator to inject commands into virtual environment "activation" scripts.

CVE-2024-11168

A flaw was found in Python. The urllib.parse.urlsplit() and urlparse() functions improperly validated bracketed hosts ([]), allowing hosts that weren’t IPv6 or IPvFuture compliant.

Table 1.7. CVEs resolved in Apicurio Registry 2.6.5
CVEDescription

CVE-2024-47561

A vulnerability was found in Apache Avro that allows an attacker to trigger remote code execution by using the special "java-class" attribute.

Table 1.8. CVEs resolved in Apicurio Registry 2.6.3
CVEDescription

CVE-2024-2398

curl: HTTP/2 push headers memory-leak.

Table 1.9. CVEs resolved in Apicurio Registry 2.6.1
CVEDescription

CVE-2024-2700

A vulnerability in the Quarkus causes a leak of local configuration properties into Quarkus applications.

CVE-2024-29041

A flaw in the Express.js framework causes malformed URLs to be evaluated.

CVE-2024-29180

A flaw in the webpack-dev-middleware package may lead to file leak.

CVE-2023-51775

A vulnerability in the jose4j library allows a denial of service via specially crafted JWE.

CVE-2024-22201

A vulnerability in the jetty web server can cause the server to stop accepting new connections from valid clients.

1.8. Apicurio Registry known issues

The following known issues apply in Apicurio Registry 2.6:

Apicurio Registry core known issues

IPT-1143 - Misleading "warning" log message regarding ResultSet resource leak

You might see a message similar to the following in the logs:

2024-07-24 08:33:53 WARN <> [io.quarkus.agroal.runtime.AgroalEventLoggingListener] (executor-thread-3) Datasource '<default>': JDBC resources leaked: 1 ResultSet(s) and 0 Statement(s)

This message is incorrect, as no JDBC resources are leaked.

You can safely ignore these messages.

Registry-3413 - Legacy REST API date formats enabled by default

For maximum compatibility and for easier upgrades from older versions of Apicurio Registry, the date format used in the Apicurio Registry REST API is not compliant with OpenAPI standards. This is because of a bug in older versions.

Before the next release of Apicurio Registry, you must upgrade all of your client applications to use the latest Apicurio Registry client version. The next release will fix the date format bug, which will result in older clients no longer being compatible with the REST API.

To update your REST API to be OpenAPI compliant, you can fix the date format bug in this version of Apicurio Registry as follows:

  1. Update all of your client applications to version 2.6.8.Final-redhat-00001, as described in Updating 2.x client dependencies.
  2. Set the following environment variable to the value shown:

    REGISTRY_APIS_V2_DATE_FORMAT=yyyy-MM-dd'T'HH:mm:ss'Z'

IPT-814 - Apicurio Registry logout feature incompatible with RH-SSO 7.6

In RH-SSO 7.6, the redirect_uri parameter used with the logout endpoint is deprecated. For more details, see the RH-SSO 7.6 Upgrading Guide. Because of this deprecation, when Apicurio Registry is secured by using the RH-SSO Operator, clicking the Logout button displays the Invalid parameter: redirect_uri error.

For a workaround, see https://access.redhat.com/solutions/6980926.

IPT-701 - CVE-2022-23221 H2 allows loading custom classes from remote servers through JNDI

When Apicurio Registry data is stored in AMQ Streams, the H2 database console allows remote attackers to execute arbitrary code by using the JDBC URL. Apicurio Registry is not vulnerable by default and a malicious configuration change is required.

Apicurio Registry Operator known issues

Operator-42 - Autogeneration of OpenShift route might use wrong base host value

If multiple routerCanonicalHostname values are specified, autogeneration of the Apicurio Registry OpenShift route might use a wrong base host value.

Appendix A. Using your subscription

Apicurio Registry is provided through a software subscription. To manage your subscriptions, access your account at the Red Hat Customer Portal.

Accessing your account

  1. Go to access.redhat.com.
  2. If you do not already have an account, create one.
  3. Log in to your account.

Activating a subscription

  1. Go to access.redhat.com.
  2. Navigate to My Subscriptions.
  3. Navigate to Activate a subscription and enter your 16-digit activation number.

Downloading ZIP and TAR files

To access ZIP or TAR files, use the customer portal to find the relevant files for download. If you are using RPM packages, this step is not required.

  1. Open a browser and log in to the Red Hat Customer Portal Product Downloads page at access.redhat.com/downloads.
  2. Locate the Red Hat Integration entries in the Integration and Automation category.
  3. Select the desired Apicurio Registry product. The Software Downloads page opens.
  4. Click the Download link for your component.

Revised on 2025-02-11 14:03:23 UTC

Legal Notice

Copyright © 2025 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.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.