Release Notes for Apicurio Registry 3.0
What's new in Red Hat build of Apicurio Registry
Abstract
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
- Click the following link: Create issue.
- In the Summary text box, enter a brief description of the issue.
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.
- 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 oflatest
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 thepom.xml
file. For more details, see Registry-3439.
-
Automatic detection of references in the Maven plug-in by using the
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.
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:
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>3.0.0.Final-redhat-00001</version> </dependency>
<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:
CVE | Description |
---|---|
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:
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)
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
- Go to access.redhat.com.
- If you do not already have an account, create one.
- Log in to your account.
Activating a subscription
- Go to access.redhat.com.
- Navigate to My Subscriptions.
- 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.
- Open a browser and log in to the Red Hat Customer Portal Product Downloads page at access.redhat.com/downloads.
- Locate the Red Hat Integration entries in the Integration and Automation category.
- Select the desired Apicurio Registry product. The Software Downloads page opens.
- Click the Download link for your component.
Revised on 2025-05-07 14:21:53 UTC