2019 年 4 月 24 日,作者:Stian Thorgersen
我们的目标是使用 Keycloak 实现持续交付模型。这意味着在 Keycloak 版本之间升级以及保持最新版本应该是无缝的。
这要求没有破坏性更改,而是弃用旧的 API,以便有时间迁移到新的 API。
传统的语义版本控制与此模型不太契合。如果遵循持续交付的理念,我们将永远停留在一个主要版本上,只更新次要版本,并且当已弃用很长时间的 API 被移除时,更新主要版本是否正确也值得商榷。
考虑到这一点,我们对发布节奏和版本控制方案做了一些细微的更改。
目前,我们大约每年会有 4 次新的功能版本发布。每次发布都会提升主版本号。这并不意味着存在破坏性更改,但在我们完善持续交付模型之前,可能仍然会存在一些,因此在升级之前务必参考迁移指南!
我们还决定从版本中删除 Final 后缀。这仅仅是因为它不再需要了,因为我们已经很久没有进行任何 beta 或候选发布版本了。本着持续交付的精神,我们将把单个功能标记为预览,而不是整个版本。
最后,随着发布节奏的降低,我们计划进行更多的微版本发布。这将侧重于关键错误和安全漏洞。但是,如果修复经过充分测试并且回归风险较低,我们可能会接受对不太关键的错误的贡献。