#プロローグ
先日のAngular2ハンズオンに参加した際に、
今後のAngularのバージョンは~~3、~~4の様にメジャーバージョンが上がりますというお話を聞き、
今後のバージョンアップスケジュールについて調べてみました。
記載内容に不備がありましたら、ご指摘頂ければ幸いです。
※追記
Angular Routerのメジャーバージョン4に合わせる為、
Angularのバージョン3はスキップされ、次のAngularのバージョンは4になりました。
#TL;DR
- Angularのバージョン管理方法にSemantic Versioning(SemVer)を採用
- 今後のバージョンアップは6ヶ月毎のサイクルでメジャーバージョンを更新
- Angular4は2017年3月頃
#今後のバージョン管理方法
2.0.0の様なSemanticVersioning(SemVer)と呼ばれるバージョン管理方法を採用しました。
#Semantic Versioning(SemVer)とは
バージョンナンバーは、「メジャー.マイナー.パッチ」のフォーマットで記載されるバージョン管理方法です。
例)2.0.0、2.9.0、2.10.0
##各バージョンアップタイミング
- メジャーバージョン:APIの変更に互換性のない場合
- マイナーバージョン:後方互換性があり機能性を追加した場合
- パッチバージョン:後方互換性を伴うバグ修正をした場合
※バージョン番号は必ず正の整数を使用
SemVerを採用している他のソフトウェアとしては、Node.jsがあります。
#リリースサイクル
今後は以下の図の様に、6ヶ月毎のサイクルでバージョンアップが行われます。
#実際のスケジュール
Angular4、5は2017年中にはリリースされる予定となります。
スケジュール | バージョン |
---|---|
2017年3月頃 | Angular4 |
2017年9月頃 | Angular5 |
2018年3月頃 | Angular6 |
・・・ | ・・・ |
#他のバージョン管理方法
SemVerを調べる際に他のバージョン管理方法についても調べてみました。
他のバージョン管理方法としては、「メジャー.マイナー.パッチ.ビルド」のフォーマットもあるようです。
SemVerとの違いとしては、ビルドの部分が違い、ここには自動的に付与される値が入ります。
例)ビルドバージョンやビルドした日、Git Commitした際のハッシュ値
他のバージョン管理方法を採用しているソフトウェアとしては、Ruby on Railsがあります。
#参考
- Angular Blog - Versioning and Releasing Angular
- [Semantic Versioning](http://semver.org/lang/ja/"Semantic Versioning")
- [Effective Techniques For Software Versioning](https://10kloc.wordpress.com/2013/01/05/3-effective-techniques-for-software-versioning/"Effective Techniques For Software Versioning")