ORM 发布和成熟度级别
本页面解释了 Prisma ORM 的发布流程、其版本控制方式以及如何处理可能在发布过程中发生的破坏性变更。
发布
Prisma ORM 通常每两周发布一次。请注意,这不是硬性规定——发布可能会因内部原因推迟。
产品成熟度级别
发布可能包含处于不同成熟度级别的产品或功能。成熟度级别描述了产品或功能的完整性以及用户对破坏性变更的预期。
注意:自版本 2.13.0 起,“实验性(Experimental)”不再是产品成熟度级别的一部分。
早期访问
如果某个功能或产品是早期访问
- 我们已经验证了一个问题,正在考虑一个解决方案,但不能确定该解决方案是否完整或完全适用。
- 我们希望收集更多反馈并根据需要调整解决方案,同时用户已准备好应对重大破坏性变更。
我们不建议在生产环境中使用早期访问功能或产品。
预览
如果某个功能或产品是预览版
- 我们已在方向和表面上验证了该功能或产品。
- 用户可以依赖该功能或产品以及相关的 API 大致稳定,除非发布说明和文档中另有说明。
- 没有重大的已知问题,尽管可能存在一些小错误。
- 我们欢迎对这些问题提出反馈,以便尽快使解决方案稳定。
预览版通常通过功能标志提供,或需要某种形式的选择加入(例如,通过在 CLI 中提供 --preview-feature 标志,或 在 Prisma schema 中将它们添加到 generator 块中的 previewFeatures 属性,用于 Prisma Client)。
我们不建议在生产环境中使用预览功能或产品。
另请参阅:所有当前可用的预览功能。
普遍可用 (GA)
如果某个功能或产品是普遍可用
- 该解决方案已经过一段时间的测试,我们收到了足够的反馈,认为它稳定并可用于生产。
- 在 99% 的情况下不应该有 bug(完全无 bug 的软件无法保证)
版本控制
Prisma ORM 的发布方案遵循语义化版本控制(SemVer),从版本 3.x.x 开始。
Prisma ORM 和语义化版本控制 (SemVer)
SemVer 版本控制如何工作?
语义化版本控制 (SemVer) 使用以下规则进行版本升级(引用自 SemVer 规范)
给定版本号 MAJOR.MINOR.PATCH,增加
MAJOR版本,当你进行不兼容的 API 变更时,MINOR版本,当你以向后兼容的方式添加功能时,以及PATCH版本,当你进行向后兼容的错误修复时。
Prisma ORM 版本控制如何遵循 SemVer?
从版本 3.x.x 开始,Prisma ORM 严格遵守 SemVer 版本控制方案。
以下是 Prisma ORM 如何遵循 SemVer 的简要概述
- 稳定界面(即 普遍可用)中的破坏性变更只会在新的
MAJOR版本中引入。 - 破坏性变更仍可在
MINOR版本中发布,但仅限于默认不激活的选择性预览和早期访问功能(例如,通过预览功能标志或特定的选择加入选项或新的 CLI 命令)。 - 选择性破坏性变更,即预览和早期访问,在
MINOR版本中发布后,只会在新的MAJOR版本中提升为普遍可用(无需选择加入)。
给定版本号 MAJOR.MINOR.PATCH,Prisma ORM 的版本号按以下方式递增
- 当包含破坏性变更的主要产品更新发布到普遍可用时,
MAJOR版本递增。 - 当发布添加向后兼容新功能的产品更新时,
MINOR版本递增。只有在功能是选择性加入时(即早期访问和预览功能),才可能引入具有破坏性变更的功能。 - 当修复功能错误并且始终向后兼容时,
PATCH版本递增。
注意:直到版本
2.28.0,Prisma ORM 并没有严格遵循 SemVer 版本控制。这意味着在2.MINOR.PATCH范围内的发布中,MINOR版本可能包含破坏性变更。要了解更多关于 Prisma ORM 采用 SemVer 的信息,请查看博客文章。