Versioning and support policy
Apicurio Registry follows a defined versioning scheme and support policy, offers multiple release channels, and supports upgrading between versions with guidance for handling rollbacks.
Version numbering scheme
Apicurio Registry follows Semantic Versioning with a clear distinction between minor and patch releases.
| Release type | Contents | Example |
|---|---|---|
Minor (for example, 3.3.0 to 3.4.0) |
New features, enhancements, and bug fixes |
Scheduled development milestones |
Patch (for example, 3.3.0 to 3.3.1) |
CVE and security fixes only |
Dependency upgrades, security patches |
Patch releases do not contain new features or bug fixes. They are limited to changes that address known security vulnerabilities.
Support window
Apicurio Registry maintains the two most recent minor versions with security patches.
When a new minor version is released, the oldest supported minor version reaches end-of-life and no longer receives updates.
The following example illustrates how the support window moves forward as new minor versions are released. Version numbers after the current release are illustrative, not announcements.
| Event | Supported versions | End-of-life |
|---|---|---|
3.3.0 released |
3.3.x, 3.2.x |
3.1.x and older |
Next minor release (a future 3.4.0) |
3.4.x, 3.3.x |
3.2.x and older |
Release channels
Apicurio Registry provides multiple release channels so that you can choose the update cadence that suits your deployment.
Choose the channel type that matches how you deploy Apicurio Registry: container images or the Apicurio Registry Operator.
Docker image tags
Apicurio Registry container images use several tag conventions that determine how frequently your deployment receives updates.
| Tag | Description |
|---|---|
|
Pinned to an exact release. Never changes. |
|
Floating tag that always points to the latest patch in the 3.3.x series (for example, 3.3.0, then 3.3.1, then 3.3.2). |
|
Always points to the most recent stable release across all minor versions. |
|
Most recent build from the |
Use the minor-series floating tag (for example, 3.3) to automatically receive security patches without upgrading to a new minor version.
OLM channels (Kubernetes operator)
If you deploy Apicurio Registry by using the Apicurio Registry Operator, each minor version has its own OLM channel.
| Channel | Description |
|---|---|
|
Receives only patch updates within the 3.3 minor version. |
|
Rolling channel that always tracks the latest minor version. |
Subscribe to a minor-version channel (for example, 3.3.x) for stability, or to the 3.x rolling channel to always receive the latest features.
Upgrade overview
Apicurio Registry supports forward upgrades. Database schema migrations run automatically on startup and do not require manual intervention.
|
Always back up your database before upgrading to a new minor version. |
Performing patch upgrades
You can apply a patch upgrade (for example, 3.3.0 to 3.3.1) at any time. Patch releases contain only CVE fixes and do not introduce behavioral changes.
-
Back up your database.
-
Replace the Apicurio Registry container image with the new patch version or use the minor-series floating tag.
-
Start Apicurio Registry. Any required schema migrations run automatically.
Performing minor upgrades
You can upgrade to a new minor version (for example, from 3.3.x to the next minor release) to receive new features, enhancements, and bug fixes.
-
Review the release notes for the target version to understand new features and any behavioral changes.
-
Back up your database.
-
Replace the Apicurio Registry container image with the new minor version.
-
Start Apicurio Registry. Database schema migrations run automatically.
-
Verify that your client applications work correctly with the new version.
Upgrades across multiple minor versions
You can upgrade across multiple minor versions in one step (for example, from 3.2.x directly to a later minor version). Database migrations are cumulative, and Apicurio Registry applies them in order on startup.
Review the release notes for all intermediate versions to understand the full set of changes.
Downgrades and rollbacks
Apicurio Registry does not support downgrades.
Database schema migrations are forward-only and irreversible. Starting an older version of Apicurio Registry against a database that has been migrated to a newer schema version fails.
If you deploy Apicurio Registry by using the Apicurio Registry Operator, switching to an older OLM channel is also not supported.
Handling a failed upgrade
If an upgrade introduces issues, restore your Apicurio Registry deployment from the database backup taken before the upgrade.
-
Stop Apicurio Registry.
-
Restore the database from the backup taken before the upgrade.
-
Deploy the previous version of Apicurio Registry.
-
Investigate the issue before attempting the upgrade again.
Do not attempt to manually revert database schema changes.
Backing up before an upgrade
Before any minor version upgrade, create a backup of your Apicurio Registry database.
-
For PostgreSQL deployments, create a database dump:
pg_dump -h <host> -U <username> -d <database> -F c -f registry-backup-$(date +%Y%m%d).dumpFor KafkaSQL deployments, back up both the Kafka topic data and the SQL snapshot database.
-
Store the backup in a secure location.
-
Verify that the backup can be restored before proceeding with the upgrade.
