プロジェクトについて

Tera Term は、オリジナルの Tera Term Pro 2.3 の原作者公認の後継版です。オープンソースで開発されており、UTF-8 表示に対応しています。 また、SSH1 対応モジュール TTSSH を拡張し、SSH2 プロトコルをサポートしています。

最新リリース情報

Tera Term (4.105)2019-12-07 16:10
Tera Term old archive (4.68)2010-12-07 00:00
Tera Term RC (4.105 RC)2019-11-23 13:15

最新のプロジェクトアクティビティ

2021-05-09
2021-05-07

最近の更新 (Recent Changes)

2021-05-04
2021-02-14
2021-02-03
2020-09-21
2020-09-09

Wikiガイド(Guide)

サイドバー (Side Bar)

「reference/develop.txt ■リリースの方法」の改稿

完成したら 4-stable, trunk へフィードバックする

リリースの手順

リリース作業の開始からRC作成まで

  1. 今回のリリースに入れたいものをプロジェクト内に確認
    • チケットを確認する
    • trunk <-> 4-stable 間でマージ可能な修正を確認する
    • この時点で新たに出てくるものを確認する
    • 今回に入れるもの・次回に延期するものを整理・決定する
  2. 依存ライブラリ、ツール、インポート元の最新版をチェックする。
  3. チケットに新しいマイルストーンを作成する
  4. 今回のリリースに入れたいものが落ち着く
    落ちついたあたりでコードフリーズとみなす。
    コードフリースになると、原則的には致命的なバグの修正のみ可能となる。
    

RC作成からリリースまで

  1. ドキュメントを確認する。
    • ダイアログ上の設定項目・UIのない特別オプション・コマンドラインパラメータ・新規マクロコマンドなど、対応するドキュメントに漏れがないか確認する。
    • 変更履歴の書き忘れを確認する。
    • 変更履歴の順番を変更する。だいたいの指針としては、ターミナルエミュレーション関係・アプリケーションとしての変更・マクロの順。
    • ドキュメント差分が翻訳されていることを確認する。
  2. バージョンを一つインクリメントする。一般にテストを呼びかけ、旧バージョンとの同時実行が考えられるため、このタイミングとする(例: TT_FILEMAPNAME 定義 など)。
    • teraterm\common\tt-version.h
    • ttssh2\ttxssh\ttxssh-version.h
    • ttpmenu\ttpmenu.rc // 変更時のみ
    • TTProxy\TTProxy.rc // 変更時のみ
    • TTXKanjiMenu\ttxkanjimenu.rc // 変更時のみ
  3. この年における最初のリリースの場合は、著作権表示の「最後の発行の年」をインクリメントする。
    • teraterm\keycode\keycode-version.rc // VERSIONINFO
    • teraterm\teraterm\tt-version.rc // VERSIONINFO
    • teraterm\ttpcmn\ttpcmn-version.rc // VERSIONINFO
    • teraterm\ttpdlg\ttpdlg.rc // dialog
    • teraterm\ttpfile\ttpfile-version.rc // VERSIONINFO
    • teraterm\ttpmacro\ttm-version.rc // VERSIONINFO
    • teraterm\ttpset\ttpset-version.rc // VERSIONINFO
    • teraterm\ttptek\ttptek-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
  4. 前回のリリースからCygTerm+に変更がある場合は、64bit Cygwinでビルドして cygterm\cygterm+-x86_64\cygterm.exe の差し替えを行う。
  5. インストーラを作成する。
    • teraterm.iss の AppVer を「次のバージョン-RC」とする。
      - #define AppVer "4.105"
      + #define AppVer "4.106-RC1"
      
    • teraterm.iss の snapshot をコメントアウトする
      - #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');
      + ; #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');
      
    • teraterm.iss から起動するバッチをリリース用に「リビルド有効」「アーカイブ作成有効」にする
        [InnoIDE_PreCompile]
        Name: makechm.bat
      - Name: build.bat
      - ;Name: build.bat; Parameters: rebuild
      + ;Name: build.bat
      + Name: build.bat; Parameters: rebuild
        
        [InnoIDE_PostCompile]
      - ;Name: makearchive.bat; Parameters: release
      + Name: makearchive.bat; Parameters: release
        
        [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
        
        [_ISToolPreCompile]z
        Name: makechm.bat
      - Name: build.bat
      - ;Name: build.bat; Parameters: rebuild
      + ;Name: build.bat
      + Name: build.bat; Parameters: rebuild
        
        [_ISToolPostCompile]
      - ;Name: makearchive.bat; Parameters: release
      + Name: makearchive.bat; Parameters: release
      
    • ISTool で teraterm\installer\teraterm.iss を開き、"Project"-"Compile Setup"で作成される。
    • makearchive.bat で作成されるフォルダを zip 圧縮する。
  6. サポートされている全 OS で起動・接続チェックする。
  7. OSDN のリリース物件に追加する
    • 「Tera Term RC」パッケージに新しいリリース(例: "4.106 RC")を追加する
    • 新しいリリースに、インストーラ・zip パッケージファイルを追加する
  8. RCの作成をアナウンスする。
  9. フィードバックを受け入れる。
    修正が入ったら再度「ドキュメントを確認する」「サポートされている全 OS で起動・接続チェックする」
    

リリース作業

  1. ドキュメントを確認する。(詳細は同上)
  2. リリース日を変更する。
    • html/about/hisotry.html
  3. インストーラを作成する。
    • teraterm.iss の AppVer を変更する。
      - #define AppVer "4.106-RC1"
      + #define AppVer "4.106"
      
    • ISTool で teraterm\installer\teraterm.iss を開き、"Project"-"Compile Setup"で作成される。
  4. 起動・接続チェックする。
  5. この状態でコミットする。
  6. SVN のタグを作成する。
    タグ名は「teraterm-バージョン」。(例: v4.106ならば"teraterm-4_106")
    svn copy -m "Release 4.106" svn+ssh://svn.osdn.net/svnroot/ttssh2/branches/4-stable svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_106
    
  7. リリース用のタグでチェックアウトし直す。
    SVN のリビジョン以外のすべてが、タグ作成元と同じになる
    
  8. インストーラを作成する。
    • ISTool で teraterm\installer\teraterm.iss を開き、"Project"-"Compile Setup"で作成される。
    • makearchive.bat で作成されるフォルダを zip 圧縮する。
  9. OSDN を更新する。
    • 「Tera Term」パッケージに新しいリリース(例: "4.106")を追加する
    • 新しいリリースに、インストーラ・zip パッケージファイルを追加する
    • ドキュメントの変更履歴から、リリースの「変更履歴」に転記する(Wikiフォーマットで)(日本語・英語とも)
    • ニュース記事を作成する。
  10. プロジェクトページを更新する。
  11. ttssh2-users メーリングリストにアナウンスする。
  12. Twitter にアナウンスする。(https://twitter.com/Tera_Term)
    • リリースアナウンスのツイートを固定ツイートにする。
  13. リリースタグの派生元の teraterm.iss を戻す
    • snapshot
    • 起動するバッチ
      これによりコードフリーズ解除となる
      
  14. Chocolatey の登録を更新