ORMのリリースと成熟度レベル
このページでは、Prisma ORMのリリースプロセス、バージョニング、およびリリース中に発生する可能性のある破壊的変更への対処方法について説明します。
リリース
Prisma ORMのリリースは、通常2週間ごとに行われます。ただし、これは厳密なルールではなく、内部的な理由によりリリースが延期される場合があります。
製品成熟度レベル
リリースには、異なる成熟度レベルの製品や機能が含まれることがあります。成熟度レベルとは、製品や機能の完成度、および破壊的変更に関してユーザーが期待できる内容を指します。
注: バージョン2.13.0以降、「Experimental (実験的)」は製品成熟度スケールの一部ではなくなりました。
アーリーアクセス
機能または製品が**アーリーアクセス**の場合
- 私たちは問題を検証し、その解決策を検討していますが、その解決策が完全であるか、または完璧に適合するかは確信していません。
- ユーザーが重大な破壊的変更に備えていることを承知の上で、さらにフィードバックを収集し、必要に応じてソリューションを調整したいと考えています。
アーリーアクセス機能または製品を本番環境で使用することはお勧めしません。
プレビュー
機能または製品が**プレビュー**の場合
- 機能または製品の方向性と表面的な部分を検証済みです。
- ユーザーは、リリースノートやドキュメントで別途記載されている場合を除き、その機能または製品および関連するAPIがほとんど安定していると期待できます。
- 大きな既知の問題はありませんが、軽微なバグが存在する可能性があります。
- ソリューションをできるだけ早く安定させるため、これらのフィードバックを歓迎します。
プレビューは通常、機能フラグの背後に用意されているか、何らかのオプトインを必要とします(例えば、CLIで--preview-feature
フラグを指定するか、PrismaスキーマのPrisma Clientのgenerator
ブロックでpreviewFeatures
プロパティに追加するなど)。
プレビュー機能または製品を本番環境で使用することはお勧めしません。
一般提供 (GA)
機能または製品が**一般提供**の場合
- このソリューションはしばらくの間テストされ、安定しており本番環境で使用できると判断するのに十分なフィードバックを受け取りました。
- 99%のケースでバグがないはずです(完全にバグのないソフトウェアは保証できません)。
バージョニング
Prisma ORMのリリーススキームは、バージョン3.x.x
以降、セマンティックバージョニング(SemVer)に準拠しています。
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
リリースでも導入される可能性がありますが、それはオプトインのプレビュー機能やアーリーアクセス機能(例:プレビュー機能フラグ、特定のオプトインオプション、または新しいCLIコマンドを介して)に限定され、デフォルトではアクティブになりません。 MINOR
リリースで提供されるオプトインの破壊的変更(プレビューおよびアーリーアクセス)は、新しいMAJOR
リリースでのみ一般提供(オプトイン不要)に昇格されます。
バージョン番号MAJOR.MINOR.PATCH
が与えられた場合、Prisma ORMのバージョン番号は以下のようにインクリメントされます。
- **破壊的変更を伴う**主要な製品アップデートが一般提供された場合、
MAJOR
バージョンがインクリメントされます。 - 後方互換性のある新機能を追加する製品アップデートがリリースされた場合、
MINOR
バージョンがインクリメントされます。破壊的変更を伴う機能は、**オプトイン**である場合(すなわち、アーリーアクセスおよびプレビュー)にのみ導入されます。 - 機能のバグが修正され、常に**後方互換性がある**場合、
PATCH
バージョンがインクリメントされます。
**注:** バージョン
2.28.0
までは、Prisma ORMはSemVerバージョニングに厳密には従っていませんでした。これは、2.MINOR.PATCH
範囲のリリースにおいて、MINOR
バージョンに破壊的変更が含まれていた可能性があることを意味します。Prisma ORMのSemVer採用の詳細については、ブログ記事をご確認ください。