プロジェクトについて

Tera Term is Tera Term Pro 2.3 succession version and is being officially recognized by the original author. Tera Term is open source free software terminal emulator supporting UTF-8 protocol. Now TTSSH supports SSH2 protocol (Original version supports SSH1).

Últimos archivo liberados

Tera Term_4 (4.107)2023-10-15 20:30
Tera Term-4 RC (4.107 RC)2023-09-10 19:46
Tera Term_5 (5.0)2023-10-15 20:32
Tera Term-5 RC (5.0 RC)2023-09-10 23:22
Tera Term old archive (4.68)2010-12-07 00:00

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

2024-03-19

最近の更新 (Recent Changes)

2023-09-10
2023-08-29
2023-08-24
2023-08-11
2023-08-08
2023-08-07

Wikiガイド(Guide)

サイドバー (Side Bar)

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

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

リリースの手順

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

  1. チケット,ブランチなどの確認
    • チーム内で確認
      • 今回のリリースに入れるもの・次回以降に延期するものを整理・決定する
    • ブランチをマージする
      • trunk, 4-stable 間、作業中のブランチなど
    • チケットをクローズ
      • すでに修正済み、処理済みのものはクローズする
        • リリース時にはすべてクローズされている状態となる
      • 次のリリースへ回すものはマイルストーンを変更する
        • 次のリリース用マイルストーンを作成する
    • この時点で新たに出てくるチケットの対応を検討する
  2. 依存ライブラリ、ツール、インポート元の最新版をチェックする。
  3. 今回のリリースに入れたいものが落ち着く

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]
        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 の登録を更新

コードフリーズについて

  • コードフリースになると、原則的には致命的なバグの修正のみ可能となる。
  • コードフリーズは、RC作成(リリースタグの派生元 で teraterm.iss に RC を付けるコミット)からリリース(リリースタグの派生元の teraterm.iss を戻すコミット)までとする。