How to release Tera Term installation package
- From start release until create RC
- From create RC until release
- Release
- About code freeze
To release Tera Term installation package is shown in the following step:
From start release until create RC
- Confirm ticket and branches.
- Confirm in project team.
- Organize / decide whether to include bug fix / feature in this release or defer.
- Merge branches
- Verify trunk / 4-stable and working branches.
- Close tickets.
- Confirm tools, libraries, import sources.
From create RC until release
- Confirm documents.
- Increment the version while RC release process.
-
teraterm\common\tt-version.h
set TT_VERSION_SUBSTR to "RC".
#define TT_VERSION_MAJOR 5
#define TT_VERSION_MINOR 0
- #define TT_VERSION_SUBSTR "dev"
+ #define TT_VERSION_SUBSTR "RC"
TT_VERSION_MINOR is already incremented yet. It is incremented immediately after previous release.
- ttssh2\ttxssh\ttxssh-version.h
TTSSH_VERSION_MINOR is already incremented yet. It is incremented immediately after previous release.
- ttpmenu\ttpmenu.rc // only modifying
- TTProxy\TTProxy.rc // only modifying
- TTXKanjiMenu\ttxkanjimenu.rc // only modifying
-
installer\teraterm.iss
Change to "RC" and enable create archive.
- #define AppVer "5.0-dev"
+ #define AppVer "5.0-RC"
[PreCompile]
Name: makechm.bat
- Name: build.bat
- ;Name: build.bat; Parameters: rebuild
+ ;Name: build.bat
+ Name: build.bat; Parameters: rebuild
[PostCompile]
- ;Name: makearchive.bat; Parameters: release
+ Name: makearchive.bat; Parameters: release
By way of exception, CygTerm+ always upgrades not regarding Tera Term release process when the patch is committed.
The release date is the day committed by a developer.
Because user can get gcc compiler for free.
- Increment the year of last publication of copyright notice if it is first release in this year.
- teraterm\keycode\keycode-version.rc // VERSIONINFO
- teraterm\teraterm\tt-version.rc // VERSIONINFO
- teraterm\ttpcmn\ttpcmn-version.rc // VERSIONINFO
- teraterm\ttpdlg\ttpdlg.rc // dialog
- teraterm\ttpmacro\ttm-version.rc // VERSIONINFO
- ttssh2\ttxssh\ttxssh.rc // dialog
- ttssh2\ttxssh\ttxssh-version.rc // VERSIONINFO
- ttpmenu\ttpmenu.rc // dialog, VERSIONINFO
- TTProxy\TTProxy.rc // dialog, VERSIONINFO(en), VERSIONINFO(ja)
- TTXKanjiMenu\ttxkanjimenu.rc // VERSIONINFO
- installer\teraterm.iss
- installer\release\license.txt // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu
- doc\en\html\index.html
- doc\en\html\about\copyright.html // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu
- doc\en\html\macro\index.html
- doc\ja\html\index.html
- doc\ja\html\about\copyright.html // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu
- doc\ja\html\macro\index.html
- Commit this state.
- Create installer.
- Test run installer, run and connect in all supported OS.
- Push and build on AppVeyor
- Announce RC release.
- Get feedbacks.
If changed source code, redo "Confirm documents" and "Test run and connect in all supported OS."
Release
- Confirm documents. (same as above)
- Remove "RC" string.
- Modify release date.
- Create installer.
Check that build and installer generation without error.
- Commit this state.
- Create SVN tag.
Use annotated tags.
The naming rule is `v(version)' (e.g. v5.0).
git tag -a v5.0 -m "Release 5.0"
git push origin v5.0
- Create installer.
use "github-release" project on AppVeyor.
- Add to GitHub "Releases."
- select a new tag.
- put installer and portable zip file.
- write summary of release note (in Japanese and English) from changelog of document.
- Check anti-virus software
- download by Chrome
- download by Edge
Edge has "Defender SmartScreen", it notices "Uncommonly downloaded." Report it as incorrectly detected.
- Update project web page (https://teratermproject.github.io).
How to update project home page (in Japanese).
- Announce release.
- Increment the version
-
teraterm/common/tt-version.h
Increment TT_VERSION_MINOR and set SUBSTR to "dev".
#define TT_VERSION_MAJOR 5
- #define TT_VERSION_MINOR 0
- #undef TT_VERSION_SUBSTR
+ #define TT_VERSION_MINOR 1
+ #define TT_VERSION_SUBSTR "dev"
-
ttssh2/ttssh/ttxssh-version.h
Increment TT_VERSION_MINOR.
#define TTSSH_VERSION_MAJOR 3
- #define TTSSH_VERSION_MINOR 0
+ #define TTSSH_VERSION_MINOR 1
-
installer\teraterm.iss
Set AppVer to [next version]-dev.
- #define AppVer "5.0"
+ #define AppVer "5.1-dev"
[PreCompile]
Name: makechm.bat
- ;Name: build.bat
- Name: build.bat; Parameters: rebuild
+ Name: build.bat
+ ;Name: build.bat; Parameters: rebuild
[PostCompile]
- Name: makearchive.bat; Parameters: release
+ ;Name: makearchive.bat; Parameters: release
- Update Chocolatey.
About code freeze.
After code freeze, only critical bug fix is able to committed.
Code freeze start with RC commit in development branch, and end with version increment commit..