跳至主要內容

ORM 發布與成熟度級別

本頁面說明 Prisma ORM 的發佈流程、版本控制方式,以及如何處理發佈過程中可能出現的重大變更(breaking changes)。

發佈 (Releases)

Prisma ORM 通常每兩週發佈一次。請注意,這並非嚴格的硬性規定,發佈可能會因內部因素而延期。

查看 GitHub 上的所有發佈說明.

產品成熟度等級 (Product maturity levels)

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

注意:自 2.13.0 版本起,「實驗性 (Experimental)」已不再屬於產品成熟度劃分的一部分。

搶先體驗 (Early Access)

如果某個功能或產品處於 搶先體驗 (Early Access) 階段:

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

我們不建議在生產環境中使用處於搶先體驗階段的功能或產品。

預覽 (Preview)

如果某個功能或產品處於 預覽 (Preview) 階段:

  • 我們已在方向和介面方面驗證了該功能或產品。
  • 使用者可以預期該功能或產品及其關聯的 API 大致穩定,除非發佈說明和文件中另有說明。
  • 目前沒有已知的重大問題,儘管可能仍存在少數錯誤。
  • 我們歡迎針對這些功能提出回饋,以協助我們盡快使其穩定。

預覽功能通常透過功能旗標(feature flag)提供,或需要某種形式的啟用(例如,在 CLI 中提供 --preview-feature 旗標,或在 Prisma Schema 的 generator 區塊中為 Prisma Client 將其新增至 previewFeatures 屬性)。

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

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

正式發佈 (Generally Available, GA)

如果某個功能或產品處於 正式發佈 (Generally Available) 階段:

  • 該解決方案已經過一段時間的測試,我們已收到足夠的回饋,認為它穩定且適合投入生產環境使用。
  • 在 99% 的情況下應該不會有錯誤(無法保證軟體絕對零錯誤)。

版本控制 (Versioning)

3.x.x 版本開始,Prisma ORM 的發佈計畫遵循語意化版本控制(SemVer)。

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) 中發佈,但僅限於預設為關閉的「搶先體驗」和「預覽」功能(例如透過預覽功能旗標、特定的啟用選項或新的 CLI 指令)。
  • 次版本號 (MINOR) 中發佈的「搶先體驗」和「預覽」重大變更,只有在新的 主版本號 (MAJOR) 發佈中才會升級為正式發佈(屆時無需額外啟用)。

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

  1. 當包含 重大變更 的大型產品更新發佈至「正式發佈」階段時,會遞增 主版本號 (MAJOR)
  2. 當發佈增加向後相容新功能的產品更新時,會遞增 次版本號 (MINOR)。只有在屬於 可選擇啟用 (opt-in)(即「搶先體驗」和「預覽」)的前提下,才能引入帶有重大變更的功能。
  3. 當修復功能錯誤且皆為向後相容時,會遞增 修訂號 (PATCH)

注意:2.28.0 版本之前,Prisma ORM 並未嚴格遵循 SemVer 版本控制。這意味著在 2.MINOR.PATCH 範圍內的發佈中,次版本號 (MINOR) 可能包含過重大變更。若要進一步了解 Prisma ORM 採用 SemVer 的相關資訊,請參閱此 部落格文章

© . This site is unofficial and not affiliated with Prisma Data, Inc.