問題タブ [semantic-versioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - SemVer では、ベータ版を公開するときにアセンブリ + ファイルのバージョンはどうあるべきですか?
初めて .net ライブラリをリリースするとしましょう。早期導入者からのフィードバックを得るために、ベータ版 + リリース候補段階を経たいと考えています。
したがって、SemVerのコンテキストでは、最初に Version をリリースし1.0.0-Beta1
ます。その後、ベータ版とリリース候補が増えています。
議論のために、現在のバージョン番号は0.3.0
したがって、SemVer から、さまざまな .net バージョンのプレースホルダーに何を配置するかを導出する必要があります。それらは:
1.Nuget バージョン
nuget パッケージに名前を付けるために使用され、nuget によってパッケージを並べ替えてプレリリースの場合に派生させるためにも使用されます
2. 組立バージョン
アセンブリには厳密な名前が付けられている可能性があり、バインド リダイレクトにより、アセンブリのバージョンが変更されたときにベータ間の移動が複雑になる可能性があることに注意してください。
3. アセンブリ ファイルのバージョン
ファイル プロパティ ダイアログの「ファイル バージョン」に対応するもの
4. アセンブリ情報バージョン
ファイル プロパティ ダイアログの「製品バージョン」に対応するもの
maven - Jenkins、Maven、およびセマンティック バージョニング: メジャー バージョンまたはマイナー バージョンをインクリメントする方法
私たちの仕事では、Jenkins ジョブを介してコンポーネントをリリースおよびデプロイします。これに関する問題は、「パッチ」のバージョン番号だけが増加することです (メジャー.マイナー.パッチ、たとえば 4.2.1 は 4.2.2 になります)。私が望むのは、これが「マイナー」リリース (4.2.1 -> 4.3.0)、「メジャー」リリース (4.2.1 -> 5.0.0)、またはパッチ リリース (デフォルト) であることを Maven に伝えるジョブを作成することです。行動)。
パラメータをmavenに渡すためのJenkinsへのインターフェースは簡単ですが、必要なバージョン(および開発バージョン)を明示的に指定することなく、mavenにマイナーまたはメジャーバージョンを更新させるコマンドはありますか. パッチ バージョンの更新がとても簡単にできるので、マイナー バージョンまたはメジャー バージョンに対して同じことを行うコマンドがあることを願っています。
node.js - npm パッケージの package.json ファイルのバージョン管理はどのように理解できますか?
package.json
開発サイクルでバージョン管理がどのように機能するかを知りたいです。
package.json
以下のような 1 つのバージョン プロパティの各数値の意味は何ですか?
api - semver でパッチ番号をインクリメントするためのルール
センバーによると
「下位互換性のあるバグ修正を行う場合の PATCH バージョン」。
と
「バグ修正は、不適切な動作を修正する内部変更として定義されます。」
これを念頭に置いて、色のように呼び出すことができる変数があるとしましょう。何らかの理由で、色の値を変更する必要があります。
現在、これは、ユーザーが呼び出すことができるものとして API で定義されている変数です。呼び出される実際の変数は変更していません。変数が返す値のみを変更しています。これを行うには、API 要素のコードを変更する必要があり、このコードを運用ブランチにマージする必要があります。しかし、このようなことで、API のパッチ バージョン番号を増やすことが本当に正当化されるのでしょうか?
api - 変数名の変更は、SemVer メジャーまたはマイナーをバンプしますか?
のような API を介して呼び出すことができる関数があるとしましょう。$MyFunction
簡潔にするため$MyFunction
に 12 を返します。名前を に変更$MyFunction
し$The12Function
ても、同じ結果が返されるとしましょう(この例では整数 12)。これは、メジャーまたはマイナーの SemVer バージョン番号へのバンプを保証しますか?
$MyFunction
動作しなくなったため、下位互換性を許可していないと主張する人もいるかもしれません。ただし、 を介して同じ結果を返すことができるため、下位互換性があると主張することもできます$The12Function
。
semantic-versioning - プロトコルのバージョンには「パッチ」が必要ですか?
semverによると、バージョン番号は MAJOR.MINOR.PATCH であり、下位互換性のあるバグ修正を行うと、パッチがインクリメントされます。
私は新しい通信プロトコルの作成に取り組んでおり、プロトコルに関連付けられたバージョンが必要です (このプロトコルを話すエンティティは、ハンドシェイク中に、会話で使用するプロトコルのサポートされている最高のバージョンをネゴシエートする場合があります)。パッチはこのコンテキストでも意味がありますか? ソフトウェア製品 (例: アプリのクラッシュの原因となったバグは修正されたが、API の変更はなかった) にとっては理にかなっていることは理解していますが、プロトコルは単なる仕様です (技術的にはプロトコル自体に関連付けられたコードはなく、話すエンティティにあるのはコードのみです)。プロトコル)。
プロトコルのパッチ番号が増える状況はありますか? そうでない場合、メジャー バージョンとマイナー バージョンのみを使用する必要がありますか?
node.js - package.json のチルダ (~) とキャレット (^) の違いは何ですか?
最新の安定版node
とにアップグレードした後npm
、 を試しnpm install moment --save
ました。エントリをpackage.json
キャレット^
接頭辞付きで保存します。以前は、チルダの~
プレフィックスでした。
- でこれらの変更が行われたのはなぜ
npm
ですか? ~
チルダと キャレットはどう違います^
か?- 他社より優れている点は?