2021 年 7 月 22 日

Prisma 采用语义化版本控制 (SemVer)

我们正在调整发布策略,以便更严格地遵循语义化版本控制。未来,稳定开发层面(即正式发布)中的重大变更将只会在主版本增量中推出。

Prisma Adopts Semantic Versioning (SemVer)

TL;DR

以下是我们即将实施的新规则简要概述

  • 通过采用 SemVer,我们让用户更容易理解哪个版本可能包含重大变更。采用 SemVer 仅仅是调整我们的发布策略,以便与行业惯例保持一致并改善开发者体验。
  • 稳定层面(即正式发布)的重大变更将只会在新的主版本中引入。
  • 重大变更仍可以在次版本中推出,但仅限于默认不启用的选择性加入的预览和早期访问功能(例如,通过预览功能标志、特定选择性加入选项或新的 CLI 命令)。
  • 次版本中发布的、选择性加入的重大变更(即预览和早期访问功能)只会在新的主版本中提升为正式发布(无需选择性加入)。

您可以在我们的文档中的“发布和成熟度级别”部分阅读有关此内容的更多详细信息。

Prisma 版本采用 SemVer

语义化版本控制 (SemVer) 是一种惯例的发布策略,对于用户何时可以在软件版本中预期重大变更,它有明确的规则。

虽然 Prisma 版本已经遵循了 3 位数的 SemVer 标记法,但我们尚未完全遵循实际的 SemVer 语义。这意味着我们有时会在次版本增量时发布重大变更。

未来,次版本增量中的重大变更将始终是选择性加入的。Prisma ORM 稳定开发者层面的任何重大变更将仅在主版本增量时发生。

目前,用户很难理解哪个版本可能包含或不包含重大变更。当升级多个版本时,例如从 2.13.0 升级到 2.26.0,您必须阅读每个中间版本的发行说明,以确定哪些重大变更会影响您——这使得理解重大变更变得困难。

这对您意味着什么?

实质上,新的发布策略不会改变您使用 Prisma 的方式以及 Prisma 的持续发展。我们只是让您更容易理解哪个版本可能包含重大变更。

Prisma 将继续在发行说明中详细记录即将到来的重大变更。此外,我们将提供升级指南,以帮助完成主要版本之间的升级路径。

行业中的许多包管理器和依赖自动化工具在设计时都考虑了 SemVer,例如 RenovateDependabot。它们通过自动化部分依赖升级过程、创建包含相关版本变更的拉取请求以及自动合并非重大变更来为您节省时间。

我们为什么要采用 SemVer 语义

更新依赖项可能是一个耗时的过程——尤其是在依赖项众多的项目中。遵循 SemVer 应能改善您的升级体验,因为未来的重大变更变得可预测且可见。

SemVer 是一种广泛使用的行业标准,尤其是在 Node.js 生态系统中。

随着越来越多的开发者和公司采用 Prisma 并就我们的发布策略提供有益反馈,我们决定调整发布策略,并在未来完全采用 SemVer。

Prisma 即将发布的版本之一将包含重大变更

Prisma 即将发布的版本之一将包含重大变更。根据我们的新发布策略,主版本号将增加,因此 Prisma 的新版本将是 3.x.x

您可以在文档中阅读有关我们发布策略的更多信息。

不要错过下一篇文章!

订阅 Prisma 新闻通讯