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