セマンティック バージョン 2.0.0 の紹介

セマンティック バージョニングとは何ですか?

  • セマンティック バージョン番号。この単語は、最初にバージョン番号、次にセマンティック バージョン番号であることを示します。
  • バージョン番号と言えば、私たちは毎日それを目にする必要があります。たとえば、WeChat の各アップデートにはバージョン番号が付いています。下の画像はWeChat 公式 Web サイトのスクリーンショットです。
    ここに画像の説明を挿入
  • バージョン番号は、各リリースを区別するために使用されます。これにより、ソフトウェア開発者にとって反復的な最適化が容易になります。本記事でいう意味バージョン番号とは、バージョン番号を基に意味情報を付加したものです。
  • つまり、セマンティック バージョン番号は、バージョン番号でセマンティックな情報を表現できるようにするためのもので、このリリースのバージョン番号を見ると、このバージョンが何をするかを知ることができます。

セマンティック バージョン 2.0.0

  • セマンティック バージョニング仕様は、Gravatars の作成者であり GitHub の共同創設者である Tom Preston-Werner によって確立されました。
  • 新しいパッケージをリリースするときは、セマンティック バージョン番号によって次の規則が適用されます。
    • バージョン形式: メジャー バージョン番号、マイナー バージョン番号、リビジョン番号、およびバージョン番号の増加規則は次のとおりです。
      • メジャー バージョン番号: 互換性のない API 変更を行った場合、
      • マイナーバージョン番号: 下位互換性のある機能追加を行う場合、
      • リビジョン番号: 下位互換性のバグ修正を行ったとき。
      • 「メジャーバージョン番号.マイナーバージョン番号.リビジョン番号」の後ろに拡張子として旧バージョン番号とバージョンコンパイル情報を追加することができます。
  • この仕様セットを確立する機会を確認するには、ここにアクセスすることもできます。要約すると、システムがますます大きくなり、より多くのパッケージが追加された場合でも、「依存地獄」の死の谷に陥ることを回避できます
  • 公式サイトではすでにわかりやすく紹介されているので、私はレンガを投げて翡翠をスパークさせるためにここに来ただけで、直接の情報を得るにはここにアクセスしてください。

これは何をするのでしょうか?

  • 契約書を発行する方へ各パッケージが送信される前に行われた変更に従って、セマンティック バージョン番号のどの部分が変更されるかを決定できます。たとえばrapidocr_onnxruntime、パッケージの現在のバージョンは次のとおりですv1.2.3
    • 下位互換性修正を行うと、最後の桁のみが増加し、バージョン番号は次のようになります。v1.2.4
    • このパッケージに下位互換性のある汎用モジュールを追加すると、中間位置が追加され、最後のビットがクリアされ、バージョン番号は次のようになります。v1.3.0
    • パッケージの API インターフェイスを更新すると、下位互換性がなくなり、最初の桁が増加し、他の位置がクリアされ、バージョン番号が次のようになります。v2.0.0
  • パッケージをご利用の方へパッケージを使用するときは、最初にそのバージョン番号を確認し、セマンティックなバージョン番号に従えば、パッケージのバージョン範囲を制限して、非互換性の問題を回避できます。
    • 例:distlib以前にパッケージの依存関係ライブラリを見て、それを書きましたdislib<1,>=0.3.6distlibこれは、このライブラリのバージョン 1.0 未満およびバージョン 0.3.6 以上のバージョンにのみ依存することを意味します。文字通り、これは 1.0 より上のバージョンで発生する可能性のある非互換性を回避するためです。

最後に書きます

  • 現時点では、私がリリースしたパッケージのバージョン番号はセマンティック バージョン仕様に準拠しています。詳細については、RapidOCRのすべての pypi パッケージを参照してください。
  • この仕様により、コールド バージョン番号は意味がなくなり、興味深いものになります。

おすすめ

転載: blog.csdn.net/shiwanghualuo/article/details/129713595