Auth0のバージョン管理戦略
当社は、バージョン管理が当社のサービスの重要な部分であると考えており、製品に一貫したバージョン管理スキームを提供するよう努めています。これにより、ユーザーが変更が使用状況にどのような影響を与えるかを管理および予測できるようになります。
セマンティックバージョン管理
セマンティックバージョン管理(semverとも呼ばれます)は、重大な変更を検出可能にすることを主な特徴とするバージョン管理戦略です。バージョンは、ドットで区切られた3つの数字で構成されます。{major}.{minor}.{patch}.たとえば、2.12.5、0.1.0、10.5.35は有効なsemver番号です。
最初の数字は大きな変更を表します。つまり、ライブラリAPIが下位互換性のない方法で変更されました。バージョンの主要部分がバンプされると、そのライブラリのパブリックAPIが変更されます。たとえば、以前に非推奨としてマークされたコードと機能は、コードベースから削除されます。
2番目の数字は小さな変更を表します。ライブラリAPIに新しい機能が追加されたり、下位互換性を保ちながら非推奨としてマークされたりします。新しいマイナーバージョンは安全に使用できると予想されており、更新を推奨します。ただし、コンポーネントを使用するすべての方法を把握することは不可能であるため、変更がコンポーネントの現在の使用に影響を与える可能性は常にあります。したがって、更新を実行する前に検証とテストを行うことをお勧めします。
3番目の数字はパッチ変更を表します。バグが修正されており、ユーザー向けAPIに影響はありません。これは安全に更新できるはずですが、常にテストすることをお勧めします。
本番環境での使用
Auth0は、一部のライブラリを提供するコンテンツ配信ネットワーク(CDN)へのリンクを提供します。コード内でコンポーネントを参照する方法によって、変更を自動的に取得するかどうか、およびいつ取得するかが決まります。たとえば、スクリプト内からメジャーリリースにリンクし、新しいマイナーバージョンがある場合、リリースされるとすぐに更新が取得されます。開発環境やAuth0の実験では、この方法を推奨します。ソースファイルの埋め込みの例を次に示します。
<!-- major release -->
<script src="https://cdn.auth0.com/example/1/library.js"></script>
<!-- minor release -->
<script src="https://cdn.auth0.com/example/1.0/library.js"></script>
<!-- patch release (recommended for production) -->
<script src="https://cdn.auth0.com/example/1.0.1/library.js"></script>
Was this helpful?
Auth0コンポーネントが本番環境にデプロイされるときは、フルバージョンにアンカーし、そのバージョンを使用して徹底的にテストすることをユーザーに推奨します。下位互換性のある方法で新機能を追加してもコードが壊れることはありません。ただし、コンポーネントの結果とのインタラクションは予測が難しい場合があります。些細なバグ修正でも、コンポーネントに関する想定が変更され、当てはまらなくなっている場合があります。
semverに準拠する各Auth0オープンソースコンポーネントには、gitリポジトリでリリースされたバージョンに一致するタグがあります。一部のプロジェクトではバージョンをリリースするためにnpmツールを使用しているため、タグのプレフィックスとしてv
文字が付きます。たとえば、バージョン5.2.3のタグはv5.2.3になります。