2021年7月22日

Prismaがセマンティックバージョニング(SemVer)を採用

当社はリリース方針を調整し、セマンティックバージョニングにさらに厳密に準拠します。今後、安定した開発サーフェス(例:一般提供 (General Availability))における破壊的変更は、メジャーバージョンの増分でのみ展開されます。

Prisma Adopts Semantic Versioning (SemVer)

要約

ここに導入する新しいルールの簡単な概要を示します。

  • 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ニュースレターに登録

© . All rights reserved.