いなた屋.Log

君がやることはすべて、君にしか出来ないことである。

本サイトの活動は終了しました。今後の活動は いなた屋.tumblr.com で行います。詳細

nanoc のアップデートでちょっと悩む

Created at 2013-05-30 Thu 18:15:23

nanoc をアップデートしようと思ったら、半年の間にバージョンがすごく上がってた。使用中のバージョンは 3.4.3 だが最新版は 3.6.4 だ。リリースノート を参考にして並べるとこんな感じになる。

  • 3.4.3 (2012-12-09) <- 使用中のバージョン
  • 3.5 (2013-01-27)
  • 3.6 (2013-02-24)
  • 3.6.1 (2013-02-25)
  • 3.6.2 (2013-03-23)
  • 3.6.3 (2013-04-24)
  • 3.6.4 (2013-05-29) <- 現在の最新バージョン

だいたい月に一度のペースでリリースされてる。活発に活動してる証拠だから、これ自体は悪いことじゃないね。でも、気になるのは互換性の問題。今までのデータが使えないとかないよね?

そのあたりのことを調べていたら nanoc の README.md にバージョニング(バージョン番号の付け方)のことが書いてあった。セマンティック・バージョニング(Semantic Versioning - 以下 SemVer と略す)という手法らしい。

nanoc uses Semantic Versioning.

Source: nanoc/README.md at master · nanoc/nanoc · GitHub

で、SemVer って何よってことでこれも調べる。公式ページは英語(あるいはスペイン語)だが、日本語に訳してくれてる人もいる(エライッ)。

日本語訳が二つあるのは、どちらが正確かわからないから。見つけた順に挙げた。どちらも 2.0.0-rc.1 の訳だけど、公式は 2.0.0-rc.2 に上がってる。まあ、たいした違いはないでしょ。気になるなら原文読めってことだ。

日本語訳から重要な部分を引用してみよう。

X.Y.Z (Major.Minor.Patch) というバージョンのフォーマットを検討してください。 API に影響を及ぼさないバグ フィックスではパッチ (patch) バージョンをインクリメントし、後方互換性を持つ API の追加や変更ではマイナー (minor) バージョンをインクリメントし、そして後方互換性を持たない API の変更ではメジャー (major) バージョンをインクリメントします。

Source: Semantic Versioning 2.0.0-rc.1

今回は 3.4.3 から 3.6.4 へのアップデートなのでメジャーバージョンに違いはない。したがって、後方互換性があるということだね。アップデートしても問題はなさそうだ。よかった、よかった。

comments powered by Disqus