2017-08-03 5 views
-1

私は直接使用されていないアーティファクトを持っています。これらの成果物には、ユーザーアプリケーションを実行するサーバーが含まれています。ユーザー(第三者)に表示されるAPIは、別のライブラリで明確に定義されています。SemVerメジャーアップグレードかどうか

今、私はサーバーでいくつかの変更を行っています。一部のパブリックメソッドはシグネチャの変更を取得します。ただし、ユーザーには変更が反映されていないため、これは反映されません。

この状況でSemVerが定義するものはわかりません。この変更は、サーバーのユーザーには影響しませんように私

  • A)Bのパブリックメソッドのシグネチャが変更されるため、サーバーのメジャーバージョンバンプ、または
  • )がマイナーバージョンをバンプする必要がありますか?

実際には、ユーザーのためのAPIが別のライブラリで定義されているので、メジャーバージョンアップを取得することはありません、サーバーBの場合には、すなわち、それは常に、サーバーは単に実装です(1.x.xにとどまるようですそれの)。

このケースをどのように扱うべきですか?

+0

新しい機能を追加しているのですか、いくつかの更新/修正を行っていますか? –

+0

私は機能を呼ぶつもりはありません...ただ別の設定を追加するだけです。しかし、サーバーがデータストアに接続する方法には変化があります。 – igr

+0

は、このサーバーを使用しているシステムを破壊するこれらの変更ですか? –

答えて

0

「パブリックメソッドシグネチャ」の変更は、私にとって大きな変化のように聞こえます。しかし、あなたはこの変更がクライアントに影響しないと言います。それはちょっと混乱します。 APIに機能を追加しましたか?それは小さなバンプです。既存のAPIを変更して、それを使用するためにクライアントを再コンパイルまたは変更する必要がある場合は、大きなバンプがあります。 SemVerの仕様では、APIの変更にはメジャーバンプまたはマイナーバンプのいずれかが必要で、その他のものはすべて「バグ修正」カテゴリに該当します。

既存のメソッドにオプションのパラメータを追加したり、クライアントコードを再コンパイルする必要がないように関数に追加の定数/列挙を受け入れたり、古い機能セットを使用するクライアントに動作の変更が見られない場合は、軽微な変更があります。

関連する問題