TeraTerm Project でのリリース手順について以下に示します。
リリースに使うライブラリのバージョンはこの時点でおおむね決定する。
リリースビルドには CI ツールを使っているため、Visual Studio の詳細バージョンはコントロールできない。どのバージョンになるかは CI ツールがどのバージョンを採用するかに左右される。
git switch main git checkout -b release/5_4_0-RC
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 #define TT_VERSION_PATCH 0 - #define TT_VERSION_SUBSTR "dev" + #define TT_VERSION_SUBSTR "RC"TT_VERSION_MINOR または TT_VERSION_PATCH は、前回のリリース直後にインクリメントされている。
git switch main git checkout -b release/5_4_0
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 #define TT_VERSION_PATCH 0 - #define TT_VERSION_SUBSTR "RC" + #undef TT_VERSION_SUBSTR
ビルド・インストーラの生成がエラーなくできることを確認する。
タグは annotated tags とする。
タグ名は「v(バージョン)」。(例: 5.4.0ならば "v5.4.0" )
git switch main git pull --rebase git tag -a v5.4.0 -m "Release 5.4.0" git push origin v5.4.0
更新のしかたは プロジェクトページの更新手順 を参照
git checkout -b stable_5_4
定期リリースの場合
#define TT_VERSION_MAJOR 5 - #define TT_VERSION_MINOR 4 + #define TT_VERSION_MINOR 5 #define TT_VERSION_PATCH 0 - #undef TT_VERSION_SUBSTR + #define TT_VERSION_SUBSTR "dev"
#define TTSSH_VERSION_MAJOR 3 - #define TTSSH_VERSION_MINOR 4 + #define TTSSH_VERSION_MINOR 5 #define TTSSH_VERSION_PATCH 0
<h3 id="teraterm_5.5.0">YYYY.MM.DD (Ver 5.5.0 not released yet)</h3>
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 - #define TT_VERSION_PATCH 0 - #undef TT_VERSION_SUBSTR + #define TT_VERSION_PATCH 1 + #define TT_VERSION_SUBSTR "dev"
#define TTSSH_VERSION_MAJOR 3 #define TTSSH_VERSION_MINOR 4 - #define TTSSH_VERSION_PATCH 0 + #define TTSSH_VERSION_PATCH 1
<h3 id="teraterm_5.4.1">YYYY.MM.DD (Ver 5.4.1 not released yet)</h3>
安定版リリースの場合
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 - #define TT_VERSION_PATCH 1 - #undef TT_VERSION_SUBSTR + #define TT_VERSION_PATCH 2 + #define TT_VERSION_SUBSTR "dev"
#define TTSSH_VERSION_MAJOR 3 #define TTSSH_VERSION_MINOR 4 - #define TTSSH_VERSION_PATCH 1 + #define TTSSH_VERSION_PATCH 2
<h3 id="teraterm_5.4.2">YYYY.MM.DD (Ver 5.4.2 not released yet)</h3>
ダウンロードしたファイルを実行すると、SmartScreen が「WindowsによってPCが保護されました」という警告を出すことがある。
これが解消されないと、窓の杜はインストーラを掲載しない。
Microsoft Edge でダウンロードすると、SmartScreen が「一般的にダウンロードされていません」という警告を出す。
ウイルス対策ソフトが誤検出することがある。
keycode.exe がキーロガーとして検出されやすいらしい。
Microsoft には誤検出の申し立てができる。「PCが保護されました」の解消のため報告する。
ウイルス対策ソフトに検出されている状態だと push したバイナリが公開差し止めになることがある。
同じバージョンを複数回 push できないようなので、push 作業をミスることができない。
現在 teraterm5 パッケージは reject されている。
コードフリース中は、原則的には致命的なバグの修正のみ可能となります。
コードフリーズは、RC作成(teraterm.iss に RC を付けるコミット)から(バージョンをインクリメントするコミット)までとします。