ORM 版本和成熟度级别
本页介绍了 Prisma ORM 的发布过程、其版本控制方式以及如何处理整个版本中可能发生的重大更改。
¥This page explains the release process of Prisma ORM, how it's versioned and how to deal with breaking changes that might happen throughout releases.
发布
¥Releases
Prisma ORM 通常每两周发布一次。请注意,这不是一个硬性规则 - 发布可能会因内部原因而推迟。
¥Prisma ORM releases typically happen every two weeks. Note that this is not a hard rule – releases might be postponed for internal reasons.
¥Check out all the releases notes in GitHub.
产品成熟度级别
¥Product maturity levels
版本可以包含不同成熟度级别的产品或功能。成熟度级别描述了产品或功能的完整性以及用户对重大变更的期望。
¥A release can include products or features at different maturity levels. Maturity level describes a product or feature's completeness and what users can expect in terms of breaking changes.
注意:从版本 2.13.0 开始,'实验性的' 不再属于产品成熟度等级的一部分。
¥Note: As of version 2.13.0, 'Experimental' is no longer part of the product maturity scale.
抢先体验
¥Early Access
如果某个功能或产品是抢先体验版:
¥If a feature or product is Early Access:
-
我们已经验证了一个问题并正在考虑解决方案,但不确定该解决方案是否完整或完美。
¥We have validated a problem and are considering a solution to it but are not certain whether that solution is complete or a perfect fit.
-
我们希望收集更多反馈并根据需要调整解决方案,因为我们知道用户已做好应对重大突破性更改的准备
¥We want to gather more feedback and adjust the solution as necessary, knowing that users are prepared for significant breaking changes
我们不建议在生产中使用抢先体验功能或产品。
¥We don't recommend using Early Access features or products in production.
预览
¥Preview
如果功能或产品是预览版:
¥If a feature or product is a Preview:
-
我们已经在方向和表面方面验证了特性或产品。
¥We have validated the feature or product in terms of direction and surface.
-
除非发行说明和文档中另有说明,否则用户可以信赖该功能或产品以及相关 API 基本上是稳定的。
¥Users can count on the feature or product and associated API to be mostly stable unless stated otherwise in the release notes and documentation.
-
尽管可能存在小错误,但没有重大的已知问题。
¥There are no significant known issues, although minor bugs may exist.
-
我们欢迎对此提供反馈,以尽快使解决方案稳定。
¥We welcome feedback on these to make the solution stable as quickly as possible.
预览通常在功能标志后面可用,或者需要某种形式的选择加入(例如,通过在 CLI 中提供 --preview-feature
标志,或在 Prisma 架构中为 Prisma 客户端提供 将它们添加到 generator
块中的 previewFeatures
属性)。
¥Previews are typically available behind a feature flag or require some form of opt-in (for example, by providing a --preview-feature
flag in the CLI or adding them to a previewFeatures
property in the generator
block for Prisma Client in your Prisma schema).
我们不建议在生产中使用预览功能或产品。
¥We don't recommend using Preview features or products in production.
也可以看看:所有当前可用的预览功能。
¥See also: All currently available Preview features.
全面上市 (GA)
¥Generally Available (GA)
如果某个功能或产品已公开发布:
¥If a feature or product is Generally Available:
-
该解决方案已经测试了一段时间,我们收到了足够的反馈,认为它稳定并可以用于生产。
¥The solution has been tested for some time and we received enough feedback to consider it stable and ready for production use.
-
99% 的情况下应该没有错误(不能保证软件完全没有错误)
¥There should be no bugs in 99% of cases (completely bug-free software cannot be guaranteed)
版本控制
¥Versioning
Prisma ORM 的发布方案从版本 3.x.x
开始遵循语义版本控制 (SemVer)。
¥Prisma ORM's release scheme adheres to Semantic Versioning (SemVer) starting with version 3.x.x
.
Prisma ORM 和语义版本控制 (SemVer)
¥Prisma ORM and Semantic Versioning (SemVer)
SemVer 版本控制如何工作?
¥How does SemVer versioning work?
语义版本控制(SemVer)使用以下规则进行版本升级(引自 SemVer 规范):
¥Semantic Versioning (SemVer) uses the following rules for version upgrade (quoted from the SemVer spec):
给定版本号 MAJOR.MINOR.PATCH
,递增:
¥Given a version number MAJOR.MINOR.PATCH
, increment the:
-
MAJOR
版本当你进行不兼容的 API 更改时,¥
MAJOR
version when you make incompatible API changes, -
MINOR
版本,当你以向后兼容的方式添加功能时,以及¥
MINOR
version when you add functionality in a backward compatible manner, and -
PATCH
版本,当你进行向后兼容的错误修复时。¥
PATCH
version when you make backward compatible bug fixes.
Prisma ORM 版本控制如何遵循 SemVer?
¥How does Prisma ORM versioning follow SemVer?
从版本 3.x.x
开始,Prisma ORM 严格遵守 SemVer 版本控制方案。
¥Beginning with version 3.x.x
, Prisma ORM adheres strictly to the SemVer versioning scheme.
以下是 Prisma ORM 如何遵循 SemVer 的简要概述:
¥Here is a brief overview of how Prisma ORM's follows SemVer:
-
稳定表面(即 一般可用性)的重大变化只会在新的
MAJOR
版本中引入。¥Breaking changes in stable surface (i.e. General Availability) will only be introduced in new
MAJOR
releases. -
重大更改仍然可以在
MINOR
中推出,但仅限于默认情况下不活动的选择加入预览和抢先体验功能(例如,通过预览功能标志或特定选择加入选项或新的 CLI 命令)。¥Breaking changes can still be rolled out in
MINOR
but only for opt-in Preview and Early Access features that are not active by default (e.g. via a Preview feature flag or a specific opt-in option or new CLI command). -
选择加入的重大更改,即
MINOR
中发布的预览版和抢先体验版,将仅在新的MAJOR
版本中升级为通用版本(无需选择加入)。¥Opt-in breaking changes, i.e. Preview and Early Access, released in
MINOR
, will only be promoted to General Availability (no requirement for opt-in) in newMAJOR
releases.
给定版本号 MAJOR.MINOR.PATCH
,Prisma ORM 的版本号按如下方式递增:
¥Given a version number MAJOR.MINOR.PATCH
, Prisma ORM's version number is incremented as follows:
-
当具有重大更改的主要产品更新发布到通用版本时,
MAJOR
版本会增加。¥
MAJOR
version is incremented when major product updates with breaking changes are released to General Availability. -
当发布添加向后兼容新功能的产品更新时,
MINOR
版本会增加。具有重大更改的功能只有在选择加入(即抢先体验和预览)的情况下才能引入。¥
MINOR
version is incremented when product updates adding backward compatible new functionality are released. Features with breaking changes may only be introduced if they are opt-in, i.e. Early Access and Preview. -
当功能错误得到修复并且始终向后兼容时,
PATCH
版本就会增加。¥
PATCH
version is incremented when functionality bugs are fixed and are always backward compatible.
注意:在版本
2.28.0
之前,Prisma ORM 并未严格遵循 SemVer 版本控制。这意味着2.MINOR.PATCH
系列、MINOR
版本中的版本可能包含重大更改。要了解有关 Prisma ORM 采用 SemVer 的更多信息,请查看 博客文章。¥Note: Up until version
2.28.0
, Prisma ORM did not follow SemVer versioning strictly. This means that releases in the2.MINOR.PATCH
range,MINOR
versions may have included breaking changes. To learn more about Prisma ORM's adoption of SemVer, check out the blog post.