# Keycloak Releases and Versioning

DevFeed: [Keycloak Releases and Versioning](<https://devfeed.tech/articles/keycloak-releases-and-versioning-31577.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2019/04/versioning>)

Author: Stian Thorgersen

Published: 2019-04-24T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Continuous Delivery (CD)](<https://devfeed.tech/topics/continuous-delivery.md>), [version](<https://devfeed.tech/topics/version.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>), [migration](<https://devfeed.tech/topics/migration.md>), [API](<https://devfeed.tech/topics/api.md>), [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>)

Tags: [continuous-delivery](<https://devfeed.tech/tags/continuous-delivery.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [preview](<https://devfeed.tech/tags/preview.md>), [release](<https://devfeed.tech/tags/release.md>), [release-cadence](<https://devfeed.tech/tags/release-cadence.md>), [releases](<https://devfeed.tech/tags/releases.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security-vulnerabilities](<https://devfeed.tech/tags/security-vulnerabilities.md>), [sso](<https://devfeed.tech/tags/sso.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

## AI overview

Keycloak describes changes to its release cadence and versioning to support continuous delivery. Feature releases will occur roughly four times a year and increment the major version, while individual features may be marked as preview. The project also plans more frequent micro releases focused on critical bugs and security vulnerabilities.

## Source excerpt

We are aiming to achieve a continuous delivery model with Keycloak. By that we mean it should be seamless to upgrade between Keycloak releases and to keep up to date with the latest release. This requires no breaking changes, but rather deprecating old APIs allowing time to migrate to new APIs. Traditional semantic versioning does not fit very well with this model. By following the mantra of continuous delivery we would forever be stuck on a major version and only update the minor version, and you could argue whether or not it would be correct to update the major version when an API that has been deprecated for a long period of time is removed. With this in mind, we have made some slight changes to our release cadence and versioning schema. For now, we will have a new feature release roughly 4 times each year. Each release will bump the major version number. That doesn't mean there are breaking changes, but until we perfect our continuous delivery model there may be some, so always refer to the migration guide prior to upgrading! We have also decided to drop the Final suffix from releases. That is simply because it is not needed as we have not done any beta or release candidates for a long time. In the spirit of continuous delivery, we will have individual features marked as preview rather than whole releases. As a final note, with the reduced release cadence we are planning to do more micro releases. This will be focused on critical bugs and security vulnerabilities. However, we may accept contributions to less critical bugs given the fix is well tested and has low risk of regressions.