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 的資訊,請檢視這篇博文。