Release Notes for Apicurio Registry 3.0


Red Hat build of Apicurio Registry 3.0

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 3.0 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 3.0 supports the following core platforms:

  • Red Hat OpenShift Container Platform: 4.17, 4.16, 4.15, 4.14
  • Red Hat OpenShift Service on AWS: 4.15
  • Microsoft Azure Red Hat OpenShift: 4.15
  • PostgreSQL: 17, 16, 15, 14, 13
  • Red Hat AMQ Streams: 2.8, 2.7, 2.5
  • OpenJDK: 21, 17

For more details, see the following article:

1.2.1. Supported integration with other products

Apicurio Registry 3.0 also supports integration with the following products:

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

1.3. Apicurio Registry new features

The Apicurio Registry 3 release introduces several significant updates, enhancements, and new features, including breaking changes. Apicurio Registry 3.0 includes the following new features:

Placeholder Artifacts
This release introduces the ability to create artifacts as placeholders without initial content. Placeholder artifacts allow users to immediately apply validation and governance rules at the time of creation, ensuring compliance even before content is added. This feature enhances lifecycle control by enabling rules to be set upfront and content to be added later.
Branching Support
This release introduces artifact branching. Users can now create, manage, and modify artifact branches, including the system-generated latest branch. Branches allow for version isolation and control, letting users track different versions of artifacts under distinct branches. The concept of latest is now formalized as a system-generated branch that cannot be deleted or modified.
Semantic Versioning
This release allows you to opt-in to artifact semantic versioning. If you configure this option, Apicurio Registry automatically generates and manages branches based on semantic versioning conventions. For example, creating an artifact with version 1.0.0 will result in the creation of branches such as 1.x and 1.0.x. These branches are updated automatically as new versions are created, and they cannot be deleted or modified by users.
Deployments
In 2.x, each persistence option is deployed using its own container. In version 3.x all persistence options are available as a single Apicurio Registry backend container, allowing you to configure your persistence option using environment variables.
Optional UI Deployment
The application now supports deployment with or without the optional UI container. When the UI is not deployed, the API remains fully accessible with interactive API documentation available.
Core API
The version 3 API provides new functionality. The version 2 Core Registry API is still supported, however you need to migrate to version 3 to avail of new features.
Client SDKs in Multiple Languages
This release includes support for client SDKs generated using the Kiota tool for multiple languages, including Java, Python, Golang, and TypeScript.
Content Rules Hierarchy
In 2.x, content rules could only be applied at the global and artifact levels. Version 3.x introduces a third layer, allowing rules to be defined at the group level. This hierarchical rule system enables more granular control and flexibility.
Serializers/Deserializers support for Pulsar and Nats
The serializers/deserializers have been refactored to make them platform agnostic and two new platforms have been added in version 3, Apache Pulsar and Nats.
Controlled Deletion
Apicurio Registry now includes environment variables that govern the ability to delete groups, artifacts, and versions. This provides administrators with the option to enable or disable deletion capabilities as required.
UI Improvements
The user interface has been updated to reflect the new data model changes, including the ability to create empty artifacts, manage versions, and merge labels and properties into a unified labeling system. Filtering by labels and groups has been enhanced for better user experience.
Group management
The ability to edit groups, filter by groups, view groups and create group rules.
Extended API Support
Apicurio Registry now supports AsyncAPI 3.0, addressing user requests for compatibility with the latest API specifications.
Read Only Mode
Apicurio Registry can be set to read-only mode, disabling all back-end write operations. This mode can be enabled and disabled dynamically.
UI Configuration
The UI can be set to read-only mode independently of the backend, ensuring that users can restrict changes through the UI while still allowing backend operations.
Dry Run Mode
The previous testing endpoint has been replaced with a dry run option. Users can simulate the creation of artifacts and versions to validate them against existing rules and configurations without making permanent changes.
Kafka Storage
The Kafka SQL storage implementation has been completely updated to improve stability and performance, and to remove reliance on Kafka log compaction.
Snapshotting
The Kafka SQL backend can now periodically take snapshots of the internal registry state, allowing faster pod startup times as the size of the registry grows.
Arbitrary SQL Execution
The Kafka SQL backend now allows users to publish custom SQL queries as Kafka messages, enabling database modifications through the messaging system. This is particularly useful for bulk updates and data corrections.
Logging
Access logs are now enabled by default to improve system monitoring and auditing capabilities.
Enhanced Creation Workflow
The artifact creation process has been revamped with a wizard interface, allowing users to provide detailed metadata and configure versions during creation.
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.
Apicurio Registry user documentation and examples

The open source demonstration applications are available from:

1.4. Apicurio Registry deprecated features

Apicurio Registry core deprecated features
  • Apicurio Registry Core API version 2: Apicurio Registry support for the original version 2 of the Apicurio Registry Core API is now deprecated. This v2 legacy API will be removed in the next major release.

1.5. Upgrading and migrating Apicurio Registry deployments

There is no automatic upgrade from Apicurio Registry 2.x to Apicurio Registry 3.x, and a migration process is required.

This release is a Technology Preview, and that migration process is not available at this time.

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.

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 3.0.

However, you must update all of your client dependencies to use the latest version of Apicurio Registry as soon as possible. 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:

Copy to Clipboard Toggle word wrap
<dependency>
    <groupId>io.apicurio</groupId>
    <artifactId>apicurio-registry-client</artifactId>
    <version>3.0.0.Final-redhat-00001</version>
</dependency>

1.6. Apicurio Registry resolved issues

1.7. Apicurio Registry resolved CVEs

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

Table 1.1. CVEs resolved in Apicurio Registry 3.0.0
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.

1.8. Apicurio Registry known issues

The following known issues apply in Apicurio Registry 3.0:

Apicurio Registry core known issues

#5732 - Kafkasql storage does not properly handle the owner field.

Setting the owner-only-authorization property for KafkaSQL storage does not work as expected.

To workaround this issue, do not set owner-only-authorization.

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

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

Copy to Clipboard Toggle word wrap
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.

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.

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-05-07 14:21:53 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.
Back to top
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. Explore our recent updates.

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.

Theme

© 2025 Red Hat, Inc.