モチベーション
- iioptのupdateをしたい
- updateに際して必要な対応を理解し、まとめたい
※ 自作ライブラリの管理は初めてなので、おかしい点があればコメント頂けるとうれしいです!
libraryのupdateで必要なこと
Libraryのバージョンを上げるときには、機能開発とは別に下記2点の対応が必要となってきます。
- CHANGELOG.mdの作成
- libraryのversionを上げる
この記事では、それぞれについて、資料を読んだのでまとめます。
CHANGELOG.mdの作成
CHANGELOGの作り方については、下記の資料を参考にしました。
Wiki で一番最初に参照されているので、それなりの知名度があるのでしょう。 Changelog - Wikipedia
この Keep a ChangeLog のホームーページ上で記載されている内容について、簡単にまとめようと思います。
Change Logを作る意味
Change Logとは、このプロジェクトの各リリース間における変更について、何が注目に値するのか、開発者や利用者に対して、正確に把握して貰うために作るものです。
開発者も利用者も、新しく追加された機能や、その背景が気になるはずです。なのでChage Logを作って、それらを追えるようにする必要があります。
Change Logに書く内容
keep-a-changelog/CHANGELOG.md at master · olivierlacan/keep-a-changelog · GitHub
具体的にどのように書くのか把握するため、Keep a Change Logのサイト自体の Change Logを確認しました。抜粋したものを下に書きます。
Changelog All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Unreleased 1.0.0 - 2017-06-20 Added New visual identity by @tylerfortune8. Version navigation. Changed Start using "changelog" over "change log" since it's the common usage. Start versioning based on the current English version at 0.3.0 to help translation authors keep things up-to-date. 0.0.3 - 2014-08-09 Added "Why should I care?" section mentioning The Changelog podcast.
Change Logは上から最新のものを記載します。 それぞれのバージョンについて、更新内容と更新した日付を書きます。 更新内容については、added, changed, removed, fixed, Security の5つの項目に分けて記載します。それぞれ、書く内容は下記のようになっています。
Added
: そのバージョンアップで追加した新しい機能Changed
: 既存の機能の修正Removed
: 機能の削除Fixed
: バグの修正Security
: 脆弱性対策
小ネタとして、まだリリースしていないけれども開発した内容は Unreleasedに乗せておくとよいとのことです。その理由は下記の通りです。
- 人々は次のリリースで使えるようになる機能を見ることができる
- releaseするときに、unreleased sectionを次のリリースバージョンに置き換えれば良い。
libraryのバージョンの上げ方
セマンティック バージョニング 2.0.0 | Semantic Versioning
libraryのバージョンの決め方は、こちらのサイトを参考にしました。
ということです。今回のiioptのupdateは機能追加だけなので、v0.2.0 としました。
まとめ
以上、自作ライブラリのバージョンの上げ方をまとめました。SemVerについては深掘りが足りてないので、おいおいちゃんと読んでいこうと思います。