跳到主要內容

ORM 版本發布與成熟度

本頁說明 Prisma ORM 的發布流程、版本控制方式,以及如何處理發布過程中可能發生的重大變更。

發布

Prisma ORM 的發布通常每三週進行一次。請注意,這不是硬性規定 – 發布可能會因內部原因而延後。

查看 GitHub 中的所有發布說明.

產品成熟度

一個版本可能包含處於不同成熟度等級的產品或功能。成熟度等級描述了產品或功能的完整性,以及使用者可以預期在重大變更方面的內容。

注意:截至 2.13.0 版本,「實驗性」不再是產品成熟度等級的一部分。

Early Access (搶先體驗)

如果某個功能或產品是 Early Access(搶先體驗)

  • 我們已經驗證了一個問題,並正在考慮解決方案,但不確定該解決方案是否完整或完全適合。
  • 我們希望收集更多回饋並根據需要調整解決方案,並知道使用者已準備好迎接重大的重大變更

我們不建議在生產環境中使用 Early Access(搶先體驗)功能或產品。

Preview (預覽)

如果某個功能或產品是 Preview(預覽)

  • 我們已在方向和表面方面驗證了該功能或產品。
  • 除非發布說明和文件中另有說明,否則使用者可以信賴該功能或產品以及相關的 API 大致穩定。
  • 沒有重大的已知問題,儘管可能存在 minor bugs(小錯誤)。
  • 我們歡迎對這些問題提供回饋,以盡快使解決方案穩定。

預覽通常透過功能標誌提供,或需要某種形式的選擇加入(例如,在 CLI 中提供 --preview-feature 標誌,或將它們添加到 Prisma 結構描述中 Prisma Client 的 generator 區塊中的 previewFeatures 屬性)。

我們不建議在生產環境中使用 Preview(預覽)功能或產品。

另請參閱:所有目前可用的預覽功能

Generally Available (GA) (正式發布)

如果某個功能或產品是 Generally Available(正式發布)

  • 該解決方案已經過一段時間的測試,並且我們收到了足夠的回饋,可以認為它穩定且準備好用於生產環境。
  • 在 99% 的情況下應該沒有錯誤(不能保證完全沒有錯誤的軟體)

版本控制

Prisma ORM 的發布方案遵循語意化版本控制 (SemVer),從 3.x.x 版本開始。

Prisma ORM 與語意化版本控制 (SemVer)

SemVer 版本控制如何運作?

語意化版本控制 (SemVer) 對於版本升級使用以下規則(引自 SemVer 規範)

給定一個版本號 MAJOR.MINOR.PATCH,遞增

  1. 當您進行不相容的 API 變更時,MAJOR 版本,
  2. 當您以向後相容的方式新增功能時,MINOR 版本,以及
  3. 當您進行向後相容的錯誤修復時,PATCH 版本。

Prisma ORM 的版本控制如何遵循 SemVer?

3.x.x 版本開始,Prisma ORM 嚴格遵守 SemVer 版本控制方案。

以下簡要概述 Prisma ORM 如何遵循 SemVer

  • 穩定介面(即 正式發布)中的重大變更只會在新的 MAJOR 版本中引入。
  • 重大變更仍然可以在 MINOR 版本中推出,但僅適用於預設未啟用的選擇加入預覽和 Early Access(搶先體驗)功能(例如,透過預覽功能標誌或特定的選擇加入選項或新的 CLI 命令)。
  • MINOR 版本中發布的選擇加入重大變更(即預覽和 Early Access(搶先體驗))只會在新的 MAJOR 版本中升級為正式發布(無需選擇加入)。

給定一個版本號 MAJOR.MINOR.PATCH,Prisma ORM 的版本號遞增方式如下

  1. 當具有重大變更的主要產品更新發布到正式發布時,MAJOR 版本會遞增。
  2. 當發布新增向後相容新功能的產品更新時,MINOR 版本會遞增。具有重大變更的功能只能在它們是選擇加入的情況下引入,即 Early Access(搶先體驗)和預覽。
  3. 當功能錯誤被修復且始終向後相容時,PATCH 版本會遞增。

注意: 直到 2.28.0 版本,Prisma ORM 並未嚴格遵循 SemVer 版本控制。這表示在 2.MINOR.PATCH 範圍內的發布中,MINOR 版本可能包含重大變更。若要深入了解 Prisma ORM 採用 SemVer 的情況,請查看部落格文章