変更履歴
リリースの内容は、出した本人が書いています。課題キーは公開バックログにリンクしているので、ここの1行から、それを求めた課題までさかのぼれます。
リポジトリのCHANGELOG.ja.mdから描画しています。英語版を訳したものです。GitHubで見る
v0.24.2 — 2026-10-19
同期は必要な仕事だけをし、起きていない損失を報告しなくなりました。projectsにプロジェクトを一つ足すと、すべてのプロジェクトを読み直していました。既存の四つに一つ足したとき、13,410件で10分かかりました。いまは範囲が広がっただけなら差分同期を続け、足したプロジェクトだけ全履歴を受け取ります。範囲を狭めたり入れ替えたりしたときは、これまでどおり全体を一度受け取ります(GDK-2051)。Jiraの検索は新しいイシューを数秒遅れて見ます。そのためgadak createは作ったばかりのイシューに”issue not found upstream”と表示し(一回の一括作成で六件中四件)、編集の直後に同じことが起きると、生きている行がキャッシュから消えることがありました。いまは検索で見つからなければイシューを直接読んで確かめます。404のときだけ消し、存在するイシューは最大3.5秒検索し直します(GDK-2050、GDK-2054)。権限のないウィキページ一つで、ウィキ同期が止まることはもうありません。照合の確認で403が返っても(#111、@wafeさんに感謝します)本文で403が返っても、そのページは残してログに記録し、飛ばします。全体同期ですべてのページが403を返したときだけ、これまでどおり資格情報の拒否として失敗します(GDK-2049)。
**エラーが、本当に効く次の手を示します。**太字の中にインラインコードを入れたMarkdownのコメントは、Jiraに400 INVALID_INPUTの一行で拒否されていました。変換器はもうコードに太字の印を付けません。Jiraの文書形式がその組み合わせを許さないためです(GDK-1892)。gadak sqlは知らないフラグに受け付けるフラグの一覧を返し、--format jsonには--jsonを示します(GDK-2030)。commentsでkeyを探すと、issuesテーブルではなくitemsとの結合を案内します(GDK-2053)。資格情報が拒否されて失敗した同期は、同じ理由でまた失敗する再試行ではなく、gadak initでの再認証かウィキ同期の停止を案内します(GDK-2049)。gadak sync --if-stale 0sは、閾値は正の値でなければならず、ただのgadak syncなら必ず一回走ると伝えます(GDK-2055)。Jiraの添付ファイルをダウンロードしようとした二つのエージェントがgadak attach getを見つけられませんでした。gadak --helpにはアップロードしか載っていなかったためです。いまはヘルプの行に表示され、gadak downloadはそのコマンドを指し、スキルはJiraではattachments.urlがもともと空だと伝えます(GDK-2058)。アップグレードの後は、インストール済みのスキルファイルを次のUTC日付を待たずにすぐ確かめます(GDK-2031)。
**画面が自分自身と食い違わなくなりました。**言語を切り替えても、もうページを読み込み直しません。書きかけの新しいイシューはそのまま残り、画面だけが新しい言語で描き直されます(GDK-2034)。アプリ内ブラウザを開いている間、一覧列のサイズ変更つまみは半分ほどページの下に隠れ、つかめませんでした。いまはつまみ全体が継ぎ目の一覧側にあり、押した位置のままドラッグできます(GDK-2048)。ボードの上の状態の凡例は件数順ではなくボードの列の順に並び(GDK-1850)、何も起きなかった振り返りの区間は細い線を並べる代わりに、何も起きなかったと伝えます(GDK-1953)。
v0.24.1 — 2026-10-01
**アプリが開くシェルが、あなたの道具を見られます。**FinderやDockから起動したserveはlaunchdの環境を受け継ぎます——Gadak.app 0.24.0で実測した値はPATH=/usr/bin:/bin:/usr/sbin:/sbin、ロケールは一つもありませんでした。ところがpaneのシェルはログインシェルではないので、その二つを直してくれるファイルを読む機会がありません。よりによってcaskでgadakを入れた環境で、paneが約束する素のgadakが見つからず、brewで入れた道具がすべて無く、zshの行エディタがマルチバイト入力を見られませんでした。これからはログインシェルに環境を一度だけ尋ね、渡ってくるのは二つだけです。PATHは元からあった項目をそのまま残し、ログインシェルだけが知っていたものを足します。ロケールは何も無いときだけ埋めます。シェルが遅い、あるいは見つからないときは環境に触れずpaneはそのまま開き、どちらだったかはgadak doctorが伝えます(GDK-2032)。
**決めた幅は決めた場所にあります。**課題リストの幅を固定すると——右端をつかんで、あるいはgadak config set ui.tokens.layout.listで——隣の詳細パネルが余った分を受け取れませんでした。リストを狭めれば窓の右端に何でもない帯が開き、広げれば継ぎ目は動かないのに幅だけが保存され、そのあとアプリ内ブラウザが自分の列からその数字を払っていました。これからは固定されたリストの隣の列が、リストが手放した分を受け取ります。ドラッグが保存するのは、ポインタが求めた幅ではなく実際に描かれた幅です(GDK-2047)。同じ画面で、一括選択をキーボードから始めて広げられます——EnterとShift+Enterが詳細を開いてしまっていました——そしてoriginが戻せない二つの操作、ペアリングの破棄と履歴の消去は、より静かな隣人たちがすでにそうしていたように二度尋ねます(GDK-2005、GDK-2006)。
**スマホがレトロを読み、カタログがエージェントに率直に答えます。**この一週間がどうだったかがスマホの画面になりました。デスクが最初に差し出す一文、要約の四つの数字、まだ手を打てる滞った仕事、そして閉じたもの——週ごとの列の表を押し込めたのではなく、デスクの計算そのものです(GDK-1827)。gadakが見たことのないカテゴリーの状態は、デスクでもスマホでもGoでも同じ側へ畳まれます。そうでなければ、その値に頼る機能がある口座では動き別の口座では動かないことになります(GDK-2004、GDK-2042)。エージェントには、バイナリがすでに受け取っていたのにカタログが言っていなかった四つが届きます——gadak sql --layout、issue --link、gadak_searchのlabels、sync --source(GDK-2017)。no such columnのヒントは接尾辞の付いた綴りも当てにいき(GDK-2029)、iPhoneでアプリがダイヤルしないアドレスは、ネットワークエラーではなくダイヤルしないと言います(GDK-2009)。
v0.24.0 — 2026-09-18
**スマートフォンでターミナルが使えるようになりました。**アプリで開いても、tailscale serveごしにブラウザで開いても、ターミナルは与えられた画面を使い切り、入力している間キーボードが下がりません(GDK-1987、GDK-1986)。画面の下には、スマートフォンのキーボードにないキーを並べた列が付きます。Esc、Tab、Ctrl、Altと矢印があり、修飾キーを押したままにしたときの三つの状態はアプリのものと同じです。ブラウザからつないだシェルも、読むだけでなく操作できます(GDK-1995)。アプリでは韓国語が字母ごとではなく語として届き、組み立て中の文字はキーの列の上に出ます(GDK-1988)。
**スマートフォンの一覧がデスクトップの一覧と同じになりました。**組み込みビューはそれぞれ決められた順序で読めます。任せた課題は静かなものから並び、再オープンは作業が戻ってきた回数で並びます。区切り方もビューが決め、スプリントはデスクトップと同じ形に分かれます(GDK-1992、GDK-1993)。ヘッダーはどこを押せばよいかが分かるようになりました。見出しの下に罫線が入り、右端の三つのコントロールが一組にまとまり、手動同期のあった場所に検索が戻りました。今すぐ同期は設定画面にあります(GDK-1989、GDK-1990)。
この二つのコントロールは別々の画面を開きます。虫めがねはパレットを開き、キャッシュ全体から課題を一つ探せます。別の画面へ渡す行は、そのことを示すようになりました(GDK-1949、GDK-1997)。ビュー名を押すと、いま見ている一覧そのものを扱う画面が開きます。その一覧が属するビューが先頭に出て、下に一覧を絞り込むトグルが並びます。この絞り込みは今回新しく入りました。これまでスマートフォンでは見ている一覧を絞れず、デスクトップに戻ってビューを保存する必要がありました。トグルは一覧そのものから見つけるので、何も変わらない項目は出しません。絞り込んだ結果は保存せず、別のビューを選べば元の一覧に戻ります(GDK-1994)。
**韓国語と日本語がそのまま読めます。**日本語の検索が、文書にある語を見つけられるようになりました。日本語の文には空白がないため、前に区切りのない語は索引に語として入っていませんでした。同梱のキャッシュだけでも、日本語は605件のうち334件で625語を落とし、英語は一語も落としていません(GDK-1978)。振り返り画面の韓国語の集計は、나머지をマージとして数えなくなりました(GDK-1946)。日本語のスプリント目標は、全角34字が収まる二行目を持ちます(GDK-1977)。韓国語と日本語のデモデータは、同じ画面の他の要素と同じようにラベルまで訳されます(GDK-1976)。
v0.23.1 — 2026-09-17
**アプリが見せた状態をサーバーが拒んでいた不具合。**組み込みトラッカーでは、移行を経たワークフローが同じ名前の状態を二つ持ち、そこで配られる遷移idが状態idと重なります。そのため、ウェブとスマホが見せたDoneを押すたびに「数字だけでは曖昧だ」と返り、Doneはどのボタンでも適用できない唯一の遷移でした。クライアントが遷移一覧から選んだidは、これからはそのまま照合され、状態idや名前やカテゴリーとして読み直されることはありません。一覧が古ければそのidを名指しで拒み、その課題が実際に出すidを知らせます。CLIで状態名を打つのはこれまで通りです(GDK-1982)。サーバーが拒んだ書き込みはログに残るようになりました。あの400だけが何も残さない分岐でした。
**スマホのリストの扉が一つになり、その扉が検索だと言います。**ヘッダーには同じパレットを開くコントロールが二つあり——見出しと、新規作成の隣の虫眼鏡——どちらももう一度押しても閉じませんでした。扉は見出し一つになり、パレット自身の虫眼鏡をまといます。画面は変わらず検索だと言い、コントロールは一つ減り、もう一度押せば閉じてリストは見ていた位置に戻ります(GDK-1985、GDK-1984)。取り戻した44pxはビュー名が受け取ります。英語と日本語で最も長い組み込みビューが件数を隠さなくなり、三つは文字サイズを落とさなくなりました。
v0.23.0 — 2026-09-17
**スマートフォンでアプリのすべてが使えます。下部のタブバーをなくしました。一覧の見出しを押すと、その場所にパレットが開きます。最近見た課題、組み込みビューと保存したビュー、Jiraのフィルター、Wikiのスペース、そしてペアリング済みのターミナルが一つに並びます。ここに入力すると課題とページをまとめて検索するので、検索は独立した画面ではなくなり、設定は見出しの横の歯車から入ります(GDK-901、GDK-902)。進行中のスプリントは見出しの下に一行で出て、その行を押すと一覧がそのスプリントに絞られます。キャッシュにあるスプリントは、期間と進捗と目標を添えてパレットの行になります(GDK-1867、GDK-1827)。詳細画面はキャッシュが持っているものをすべて描きます。ラベル、コンポーネント、修正バージョン、親課題、エピックに加えてサイト独自のカスタムフィールドまで並び、添付は一行に三つずつ置かれます(GDK-1870、GDK-1882)。書き込みもできます。エピックから+**で子課題を作り、ラベル行でワークスペースのラベルを切り替え、期限はスマートフォンの日付ホイールで選びます。課題にもWikiページにも、コメントに写真を添えられます(GDK-1871、GDK-1872、GDK-1873、GDK-1879)。書き込みが届くと短い一行で知らせ、書きかけのコメントや題名はアプリを開き直しても残り、デスクトップでしかできない操作は探しにいく場所でそう伝えます(GDK-1969、GDK-1863、GDK-1874)。
テイルネットの中のスマートフォンには、インストールが要りません。Tailscaleのアドレスに結び付けたserveは自分のMagicDNS名にも応答し、/m/でスマートフォン用の一式を配るので、Safariでhttps://<ノード>.<テイルネット>.ts.net/m/を開けばそれがアプリのすべてです。ストア版のビルドもペアリングも要りません。そのアドレスに届くこと自体が、管理コンソールがすでにその端末に与えた資格だからです。tailscale serveの後ろでは要求ごとにその人のTailscaleのログインが一緒に載り、書き込みはその人の名前で記録されます。直接つないだときは、serveは元どおり単一利用者の画面のままです。デスクトップのDevicesタブが、そのアドレスをQRで表示します(GDK-1966)。ブラウザで開いた課題はアドレスにキーが入った本物の履歴なので、戻る操作でページの外に出ずに一覧へ戻り、課題のアドレスをそのまま同僚に渡せます。ホーム画面に追加すれば、ブラウザの枠のない全画面のアプリになります(GDK-1970)。シェルも同じ規則に従い、tailscale serveの後ろではその機械を持つアカウントがペアリングなしでシェルを開きます(GDK-1972)。組み込みトラッカーでは自分の名前を決められます。CLIではgadak me set "名前"、WebとスマートフォンではSettingsの名前欄で決め、どの画面からの書き込みもその名前で記録されます(GDK-1973)。
**キャッシュが持つものは接続元に従います。**接続元で消したWikiページが、これまではスペースが残っているかぎりローカルのキャッシュに残っていました。Wikiの全同期が各スペースの一覧とキャッシュを突き合わせるようになり、一時間ごとの調整もページidで同じことをします(GDK-1884、#104、報告してくださった@wafeさんに感謝します)。同期済みの二つのスペース間で移したページは、その調整で追いついてきます(GDK-1886)。ページ本文を変えずに添付やコメントだけ足した場合も、キャッシュに入ります(GDK-1888)。Linearも同じで、接続元で消した課題は次に読み直したときにキャッシュから消えます(GDK-1889)。振り返り画面も同じ規則に従います。スプリントの列では、その期間に何が動いたかを言う行の隣に、スプリントの中に何があるかを言う行が二つ増えました(GDK-1846)。不一致の行は、韓国語のふつうの日程表現を、作業が終わったという主張として読まなくなりました(GDK-1943)。
**エージェントが書いたページが課題の上で描画されます。**課題にHTMLファイルを添付すると、詳細画面がそれをアーティファクトとして表示します。そのページはネットワークもgadak自身の接続元へのアクセスも持たないサンドボックスの中で動き、その課題をデータとして受け取ります。ダッシュボードがすでに使っている取り決めと同じなので、ダッシュボードを書けるエージェントは課題一つ分のページも書けますし、アドレスを貼り付けて開いたダッシュボードも同じ扱いになります(GDK-1897、GDK-1898)。トラッカーには通常の添付ファイルとして保存されます。またgadak demo --writableは、同梱のスナップショットを資格情報のないキャッシュとしてではなく、それ自体を一つのトラッカーとして提供します。サイトと三つのREADMEに載せた録画でスマートフォンが書き込む場面を見せられるのは、これがあるからです(GDK-1959、GDK-1932)。
v0.22.1 — 2026-09-14
**Claude Desktopにはファイル一つで入ります。**リリースごとにgadak-<バージョン>.mcpbが付くようになりました。そのリリースの実行ファイルを収めたClaude Desktop拡張で、macOSは一つのファイルで両方のチップを、Windowsはx64のexeを載せています。claude_desktop_config.jsonを開かなくてもツールがつながり、拡張が尋ねるのはどのワークスペースを読むかだけです。公式のMCP
Registryにもio.github.midagedev/gadakとして載っており、タグを打てば、リリースが公開したアーカイブから拡張を組み、そのファイルを指すRegistryの項目まで公開します(GDK-1822)。
**gadakが自分の名前と自分のアドレスを、あるべきでない場所から引き上げます。**旧名には反応しなくなりました。SCRY_*環境変数は読まず、初回起動時に~/.scryホームやscry.dbを移すこと、旧コマンド名の案内、scry:のlocalStorage移行がいずれも消えました。gadak doctorは残っている~/.scryディレクトリを引き続き報告します。それは今も事実だからです(GDK-1143)。詳細ヘッダーのリンクのコピーも、一つ隣の面で同じことをします。JiraやLinearのワークスペースでは、その課題自身のページだけをクリップボードに載せます。これまではその下にgadak://のディープリンクを、serveのワークスペースならさらにhttpの一行を足していたので、チャットに貼るたび、送った人の機械でしか開かないアドレスが付いてきていました。トーストはJiraのリンクをコピーしたと言っていたのにです(GDK-1858)。内蔵トラッカーのワークスペースには元のページがないので、アプリのアドレスをそのままコピーします。そこではそれがアドレスです。一覧のリンクのコピーも、同じ規則が成り立つ場所では同じように振る舞います。条件がすべてJQLになったビューはナビゲーターのアドレスだけをコピーし、運べなかった条件があるときはアプリのアドレスが付いてきて、トーストがその条件の名を挙げます。コピーしたhttpのアドレスは、コピーされたマウントを持って行くようにもなりました。ホスティングされたデモでは、アプリではなくサイトのルートを指していました(GDK-1860)。
**読む人が見ているものが、事実です。**韓国語と日本語が、その言語で書かれたように読めます。レトロ画面の韓国語には主語がその動詞を取れない一文があり、英語版にはない遅行・先行指標の言い回しが入り、一つの数字が二つの名前で呼ばれていました。日本語はヒント文が同じ述語で二度終わっていました(GDK-1848)。続いて、サイトの日本語がこの言語を使わない人に字間と書体を選ばれたように読める、という指摘を受け、その両方が数字で出ました。/ja/の一ページだけで、日本語の文字に接したASCIIの空白が162個。ラテン文字と仮名が接する場所だけでなく、数字と助数詞のあいだにもありました。そしてfont-probeはlang=jaのページのラテン文字をHiragino Sansと読みました。gadak、Jira、SQL、そしてページ上のすべての数字が、日本語書体のラテン文字で描かれていたということです(GDK-1853, GDK-1854)。文章は英語版の言うことに合わせて書き直し、空白はなくなり、ゲートが付きました(tools/ja-spacing.py、doc-checks #60)。日本語のあいだのソースの改行が/ja/changelog/で空白として描かれることもなくなりました。システムのラテン書体は日本語書体の前に来ます。製品側のスタイルシートがすでに使っていた順序です。
レトロの密度ストリップは、尋ねた週を描いてきました。その週の初日を除いて。まだ走っているバケットは始まってから数時間後に終わるのに、ストリップがその終わりを日付に切り詰めたため、列の数がゼロになっていました。サーバーがその週について一番言うことが少ない朝に、セクションごと消えていたわけです。人がレトロを開くのも、まさにその朝です(GDK-1859)。
v0.22.0 — 2026-09-13
セルフホストのJiraを接続元にできます。gadak init --site <base-url> --serverでワークスペースを作ります。メールアドレスは要らず、Personal Access Tokenだけで認証します。ServerがCloudと違う形で送ってくるものは、その形のまま読みます。ADFの代わりに来るwiki markupは原文のままやり取りします(GDK-1637)。docs/SUPPORT_MATRIX.mdにはCloud・Linear・組み込みの隣にJira Serverの列が並びました。どのセルもJira
Software 11.3.11のラボで実際に動かした結果で、できない二つもできないと書いてあります(GDK-1635, GDK-1634)。
**スプリントがオブジェクトになり、振り返りが画面になりました。**以前のスプリントは課題に付いた列三つでした。だから空のスプリントは存在せず、ゴールも期間もどこにもありませんでした。gadak sprintにlist・add・remove・create・start・closeが加わり、接続元に書いたあと読み直します(GDK-1653)。組み込みトラッカーもスプリントを提供するので、Atlassianアカウントは要りません(GDK-1666)。ボードはアクティブスプリント・バックログ・全体からスコープを選びます(GDK-1656)。アクティブスプリントは、ゴールと期間、残り日数、進捗バーを載せた自分の行を持ちます(GDK-1709)。パレットの週次レトロは、レポートとして読める表を開きます。一週が一列、一指標が一行で、定義はその下に付きます。行ごとにスパークラインとデルタがあり、課題の入ったセルはその一覧への扉です(GDK-1660, GDK-1712)。ISO週の代わりにスプリントで区切ることもできます(GDK-1693)。reopen_countはチームが実際に出す再オープンを数えます。解決済みステータスが進行中カテゴリにあるアカウントでは、done→newだけを数える古い規則が実際の再オープンの59%を0と読んでいました(GDK-1753)。
**gadakは外に問い合わせるのをやめ、自分のことをもっと話します。**新しいリリースがあるかを一日一回GitHubに尋ねる動作をなくしました。バックグラウンドのリクエストも、updateCheckの設定も、バナーもありません。外に出る宛先は六つから五つになりました(GDK-1626)。gadak doctorはbinaryの行を出します。シンボリックリンクを解いた実行ファイルのパスと、その署名です。リリース版はdeveloper-id、ローカルのビルドはadhoc。「リリースが壊れている」と「リリースを動かしていない」を分ける組み合わせです(GDK-1798)。gadak comment editとgadak comment rmが三つの接続元すべてで動きます(GDK-1647)。gadak mcp install claude-desktopはClaude Desktopに直接登録します。以前はどの玄関も、Desktopの利用者にClaude
Codeのclaude mcp addを教えていました(GDK-1633)。組み込みトラッカーの添付の上限はgadak config set attachmentMaxMB <n>で、既定は1 GiBです。32 MiBがコードに埋め込まれていた場所です(GDK-1617)。ターミナルのドックは、1420ピクセルより下で詳細パネルが開くとシートになります。動かすべき一覧を覆いません(GDK-1833)。韓国語と日本語のクリップをフレーム単位で見直すと、コピーのレビューが見落とした箇所が出てきました。進行中の一行上にBacklogとSelected for Developmentが英語で立ち、同じ語がある画面では内蔵、次の画面では組み込みで、製品の他の場所が未割り当てと言う場所に未担当がありました(GDK-1837, GDK-1839)。
v0.21.0 — 2026-09-08
**離れていた間に何が起きたのかに、キャッシュから答えます。**ステータスの変更もコメントも訪問も、すでにそこにあります。そこで0.21は、戻ってきたときに尋ねること(何が変わったのか、これはどれくらい放置されているのか、自分たちは速くなったのか)に、そのデータから答えます。数値には定義が並びます。ここに挙げたものはすべて、キャッシュに対する読み取りだけです。新しく外へ出ていくものはありません。gadak retroは週次のふりかえりを出します。セッション数、再開までの時間、進行中の作業の古さ、何が閉じてどれだけかかったか、そしてずれ(最新のコメントは完了と言っているのに、ステータスがそうなっていないもの)です。行ごとに定義を表示し、--openを付けると、セルの背後にある課題をアプリで開きます。リストの先頭には淡い一行、7件が変化·うち2件はあなたのもの、が出て、詳細パネルには、その課題を最後に開いてから何が動いたかが出ます。区切りは、あなた自身の前回のセッションです。この行が、静かな朝に消えることはなくなりました(GDK-1537)。
古さは、自分たちの数値から決めます。停滞のしるしは、そのワークスペースの直近90日のサイクルタイムからしきい値を学びます。list、ready、nextはage_daysを持ち、期間のチップはホバーでチームのp85を出します。未完了のステータスに完了らしいコメントが付いていれば、完了に移すを勧めます。サイドバーを占めるのは、組み込みのビュー五つ(GDK-1493)になりました。自分の課題、任せた課題、未解決すべて、未割り当ての新規、再オープンです。Aging、Epics、Staleなどはそこから外れ、ビューとして保存を一度使えば作れます。
**エージェントの書き込みはそう名乗り、スキルは七つのホストに入ります。CLIからJira CloudやLinearに書いたコメント、遷移、課題の末尾には— via gadak ·
Nameが付くので、エージェントの書き込みと、その資格情報の持ち主である人の書き込みを見分けられます。actor.trailer=falseで止められます。そしてclaudeに加えてgadak skill install --client codex|agents|cursor|gemini|opencode|grokが使えます(GDK-1508)。
**日本語と、スマートフォンと、ひととおりの修正。**サイトは/ja/で読め、アプリは:lang(ja)で日本語の書体を選びます。ランディングの動画は、Claudeが実際に動くヒーロー映像も含めてすべて、その言語のキャッシュの上でen、ko、jaのそれぞれで収録しました(GDK-1500, GDK-1501)。スマートフォン(TestFlight)では、説明、コメント、wikiページがデスクトップと同じように表示され、担当者、優先度、要約、説明はヘッダーから編集できます。ペアリングのスキャンは一度で両方のトークンを運びます(GDK-1497, GDK-1498)。
serveホストのキャッシュが、--fullを実行するまでoriginからずれることがありました。照合が両方向を見るようになり、doctorは足りないキャッシュを指摘します(GDK-1400)。gadak transition KEY inprogressは、表示名が同じ行き先が二つあっても断らなくなりました(GDK-1356)。ターミナルをクリックしてフォーカスを移したとき、ポインターの下にある課題キーが開くことはなくなりました(GDK-1186)。gadak migrateは、キャッシュに優先度のidがない場合も優先度を保ちます(GDK-1491)。Escを一度押すと、パネルではなくピッカーが閉じます(GDK-1401)。
v0.20.2 — 2026-09-06
**WindowsのアプリがMicrosoft Storeに並びました。**デスクトップアプリをMicrosoft Storeで配信しています。Storeが署名するので、SmartScreenもSmart App Controlも文句を言わず、どのインストール案内もこれを最初に挙げます(GDK-1380)。gadak-desktop.exeはようやくGUIサブシステムのイメージになりました。アプリの隣にコンソールウィンドウは出ません(0.16以降のどのzipも、最初のStoreパッケージも出していました)。パックは、もう一度そうなることを拒みます。Storeパッケージはアプリ実行エイリアスを宣言するので、Storeから入れるとgadakがPATHに載ります。三つ目の言語としてja-JPも入りました。
**Linearの関連が届き、ひとつのフィールドにはひとつの名前。**Linearの関連はlinks (blocks、duplicate、related)としてキャッシュに入るので、Linearのワークスペースでもリンク済み課題のパネルとブロッカーのレシピが働きます(GDK-1299)。ひとつのフィールドに、ひとつの名前です。おかげで内訳の軸が、フィルターや列と同じラベルを使います(GDK-1399)。リンク種別の一覧はワークスペースごとに一度だけ取得するので、リンク済み課題を開くたびに、方向を表す語が素の型名で一瞬見えることはなくなりました(GDK-1297)。wiki、wiki.enabled、wiki.spacesは設定パスconfluence.*の別名になり、config get/setは値がどこにあるかを示します(GDK-1289)。ターミナルでは、ポインターが止まっている場所に課題キーが表示されたら、マウスを動かさなくてもすぐクリックできます(GDK-1172)。
**修正と、三つの言語を話すウィンドウ。**Confluenceのページバージョンの書き込みが失敗したとき、wikiのパス全体を止めるのではなく、キャッシュの質を落として続けます(GDK-1307)。遷移idとステータスidの両方になりうる数値に対する遷移の拒否は、衝突しえない二つの形を名指しします(GDK-1305)。そしてCIの不安定なテスト二件、ペアリングのmintと作成ダイアログのe2eも直しました(GDK-1306, GDK-1295)。ウィンドウは英語、韓国語、日本語を話します。READMEとインストールのページにも、そう書きました。
v0.20.1 — 2026-09-03
**本文はmarkdownで、書式の付いた本文も往復で失われません。**入力はmarkdown、送信はADFです。create -m、edit -m、comment、ページ系の動詞、webのエディターはどれもmarkdown (見出し、リスト、コード、表、リンク)を受け取り、Jiraや内蔵トラッカーが持つ形で保存します(decision 0012,
GDK-1384, GDK-1383)。詳細はどの本文もmarkdownとして描画するので、切り替え以降ひとかたまりの灰色の壁に見えていた課題が、またブロックとして読めます。エディターにはWrite / Previewが付きました(GDK-1385)。Linearにも同じ書式がそのまま届きます(GDK-1386)。
書式の付いた本文を、失わずに編集できます。gadak issueはmarkdownを表示し(GDK-1394)、markdownで表せないノード(パネル、メンション、画像、色の付いた文字列)にはプレースホルダーを置きます。edit -m -は、マーカーのある場所にそれぞれのノードを戻します。マーカーを消せばそのノードも消え、書き込みがそう伝えます。古くなったマーカーは拒否します(GDK-1396)。edit --adf-fileとcomment --adf-fileは、ADFのドキュメントをそのまま送ります(GDK-1395)。migrate --fromは、本文を平文に潰さずADFのまま運びます(GDK-1382)。
**リストにはひとつのメニューを、シェルには本当の名前を。**リストのツールバーは、レイアウト、並び順、列、「ビューとして保存」を、ひとつのビュー設定メニューにまとめました。ボードのボタンと列のボタンは、そこで同じ字形を使っていました(GDK-1391)。ステータスの内訳の軸は、どのoriginでも二番目の「Status」です(GDK-1390)。ターミナルでは、シェルの名前は十六進数八桁ではなく「shell 3」です。F2かダブルクリックで付け替えられます。課題のヘッダーから、その課題のシェルを開いたりフォーカスしたりできます(GDK-1387, GDK-1195, GDK-1388)。
WindowsのStoreパッケージと、修正。build-windows.ps1 --msixがMicrosoft Store向けのパッケージを作ります。zipはそのままです(GDK-1380)。新しい内蔵ワークスペースでもclose --resolutionが働きます(GDK-1347)。edit --batchがlabel / component / fix_versionを受け取ります(GDK-1259)。アバターのイニシャルは記号を飛ばします(GDK-1351)。コードの中に引用されたプレースホルダーのマーカーは、ただの文字として扱います(GDK-1398)。カーネルが受け付けなかったターミナルのリサイズは、通るまで送り直します。これがCIの不安定なテストの原因でした(GDK-1192)。
v0.20.0 — 2026-09-03
シェルはウィンドウの中にあり、それは課題のシェルです。ターミナルのドックは、ウィンドウ全体を横切る帯になりました。サイドバーの下も、リストの下も、ドックした詳細の下も、同じ一本の水平な継ぎ目です。高さは既定で四分の一、幅は全列にわたります(GDK-1352)。セッションの一覧はその左の列で、上のサイドバーと同じ幅です。おかげでウィンドウは、左がナビゲーション、右が内容という読み方のままです(GDK-1355)。ドックには専用の見た目もあり、アプリのテーマが何であれ暗い配色です。xtermの十六色は暗い地を前提にした配色で、そのうち九色は紙の上で3.0:1を下回るからです。アプリの色に合わせたいときはfollowを指定してください。そのための設定→ターミナルタブが、フォント、スクロールバック、カーソルもまとめて扱います(GDK-1357)。明るい配色は自前の十六色(レンガ、苔、黄土、藍、梅、青緑、二つの白のために読みやすい灰色)を、他と同じトークンとして宣言し、ui.tokens.colorsから上書きできます(GDK-1358)。ブロックカーソルは塗りつぶしではなく、地の上のインクになり(GDK-1359)、ペインは最終行の下にも地を塗ります(GDK-1354)。
そのペインでgadak claimと打つと、シェルが課題に結び付き、一覧のタブにはそのキーが付きます。READMEとランディングも、gadak自身のペインでそれをそのまま見せています。紙のターミナルを合成した画像は引退しました(GDK-1353)。
**表面をひととおり手直しし、戻るがどこでも働きます。**サイドバーは目次ではなく、戻り道です。上にワークスペースの行、静かなセクション、フッターは一行だけです(GDK-1335)。リストのツールバーは、幅を狭めるまで一行です。行の高さは36px、停滞の古さは箱ではなく数値になり、パレットの入口はひとつになりました(GDK-1336)。列の画面(Documents、スペース、History、ダッシュボード、フィード)は、同じヘッダーの帯を使います(GDK-1339)。詳細は、変わるものだけを残したチップの列の下に置かれた、ひとつのプロパティ一覧になり(GDK-1337)、その散文には字の大きさの階調と、広く読むための切り替えが付きました(GDK-1311)。ボードの最近の関係者は顔で出ます(GDK-1338)。どのコントロールも反応し、160msより長くかかるものはありません。ホバーは、その下にあるものにインクを一枚重ねた見え方です(GDK-1341)。このビューへのリンクをコピーすると、まずJiraナビゲーターのURLが、続いてアプリのリンクが貼られます。課題の詳細のリンクのコピーが、すでにそうしていた形です(GDK-1343)。開いたことのある課題のキーは色が落ち着き、その後に変化があったものには点が付きます(GDK-1344)。内訳の凡例は、ラベルを細切れにせず+N moreに畳みます(GDK-1348)。ワークスペースの切り替えはパレットの操作になりました(GDK-1340)。初回起動は「課題はどこにありますか」から始まり、何も選ばれていません。何かを尋ねる前に、gadakが何なのかを説明します。内蔵トラッカーでは、空のリストが同期を約束するのではなく、最初の課題を書くよう促します(GDK-1342, GDK-1345, GDK-1286, GDK-1287)。
外から届いた最初の一巡も、丸ごと入りました。@woojingさんから五件の報告をいただき(discussion #80、issue #85)、そのすべてがこのリリースに入っています。ありがとうございます。場所の移動はすべて履歴を通る(リンク済み課題も、人も、ビューも、クエリも)ので、ブラウザーの戻るボタンが、名前どおりに働きます(GDK-1296)。詳細のリンクのコピーは、まずoriginのページを貼ります(GDK-1290)。設定ダイアログは、タブが変わっても幅が変わりません(GDK-1291)。全画面のウィンドウでDockをクリックしても、全画面のままです(GDK-1294)。このマシンにないワークスペースを指すgadak://のリンクは、アプリを404のページに置き換えず、ダイアログで断ります(GDK-1309)。あわせて、課題のリンクはそれぞれのoriginで開くようになりました。トラッカーごとに分岐がひとつずつあり、互いに肩代わりしません(GDK-1149, GDK-1308)。
出ていくこと、残すこと、そして直したこと。migrate --to linearは、キャッシュの中身をLinearのチームへ送ります。何度実行しても結果は同じです(GDK-1265)。gadak backupは、serveを上げたまま内蔵トラッカーの記録をコピーします(GDK-1277)。ペアリングしたワークスペースは、ホーム側のoriginのwikiもキャッシュします(GDK-1276)。pairing mintは、決して結び付けられないループバックの招待を断ります(GDK-1266)。Confluenceの同期が除くのは個人スペースだけなので、チームのスペース種別は残ります(GDK-1302)。docs/SUPPORT_MATRIX.mdが、Jira、Linear、内蔵トラッカーをまとめた唯一の表で、セルごとに出典が付きます(GDK-1300)。内蔵トラッカーの呼び名は、CLIでもドキュメントでもひとつに揃えました(GDK-1285, GDK-1288)。
edit -m -は、空の標準入力を説明の消去とみなさず断ります(GDK-1360)。内蔵トラッカーへのmigrateは、status_catalogが一度も埋まっていないキャッシュで、ステータス名をすべて保ちながら、ステータス区分をすべて失っていました。DoneもIn Progressも未完了の課題として届き、claimが着地できる進行中の状態がありませんでした(GDK-1361)。名前を付けたワークスペースのペインで書き込むとwarning: workspace: … (from GADAK_WORKSPACE)から始まっていましたが、なくなりました。その変数は、ウィンドウ自身のワークスペースを指すためにserveが設定していたものです(GDK-1362)。鮮度のチップはJiraではなく、そのoriginのトラッカーの名前を出します(GDK-1325)。スマートフォンのペアリングのタブはBuilt-inと表示します(GDK-1321)。タグ前の監査が見つけた三件も入りました。init --replace-standaloneはまた受け付けられ、originのページを持たない課題が「Open in Built-in」を出すことはなくなり、migrate --to linearは、完了の状態がcanceledしかないチームも対応付けます(GDK-1312, GDK-1313, GDK-1314)。
v0.19.3 — 2026-09-02
**二つの問いには、二つの語を。**ワークスペースは「あなたはどの種類ですか」に一語で答えていましたが、その一語が二つの事実を同時に運んでいました。originがどのトラッカーかということと、それがここで動いているかどうかです。ペアリングしたワークスペースで、その継ぎ目が見えました。connectedと答えるのですが、この語は他人のトラッカーのように読めます。実際のoriginは一台隣にあるgadak自身のトラッカーで、それを知る方法は別のペアリング情報を見ることだけでした。そこでフィールドを二つに分けました。origin_typeはjira、linear、gadakのいずれかで、transportはlocal
(このプロセスの中)かremote (serve API越し)です。新しい語彙は作っていません。sourcesがすでに、そのトラッカー名でキーにしていたからです(GDK-1278, GDK-1279,
GDK-1280)。
gadak status --json、doctor --json、workspaces --json、serveが配る設定、MCPのステータスツールは、どれも両方を載せます。kindは今も出ますし、意味も変わりません。スキルもスマートフォンもデスクトップのシェルも、それを読むからです。ただ、粗い方のフィールドになったというだけです。
そのようなワークスペースを作るフラグも、それに合わせました。**gadak init --local**です。--standaloneも引き続き使えます。誰かのスクリプトにすでに入っているフラグは契約だからです。ただし別名として登録するのではなく読み替えるので、ヘルプが教える名前はひとつです(GDK-1281)。この語は、アプリのコピーからも、ドキュメントからも、エージェントが読むスキルからも、識別子やファイル名やテスト名を含めたソースからも消えました(GDK-1283, GDK-1282)。四か所だけは、古い綴りを意図的に残しています。語彙ではなく通信上の契約だからです。保存されるkindの値、standalone_data_presentというエラーコード、replace_standaloneというリクエストのフィールド、onboarding/standalone/のルートです。
修正しました。migrateは、移行元の添付のバイト列を読めないとき警告して続行し、その後ろの処理はすべて成功と報告していました。件数の表もそうで、数えているのは行なのに欠けていたのはバイト列なので、attachments 26 26と出ます。トラッカーを離れる手順は移行元を凍結してからmigrateすることなので、これは例外的な経路ではなく、普通の経路でした。今はエクスポートの前に断り、進める道を両方とも示します(GDK-1275)。地域化されたサイトから移行したワークスペースには、「Epic」と表示される課題タイプが二つ、「In Progress」と表示されるステータスが二つ入っていました。初期投入された既定値が、移行した一覧の隣に、表示の重ね合わせが同じ語に対応付けるidで並んでいたのです。おかげで--type Epicには、まったく答えがありませんでした(GDK-1284)。
v0.19.2 — 2026-09-01
データを持って、トラッカーを離れる。gadak --workspace <new> migrate --from <old>は、同期済みワークスペースのキャッシュを、まっさらなスタンドアロンのワークスペースへ書き出します。課題、コメント、変更履歴の全体、リンク、添付のバイト列、wikiページが対象で、最後に移行元と移行先の件数を並べた表が出ます。この表には導出列も入ります。再オープン回数とエピックキーは移行後の履歴から導き直すので、そこが一致することが本当の証拠になります。失われたものは、黙って捨てずに報告します。本文は平文として移り、コードブロック、メディアノード、表がいくつ潰れたかを報告に書きます。移行対象の外にあるリンクと親は、落としたものとして数えます。このプロジェクト自身のバックログで計測したところ、課題1,268件、履歴3,811行、添付は26件のうち26件で、どの行も一致しました(GDK-1264)。
その最初の完全な書き出しで、シード文書はJSONに移りました。YAMLのエミッターは、実際のトラッカーのテキストに対して、自分のパーサーが受け付けないブロックスカラーを書きます。改行で始まる値が十分に深く入れ子になっていると、読み戻せません(GDK-1269)。埋め込みのトラッカーは今、スナップショットを出す前に自分で解析して確かめます。
課題が、別のワークスペースの課題を指せます。gadak ref STD-1 work/NMA-9はポインターを記録します。保存先は自分のoriginにあるJiraのリモート課題リンクです。指した先のワークスペースには何も書かないので、チームのチケットについての個人的なメモは、個人的なままです。持っていて価値があるのは、もう半分の方です。gadak ref STD-1 --listと、アプリの課題のReferencesセクションには、指し先の現在のステータス、担当者、要約が出ます。このマシンにある、そのワークスペース自身のキャッシュから読んだものです。ネットワークへの呼び出しも、二つ目のタブも要りません。このマシンにキャッシュがない指し先も一覧には出て、その行がそう書きます(GDK-1032)。
**アプリが、ワークスペースを作れると言うようになりました。**ワークスペースの作成、ペアリング、削除は0.19から設定→ワークスペースにありますが、サイドバーのワークスペースのセクションは、すでに二つ持っている人にしか出ませんでした。そのため主要な画面が、この機能の存在を一度も伝えていませんでした。今はワークスペースがひとつでも表示され、そこに「新しいワークスペース」の行が入って、そのパネルへ案内します(GDK-1270)。
v0.19.1 — 2026-09-01
直感的に書いたクエリが、そのまま正しいクエリになるパッチです。0.19.0を出した翌日に書きました。
**SELECT key, summary, status FROM issuesが、そのまま通ります。**キャッシュに対してエージェントが最もよく外していたのは、構造の問題でした。直感的な名前が狭い内部テーブルを指していて、答えはissues_fullにあったのです。名前を意図に合わせました。issuesが完全なビュー(タイトルと説明を含みます)になり、issues_fullは互換のための別名として残り、物理テーブルは内部向けの名前に下がりました(GDK-1258)。そのためissuesへのSELECT *は、以前より列が二つ多くなります。よそにある列をクエリが名指ししたときは、どこにあるかをエラーが伝えます。三度も推測させていた沈黙の代わりに、column "summary" exists on issues — query issuesと出ます(GDK-974)。
**進行中のレーンが二つあるボードでも、gadak claimが通ります。**進行中に着地する遷移が二つあるワークフローでは、引数なしのclaimが毎回、候補を二つとも挙げて断るだけで、選ぶ手段がありませんでした。--transition <id|name>でレーンを選べます。アトミックな経路でも、Cloudのフォールバックでも同じです。進行中の外にある行き先は断ります。claimは汎用の遷移ではないからです(GDK-1174)。claimのもう半分も速くなりました。ターミナルの一覧は、自前の二秒間隔のポーリングを待たず、書き込みが通ったその瞬間にセッションの名前を変えます(GDK-1182)。
**ひとつのスタンドアロンのワークスペースに二つのエージェントがいても、同じidを作りません。**コメント、履歴、添付のidは、開いたときに一度だけ種を与えられる、プロセスごとのカウンターから出ていました。そのため同時に書く三つのプロセスが、三つの別々の課題に同じidを渡していました。カウンターは作業用のコピー自身の中に移り、idごとにアトミックにひとつ払い出します。persistの形式は変えていません(GDK-1180)。
そのほか。AURの検証スクリプトの作業ディレクトリを、リポジトリの中へ移しました。Docker Desktopが実際にマウントできる場所だからです。コンテナの実行が緑なのにホストに.SRCINFOが残らないときは、はっきり失敗します(GDK-1256)。
v0.19.0 — 2026-09-01
課題がボードになり、ターミナルがBetaの印を外したリリースです。
**ボード。**すでに絞り込んで使っているリストが、ボードにもなりました。切り替えをひとつ押すと、同じ課題が列に並びます。フィルターも、十三種類のグループ化の軸も、検索も同じです。カードをドラッグすると実際の遷移が走り、当てはまるステータスが複数あればメニューが出ます。別のウィンドウやエージェントのgadak transitionなど、よそで行われた移動も、着地のリングを伴ってボードの上を飛びます。この画面では、動きだけがそれが起きた証拠だからです。ステータスの列は、常に三つとも出ます。「Doneが空である」ことは答えであって、列が欠けているのではありません(GDK-1175, GDK-1176,
GDK-1190)。ビュー自身が、ボードだと言うこともできます。ボードのレイアウトで保存すれば、アプリからもCLIからも、ボードとして開きます。gadak views save "Sprint board" --jql '…' --layout boardと書けて、views openはディープリンクにレイアウトを載せます(GDK-1248)。
ターミナルがBetaの印を外し(GDK-1024)、そのセッションは課題のものになりました。ペインのシェルでgadak claimと打つと、そのセッションが課題に結び付き、タブに課題キーが載ります(GDK-1158)。課題の本文にあるコマンドには▶が付き、押すとその課題のシェルのプロンプトに置かれます。ボードのカードからも⌘Kのパレットからも、課題のセッションを開けます(GDK-1196, GDK-1197)。ペインは行全体の下にドックとして横たわり、その枠は一行だけで、タブからセッションを終わらせられます(GDK-1194,
GDK-1199, GDK-1200)。フォーカスの当たったターミナルは、もうキーボードの袋小路ではありません。Ctrl+Shift+[と]でセッションを渡り歩き、Ctrl+Shift+`は何も閉じずに外へ出て、Ctrl+Shift+Oはそのセッションの課題を開きます(GDK-1250,
GDK-1251)。
**スマートフォンがホームを複数持てるようになり、CLIはセッションが実際に打つ動詞を覚えました。**ホストの一覧とホストごとのキャッシュで、ペアリング済みのマシンを切り替えられます。ワークスペースは、webからもCLIからも作成・削除できます。同梱のデモワークスペースは、ペアリングなしで全画面を見せます。ひと目で分かる帯が「離れている間に何が動いたか」に答え、ターミナルは指でスクロールします(GDK-1097, GDK-1096, GDK-1098, GDK-1051, GDK-871, GDK-899)。
CLIにはgadak list、next、show、done、recent、pickが入りました。前提を持たないセッションが何に手を伸ばすかを計測して選んだ動詞です。加えて、エージェントのメモ用にmemory add/memory search、置き場所を間違えた課題を移すedit --type、linkにずっとなかった逆向きの動詞unlink、そしてworkspaces rmです。書き込みは自分で結果を確かめ、edit -mは、書式の付いた説明を黙って平らにすることを断ります(GDK-992, GDK-1030, GDK-1205, GDK-1098, GDK-1001)。
**断り方が大きくなり、書き込みが安全になり、同期が速くなりました。**キャッシュの部分集合では表せないJQLの句は、黙ってリストを広げるのではなく、はっきり断ります(GDK-1234)。設定と資格情報の保存は、いったん退避してから改名するアトミックなひとつの担当を通るので、二つの保存が互いを焼くことはありません(GDK-1233,
GDK-1244)。ウィンドウが開く前に失敗したデスクトップの起動は、黙って終了せず、ダイアログで伝えます(GDK-1243)。Linearの担当者の編集は、UIが案内しているのと同じ書き込み表面を通ります(GDK-1235)。gadak linkは、Jiraが表示するとおりの向きでリンクを張ります。外向きと内向きの端が入れ替わっていました。CLIでもRESTでも同じです(GDK-1204; #79、報告は@wafeさんです)。静かなキャッシュでは、同期も速くなりました。Jiraの差分同期は、重なり窓の中で返ってくる同じ内容を取り直さず、キャッシュから答えます。Confluenceの差分同期は、一回のティックにつきCQLを一組だけ尋ね、コメントが動いていない本文を読み直しません(GDK-1075, GDK-1074)。
そのほか。ペアリングの招待は読み取れるQRとして表示され、デスクトップにはDevicesタブが付きました(GDK-1047)。更新のダイアログは、生のmarkdownを垂れ流さずバージョンを示し、リリースページを案内します(GDK-1246)。スタンドアロンのワークスペースには、役に立たないJiraの資格情報ダイアログを出しません(GDK-1122)。インストール済みのエージェントスキルは、日に一度バイナリに追随します(GDK-996)。このタグの前に、コードベース全体の監査を一度回しました(親課題はGDK-1128)。
v0.18.1 — 2026-08-26
**ターミナルを閉じると、そこで始めたものも全部閉じます。**0.18.0が出したターミナルは、後始末を同じ日に覚えました。シェルはバックグラウンドのジョブを自分専用のプロセスグループに置くので、以前はセッションを閉じてもsleep 999 &や、置き忘れたエージェントが動き続けていました。今回からは、走査がまだ信頼できるうちに、そのセッションのターミナル上にあるプロセスを一度だけ全部たどります。一度だけなのは、Linuxでの実測失敗で、二度目の走査が別のセッションのシェルを拾ったからです(GDK-950)。パネルがそもそも開けないときは、その理由を文章で、再試行と一緒に伝えます。WindowsにPTYがない、トークンにterminalスコープがない、ネットワークが切れた、といった理由です。ウェブでもスマートフォンでも、同じソースから同じ文言が出ます(GDK-944)。
**gadak views openが開いているすべてのウィンドウに届きます。**以前は最初にポーリングしたウィンドウがフォーカスを消費してしまい、見ていたウィンドウは動きませんでした。同じ秒に実行したviews openが二つあっても、二つ目を落とすことはありません。重複の判定が、書かれた時刻だけでなく内容を見るようになったからです(GDK-960, GDK-981)。古い「open」マーカーを残していたCLIの終了経路が、そのマーカーを消します(GDK-971)。
**gadakがログファイルを残し、doctorがそれを手渡します。**Finderから起動したアプリは、診断の行を一つも残さずに捨てていました。今はgadak doctorがそのファイルの場所を教え、最近のエラーを引用します。一行が書かれる前に、認証情報は消してあります(GDK-967)。エージェントスキルは、ぶつかった壁を自分で診断し、摩擦を黙って迂回するのではなく報告するようエージェントに教えます(GDK-968)。ホスティングしているデモのキャッシュを、ダウンロードして自分のgadakで開けるファイルとして公開しました(GDK-975)。ベンチマークの表は、静かなマシンで、デモが実際に載せているコーパスに対して測り直しました。タグの前に、この差分のリリース監査を回しました(親の課題はGDK-980)。
v0.18.0 — 2026-08-26
gadakの中にターミナルが入りました。⌘Kからターミナルを選ぶか、`Ctrl+“を押すと開きます。課題と同じウィンドウにある本物のシェルなので、そこでコーディングエージェントを動かして、隣でボードが動くのを見られます。ウェブのタブでも、macOSアプリでも、ペアリングしたスマートフォンでも、同じターミナルです。韓国語の文字入力は、組み立て中の文字がカーソルの位置に出ます。ターミナルのキャンバスの上では、これは自動では実現しません。Betaとして出します。使えるもので、粗いところには名前を付けてあります(GDK-862, GDK-864, GDK-865, GDK-892, GDK-895, GDK-956)。
シェルだけを開き、それ以外は何も開かないトークンがあります。シェルを開けるのはgadak pairing mint --scope terminalだけです。serveやoriginのトークンでは開きません。ただしserveトークンは、13個のパスの許可リストではなくキャッシュのREST全体に届くようになりました。ターミナルのトークンを失効させると、そのトークンが開いたシェルは数秒で閉じ、閉じた理由も伝わります。ループバックは今も、トークンを一切必要としません(GDK-863, GDK-883)。
**スマートフォンアプリが、使えるものになりました。**自分が保存したビューそのままの課題、その隣のwikiページ、ページのヒットまで出す検索、スレッドに直接着地する課題の詳細、そして本当に自分のものだけに来る通知、つまり担当・メンション・再オープンが入りました。二つ目のトークンでターミナルにも届き、ペアリングを解除すればそのシェルのことも忘れます。内部向けのTestFlightビルドはコマンド一行で出せます(GDK-805, GDK-867, GDK-870, GDK-879, GDK-884, GDK-885, GDK-886, GDK-887, GDK-888, GDK-905, GDK-906, GDK-907, GDK-908, GDK-910)。
**何をキャッシュするのかを、インストールの前に伝えます。**wikiはもともと明示的に有効にするもので、スペース単位でした(gadak init --spaces ENG,PROD、または設定→ソース)。ただ、その説明が出るのはインストールして同期を回したあとでした。Confluenceを丸ごと写すには量が多すぎるように見えて、gadakを試していなかったという声をいただきました。もともとそんな必要はありませんでした(GDK-964)。いま読んでいるこの変更履歴も、サイトにあります。両方の言語で、コピーではなくリポジトリから描画しています。あわせて、このサイトになかった検索エンジン向けの基本も入りました。canonicalリンク、サイトマップ、リリースの構造化データです。gadak dev --helpは持っている動詞をすべて並べ、gadak pairingはほかのlistコマンドと同じように一覧を出します(GDK-946,
GDK-947)。エージェントスキルは、隣にインストールされたことのないファイルを指す代わりに、そのまま動くダッシュボードの例を載せています(GDK-963)。
英語以外のJiraでもgadak create --type Bugが通ります。以前はローカライズされたサイトごとに一度は失敗して、タイプのidを調べるはめになりました。今は名前も、idも、epic/subtaskも、小さなロケール表も解決します。二つ当たったときは、推測ではなくはっきりしたエラーになります(GDK-741)。ダッシュボードのリンクから課題を開いても、ダッシュボードを見失いません(GDK-880)。gadak openは、動いているserveを探すためにポートを走査しません(GDK-859)。WebSocketのアップグレードはoriginを検査します(GDK-860)。古くなったキャッシュの行が一つあっても、UI全体が空白になることはありません(GDK-835)。
v0.17.3 — 2026-08-25
**スマートフォンが骨組みではなくなりました。**ペアリングしたiPhoneは、自分専用のserveペアリングスコープでキャッシュを読みます。これは一方通行の扉です。そのトークンがoriginの素通しに乗ることはできず、originのトークンでキャッシュを吸い出すこともできません。pairing mintは接続済みのワークスペースでも動きます。スマートフォン側では、最初の画面が本物のステータス名の付いた静かなキューになり、ペアリングは主張どおりの接続であることを実証して失敗ごとに理由を説明し、検索は打ち終える前に答えを返し(最近の検索と、保存したビューがチップとして並びます)、課題の詳細では送信に失敗したコメントの下書きが残り、通知は担当・メンション・再オープンだけに絞られます。アプリを見ている間は鳴りません(GDK-796, GDK-797, GDK-798,
GDK-799, GDK-800, GDK-801, GDK-802, GDK-837)。
色だけでなく、余白もレイアウトも文字も自分のものです。ui.tokensに軸が三つ増え、一つを設定してもほかが巻き添えになることはなくなりました。キー単位のマージなので、書き損じても設定はそのまま残ります。トークンは一つずつがパスになっています。gadak config set ui.tokens.type.terminal 15pxのように書けて、JSONも引用符も要りません。知らない名前は打ち間違いとして保存されるのではなく、その場で拒否されます。gadak config get ui.tokens.dim-catalogは、すべての名前を既定値・とりうる範囲・一緒に動かす必要があるものと並べて出します(GDK-842, GDK-849, GDK-850, GDK-852, GDK-853)。
検証は拒否せず、警告して保存します。コントラスト、色差、二型色覚、トークン同士の関係は今も全部走り、これから何が出るのかも今までどおり伝えます。拒否されるのは、機械が本当に実現できないものだけです。警告には診断とあわせて次の一手が入ります。コントラストの行は、落ちたパレットとどこを直せばよいかを挙げます。文字の行は、一緒に動かす必要がある段階を全部並べます。どんな見た目も、CLI一行で元に戻せます(GDK-856, GDK-857, GDK-858)。
**ダッシュボードのリンクから課題を開けます。**ダッシュボードから、アプリの持つどの経路にも移動できるようになりました(課題、保存したビュー、絞り込んだ一覧、検索)。外部リンクはダッシュボードを置き換えず、新しいタブで開きます(GDK-854)。
v0.17.2 — 2026-08-25
**エージェントにダッシュボードを作ってもらえます。**HTML文書一つと名前を付けたクエリの組み合わせで、ビューと同じように保存され、動いているウェブUIのタブ全体に描画されます。SQL(またはJQL)を実行するのはホスト側で、ページには行が渡されるだけです。ページ自体がネットワークに出ることはありません。保存すると、開いているタブが一秒ほどで描き直され、キャッシュに新しいデータが入れば自動で送り直されます。グラフはオフラインでも動きます。uPlotがgadakの中に入っているので、CDNも、緩めたポリシーも要りません(GDK-781, GDK-782, GDK-792, GDK-793)。ダッシュボードが課題の一覧の上に描かれることはなくなり(GDK-815, GDK-821)、ほかと同じようにEscに応じます(GDK-827)。
好きなグラフライブラリを、一度だけ落として使えます。gadak dashboards lib add <url>でライブラリを取得し、ハッシュを固定して、ローカルから配信します。ハッシュはリクエストのたびに取り直すので、あとから改ざんされたファイルは動かずに閉じます。ダッシュボードは使うライブラリを自分で宣言します。宣言しないダッシュボードには影響しません。three.jsはバイナリに同梱するのをやめ、ドキュメントの例に移りました。ダウンロードのたびに750 KB減ります(GDK-808)。
色は自分のものです。ui.tokens、ui.tokensByTheme、ui.dataColorsでウィンドウを塗り替えられます。名前を探すにはui.tokens.catalogを使います。書き込みは、同梱のパレットが通ったのと同じコントラストの規則で検査されます。開いているタブはリロードなしで塗り直され、起動時のキャッシュのおかげで、色を変えたインストールでも既定のパレットが一瞬見えることはありません(GDK-785,
GDK-786, GDK-787, GDK-791)。
どの答えも、どこから来たのかを名指しします。gadak sqlは古い写しから答えるのをやめました。接頭辞のないテーブル名は、マイグレーション時点で固定されたスナップショットではなく、今のlocal.dbを見に行きます。以前はそのスナップショットが、黙って間違った答えを返していました(GDK-824)。古さの警告も、どのソースが古いのかを名指しします。mirror last synced 154h agoは全ソースを通じて一番古い行から出ていたので、静かなConfluenceスペースが一つあるだけで、キャッシュ全体が六日前のものとして読めてしまいました。同じときstatusは十分前のウォーターマークを出しています。画面が二つあって話が逆で、どちらを信じればよいのかも決められません。今はソースを名指しし、statusと同じタイムスタンプを出します(GDK-810)。読み取ったページidは、そのまま書き込みに使えるidです。検索がそのidを出し、JSONのヘルプはページが存在することを認め、エージェント向けのレシピは接続先が実際に受け付けるidを出します(GDK-816)。
CLIが黙って飲み込んでいた打ち間違いが二つ。gadak create GDK "…"は、プロジェクトキーで始まるタイトルの課題を作ってしまいました。今は--projectを使った書き方を示して拒否します。拒否するのは、最初の語が本当にこのワークスペースの知っているキーだったときだけです。config set projectsはどんな文字列でも受け付けていました。今はキーの形を検査し、実在するかをサイトに問い合わせ、範囲がずれたときはstatusとsyncが両側の中身を挙げます(GDK-594, GDK-809)。畳んだドキュメントのツリーは、同期をまたいでも畳んだままです(GDK-817)。フィードは列に重ねるのではなく列を占めるので、フィードでEscを押すと一覧に戻ります。三つの言語にまたがる十四件のエラーメッセージが、問題だけでなく次の一手を伝えます(GDK-828, GDK-829, GDK-831)。一覧に出る抜粋と全文検索が取り込む本文は同じ場所から来るので、ずれることはありません(GDK-814)。
v0.17.1 — 2026-08-24
**gadakのプロセス二つが、一つのキャッシュを共有できます。**課題20,000件のキャッシュでgadakを一日使い、gadakのプロセス二つが一つのファイルを待つことになる経路を全部見つけました。スタンドアロンのワークスペースは、記録をSQLiteに持ちます。内蔵のトラッカーは、YAMLファイル全体をタイマーで書き直すのではなく、origin/issuetap.dbに、書き込み一回につき一トランザクションで書きます。すでにあるYAMLは一度だけ取り込まれ、その後は巻き戻し用にそのまま残ります。エクスポートは今もYAMLです。バックアップはそのファイルです。アプリを止めてコピーするか、動かしたままsqlite3 .backupを使ってください(GDK-202)。
「データベースが使用中です」が、誰が掴んでいるのかを教えます。Jiraに届いた書き込みが、ローカルの読み直しでほかのプロセスとぶつかっただけで失敗することはなくなりました。本当に拒否されたときは、エラーコードではなく相手の名前が出ます(別のアプリ、serve、CLIといった具合です)。gadak doctorがその一覧を出します。閲覧履歴は自分の接続を持つようになったので、読み取りが同期の後ろに並ぶことはありません。エージェントの読み取りも、即座に失敗するのではなくファイルが空くのを待ちます(GDK-740, GDK-753, GDK-754, GDK-757,
GDK-755)。一番遅かったところが速くなりました。課題20k件での計測です。gadak issue KEYは、キャッシュ全体を読み込まずにそのキーだけを読みます。search --jqlは人物を狭く解決します。CLIでもサーバーでも同じです。doctorはすべてのドキュメントを走査せず、標本を取ります(GDK-747,
GDK-748, GDK-749, GDK-756)。
**除外がすべてのフィルターで使えます。**どのピッカーのどの値にも⊘が付きます(Altクリックでも同じです)。一部のメニューにしかなかったモーダルのトグルを置き換えました。JQLのコピーは、JQLで書ける範囲ではnot inを書き、書けなかった軸を伝えます。search --jqlも同じ否定に対応します(GDK-771)。狭いウィンドウで切れなくなりました。1100px未満の継ぎ目を全部監査して、三つ塞ぎました。隠れないチップ、行の列が文字の途中で切れること、記述しているはずのレイアウトと食い違う最小幅です。CIのチェックが、三つとも塞がったままにします(GDK-758, GDK-766)。
**gadak.devでは、**韓国語のブラウザーに韓国語のページを提案します。あくまで提案でリダイレクトはせず、選んだ答えは残ります(GDK-770)。加えて、サイトを読むエージェント向けのllms.txtと、全画面の動画ではなく読める大きさで製品を見せるランディングのメディアが入りました(GDK-751, GDK-752)。
v0.17.0 — 2026-08-23
**課題が自分のプルリクエストを知っています。**PR、コミット、デプロイ、ビルド、そこに関わった人が、接続済みのサイトからはキャッシュに入り、スタンドアロンでは書き込めます。gadak dev scanはリポジトリのPRを一度に課題へ集め、gadak dev linkは一件ずつ書きます。ウェブではGitHubのリンクをアプリの中で開きます。これらのリンクは次の同期でも消えません。パネルが空のときは、その理由が書いてあります(GDK-495, GDK-496, GDK-497, GDK-527,
GDK-531, GDK-536, GDK-537, GDK-538, GDK-539, GDK-540, GDK-541,
GDK-555, GDK-562, GDK-589, GDK-592)。課題どうしのリンクを張るためにアプリを出る必要もなくなりました。gadak link A B --type blocksか、詳細パネルから張れます(GDK-19, GDK-85)。
プロジェクトが求めるとおりに書ける動詞。createとeditは、必須のカスタムフィールド向けに--field alias=valueを取ります。作成ダイアログは、このプロジェクトとこの課題タイプが実際に何を要求するのかを読み取ります。transitionは--resolutionと--fieldとコメントを運べます。editは修正バージョンとコンポーネントを名前で書きます。assignはメールアドレスだけでなく、名前やアカウントidも取ります。型の合わないフィールドは、空文字列として書かれるのではなく拒否されます。親が拒否されたときは、選べたはずのエピックが一覧で出ます(GDK-254, GDK-330, GDK-509, GDK-513,
GDK-514, GDK-515, GDK-516, GDK-517, GDK-635, GDK-643)。Jiraに届いた書き込みは、直後のローカルの読み直しが失敗していても成功として数えます(GDK-740)。まとめ読みは複数のキー、または--keys -を取り、黙って落とすものはありません(GDK-328, GDK-425)。gadak claim KEYは課題を一手で引き取り、gadak issueは作業がどれだけ止まっていたかを出します。wait 3d · progress 5hのような形です(GDK-591)。
書き込みに、誰が書いたかが残ります。GADAK_ACTORがエージェントの名前を持ち、ウェブはボットの作業にバッジを付けるので、機械の編集を自分の編集と見分けられます。スタンドアロンのワークスペースは使っている言語で話し、制限付きの課題は公開の課題と見た目が違います(GDK-519, GDK-586, GDK-588,
GDK-590, GDK-593, GDK-597)。エージェント向けには、もう少しあります。gadak pickが作業を選びます。gadak recentsはCLIが読んできたものをさかのぼります。gadak sync --if-stale 15mは、エージェントが中身を知らずに最初に呼べるコマンドです。一括の書き込みはキーごとに、正直に答えます。課題を閉じるのは往復一回で、やり直しても安全です(GDK-500, GDK-501, GDK-502,
GDK-503, GDK-598, GDK-599)。
選んだワークスペースはそのまま残り、ウィンドウはどこでも同じように振る舞います。gadak workspace use <name>が既定を保存します。ペアリングは、それが何であるか、何が失敗したかを正直に伝えます。一度結び付いたワークスペースを、黙って別のサイトに向け替えることはできません。接続先を差し替えると、そこから導出された行も一緒に入れ替わります(GDK-418,
GDK-433, GDK-449, GDK-452, GDK-453, GDK-490, GDK-561, GDK-677,
GDK-678)。rm gadak.dbで失うものは何もありません。保存したビュー、訪問の記録、検索履歴がキャッシュの外に出ました。キャッシュは、いつ捨ててもよいほうの半分です(GDK-105)。韓国語の検索は、複合語の中の単語を見つけます。修正バージョンはidを保ち、プロジェクトのリリース一覧がキャッシュに入り、スプリントはクエリで使える列になり、JQLのparent =とparent INはローカルで絞り込めます(GDK-259, GDK-444, GDK-518, GDK-521,
GDK-532, GDK-329)。
Escは狙った対象だけを閉じます。文字サイズは四段階で、その間はありません。空の状態は空白ではなく、言葉のある状態です。画面を要求するトランジションはその場で聞き、コンポーネントと親はその場で編集でき、ストーリーは子を見せます。保存したビューは一種類だけです。すぐ終わる読み取りでは、スケルトンを一切描きません。そして日本語のカタログが揃いました(GDK-83, GDK-86,
GDK-121, GDK-129, GDK-130, GDK-316, GDK-437, GDK-604, GDK-613,
GDK-617, GDK-626, GDK-737, GDK-738, GDK-739)。デスクトップでは、二度目の起動が、もう一つ立ち上げずに今あるウィンドウを前に出します。Windowsではgadak://のリンクが動き、install-cliがWindowsの作法で話し、通知していないのに通知したと言うこともなくなりました(GDK-349, GDK-350,
GDK-351, GDK-353, GDK-658, GDK-700)。
ネットワークも監査しました。ホストが空の指定はループバック以外へのバインドとして数えるので、serveはほかの公開と同じように--allow-remoteを要求します(GDK-542)。Linearのレート制限は、致命的な失敗ではなく再試行になりました。Linearだけのワークスペースも、設定済みのワークスペースとして扱われます(GDK-263, GDK-654)。Web Pushのクライアントは削除しました。サーバーが404を返すエンドポイントを叩いていましたし、ベンダーのプッシュサービスは、このプロジェクトが出さない外向きの通信です(GDK-711)。gadak自身のバックログも公開しました。gadak.devに、入口と、その隣のデモと、あのWindowsの警告を説明するページがあります(GDK-211, GDK-389, GDK-676)。
v0.16.1 — 2026-08-20
**Linearが三つ目のトラッカーになり、gadakから書き込めます。**0.16が始めたことを、このリリースで仕上げました。ワークスペースの設定に"linear"ブロックを置き、gadak sync --source linearを実行すると、課題・コメント・ラベル・添付ファイルがキャッシュに入ります。書き込みは、その行を持っている接続先へ振り分けられます。Linearがまだできないことは、中途半端に適用するのではなく、その場で断ります。Jira、スタンドアロン、Linearのどれも、同じ書き込みの動詞に答えます(GDK-263, GDK-359, GDK-360, GDK-361)。同じリリースでwikiが読み取り専用ではなくなりました。ページを作り、タイトルや本文を編集し、コメントを付けられます。どれも接続先を通り、CLIからもREST APIからも使えます(GDK-344, GDK-380, GDK-381, GDK-382)。
**スタンドアロンのワークスペースに、gadakのプロセス二つが同時に書き込むことはできなくなりました。**デスクトップアプリもserveと同じように自分の接続先を告知するので、アプリとCLIが同時に記録ファイルを掴むことはありません。受理された書き込みは、答えが返る前にディスクに載っています。保存できなかった書き込みは、成功ではなくエラーを返します。スタンドアロンでの失敗が、認証情報がないという報告になることもなくなりました。ワークスペースを変換するときは、ローカルだけにある課題が実際にどうなるのかを伝えます(GDK-241, GDK-333,
GDK-340, GDK-342, GDK-343, GDK-345, GDK-346, GDK-347,
GDK-348)。
**エージェントもドキュメントも、スタンドアロンの存在を学びます。**同梱のスキルはその言葉を知っていて、CLIはどの接続先を指しているのかを言います。transitionは遷移先ごとのstatus_idを示し、読み取り側がいま渡したばかりの値をそのまま受け付けます。エージェントがずっと失敗していたのは、この往復でした。issues_fullにdescription_textが加わり、スタンドアロンのinitはキャッシュを埋めるので、何も空のままでは始まりません(GDK-239, GDK-312,
GDK-313, GDK-363, GDK-364, GDK-365, GDK-366, GDK-367, GDK-368,
GDK-371, GDK-376)。インストールのページはスタンドアロンを扱い、FAQはrm -rf ~/.gadakを勧めるのをやめ、ネットワークは専用のページを持ち、エクスポートとインポートにもようやく説明が付きました(GDK-271, GDK-372,
GDK-373, GDK-374, GDK-375, GDK-601)。
v0.16.0 — 2026-08-19
**Atlassianのアカウントがないワークスペース。**スタンドアロンでは、接続先がgadakの中で動き、gadakと一緒に持ち歩ける最小限のトラッカーになります。ローカルの写しは今までどおり捨ててよいキャッシュで、書き込みは今までどおり接続先を通ります。変わったのは接続先が誰かということだけです。ワークスペースは一つの接続先に結び付くので、認証情報をつないだだけで別のどこかに向け替わることはありません。スタンドアロンのwikiも同じ経路で書き込みます(GDK-183, GDK-237, GDK-238, GDK-247, GDK-267)。読み取り専用のLinearクライアントが土台として入りましたが、ワークスペースにはまだ意図的につないでいません。それは0.16.1の話です(GDK-258, GDK-261, GDK-263, GDK-274)。
**WindowsとLinux。**gadakを動かすのにMacは要らなくなりました。Windowsには、ポータブル版、インストーラー経路、動くinstall-cli、Scoopのマニフェスト、そして初回起動をまたいでも生きているgadak://リンクが入りました。Linuxにはbrewと並ぶtarballのインストールと、AURのパッケージング一式が入りました。Omarchyには、自分のキャッシュで何が変わったかを出すバーのウィジェットが付きます(GDK-115, GDK-116,
GDK-208, GDK-209, GDK-225, GDK-229, GDK-246, GDK-293)。新しいリリースが出たことに気づくと、使っているプラットフォームに合った案内が出て、リリースノートをアプリの中で読めます。自分から更新することはありません(GDK-213, GDK-214, GDK-215, GDK-216)。冷えた状態からの起動が、後ろのすべてを待たせることはなくなりました。競合した書き込みはすぐ失敗せずに待ち、バックグラウンドの同期は、始めたサーバーより長生きしません(GDK-270,
GDK-282, GDK-305)。ホスティングしているデモは製品の画面から始まり、フィードバックの窓口は設定とmacOSのヘルプメニューにあります(GDK-335,
GDK-336)。
**課題は読んだその場で編集できます。**期限は詳細パネルで設定も解除もでき、Jiraが断ったときはその理由が読める文章で出ます。説明はプレーンテキストとして編集でき、リッチな内容が壊れる前に確認が入ります。s/a/lが使える場所ならどこでも、pで優先度のメニューが開きます。編集できる項目は固定の一覧ではなく課題自身のメタデータから来るので、そのサイトのカスタムフィールドも含まれます(GDK-82, GDK-223, GDK-249, GDK-250, GDK-251, GDK-322,
GDK-323, GDK-331, GDK-332)。パレットからは、いま打った文字をそのまま材料にして課題を作れます。答えの明らかな必須項目は聞かれなくなり、コメントを投稿すると、投稿できたことが表示されます(GDK-217, GDK-218, GDK-300,
GDK-301, GDK-302)。
英語以外のJiraが、黙って何も返さないことはなくなりました。ステータス・優先度・課題タイプは、どこでも表示名ではなくidとカテゴリーで引きます。status = 'In Progress'は韓国語のアカウントでは一行も返しません。この種の、静かに間違う答えを塞ぎました(GDK-161, GDK-248, GDK-272, GDK-275)。韓国語の複合語の途中からの検索も効きます(GDK-259)。
v0.15.2 — 2026-08-17
設定ダイアログで編集できる項目は、すべてCLIの動詞でもあります。gadak config list | get | setと設定APIは一つの表を通るので、食い違いようがありません。エージェントだけで、ワークスペースを最後まで用意できるようになりました。テーマはワークスペースの設定ファイルにあるので、UIで選ぶこととターミナルから設定することは同じ結果になります(GDK-190, GDK-193)。
ダークテーマが三つ。darkはニュートラルで冷たいチャコール、inkは新しい青みの黒、emberは以前の暖かいダークをそのまま残しています(GDK-190)。
**検索とメニューが、驚かせなくなりました。**数字だけを打つと、どのプロジェクトの課題でも、どの検索画面からでも見つかります(GDK-186)。設定ダイアログが、タブごとにキャッシュのブロックを繰り返すのをやめました(GDK-188)。メニューが断りなく何かをインストールすることもなくなりました。その役目は設定→連携が担い、すでに入っているものを一覧にします(GDK-189, GDK-191)。
v0.15.1 — 2026-08-17
入口が三つ増え、どれもチェックアウトを必要としません。gadak raycast installはRaycastの拡張をバイナリに同梱しているので、brewでもアプリでも、入れたあとにチェックアウトは要りません(GDK-182)。⌘Kのパレットが空になることはありません。クエリが空のときは、最近見た課題の下に最近更新された課題が並び、保存したビューも出ます(GDK-184)。設定→連携(デスクトップ)は、gadakがインストールする先のエージェント環境を並べ、すでに入っているものを正直に検出し、ログをその場で流します(GDK-185)。
v0.15.0 — 2026-08-17
gadakのどの部分も、リンクとして渡せます。gadak://のディープリンクで、アプリの中のどこにでもアドレスが付きます。受け取るリンクはgadak自身が作れます。UIにはリンクのコピー操作があり、CLIにはgadak issue KEY --linkがあります(GDK-119, GDK-124, GDK-163, GDK-164)。検索は、ほかのアプリのUIを動かせる速さになりました。課題キーを打つとその課題が出ます。課題20,000件のキャッシュで、最悪のケースが1.6sから110msになりました。ランチャーの拡張がローカルのものに感じられるのは、この速さがあるからです(GDK-117,
GDK-166, GDK-170)。
**ダークテーマ。**暖かい地にインクの前景で、ライトと同じ紙の比喩です。最初の描画で一瞬ちらつくこともありません。二つのパレットは同じ実測の下限を満たします。ステータスの色は通常の色覚でも色覚異常でも見分けられ、成功と失敗を色だけで伝えることはありません(GDK-154, GDK-156, GDK-157, GDK-158, GDK-159, GDK-162, GDK-171)。
**一覧が一覧らしく振る舞います。**行の右側は目で追える列になり、最後の行が半分に切れることはなくなり、Escは見ているものを閉じ、一覧を覆うパネルはそのことを明示します(GDK-128, GDK-131, GDK-132, GDK-133)。韓国語の入力も検索ボックスで正しく動きます。組み立て途中の文字はクエリになりません。初声だけの一致は製品全体から外しました。意図しないものまで拾っていたからです(GDK-168, GDK-169)。課題は自分の親を指定できます。gadak create --parentとgadak edit --parentが、サブ課題の関係をJiraを通して書きます(GDK-19, GDK-86)。
端のほうでは、ホスティングしているデモが、答えられない動詞を宣伝することはなくなりました(GDK-52)。読み取り専用のホームは警告であって、起動の拒否ではありません(GDK-149, GDK-173)。コピーはコピーできたときだけコピーと言い、添付ファイルの取得は多くても一度きり、デスクトップアプリがランタイムを二度読み込むこともなくなりました(GDK-150, GDK-177, GDK-178)。
v0.14.2 — 2026-08-16
**弾かれたトークンと期限切れは、あとからではなく先にわかります。**トークンの落とし穴は、401が来たあとではなく貼り付ける前に名指しします。弾かれたトークンは、先に何かを書かなくても直せます(GDK-68, GDK-69, GDK-98)。期限切れは、同期が失敗する前に警告します(GDK-67)。
**セットアップとスキルのインストールは、手を離したところで終わります。**プロジェクトを一つも選ばないことは、書きかけのフォームではなく一つの選択です(GDK-99)。gadak skill installはアップグレードをアップグレードとして扱い、同梱のスキルはCLIが実際に持っている動詞を知っています(GDK-91,
GDK-92)。
**もとからある画面が、自分のしていることを報告します。**変わっていないConfluenceを一巡しても、ページ本文は一つも読みません(GDK-113)。gadak issue <KEY> --deriveは、導出された列がどこから来たのかを示します(GDK-111)。履歴が順番を保ちます(GDK-26)。gadak sqlはキャッシュが古いと警告します(GDK-90)。キャッシュを開くとき、このビルドでは書けない検索インデックスがあれば直します(GDK-112)。閲覧ペインはEscapeに従います(GDK-78)。検索のヘルプはタッチでも使えます(GDK-53)。
v0.14.1 — 2026-08-15
CLIの最初の書き込みの動詞です。gadak create、gadak attach、gadak edit。gadak自身のバックログでgadakを一日使い、直したそばから出しました。
**macOSアプリは通知するだけになり、デモは実際にタップされる場所で動きます。**アプリ内の自動更新は、一度も実際に使われないまま削除しました。このリリースはデスクトップのzipを意図的に出していません(GDK-58, GDK-61)。ホスティングしているデモはアプリ内ブラウザーの中でも動き、最初の描画がスマートフォンの幅で読めます(GDK-23, GDK-51)。
**失敗が、何が起きたかを伝えます。**打ち切られたキーの一覧は、いくつ落としたかを言います。認証情報が弾かれたときは、一つのソースだけでなく全ソースの監視ループを止めます(GDK-24, GDK-35, GDK-48)。優先度の色は、アカウントの言語ではなくランクを読みます。起動中のキー入力は、捨てずに保持します(GDK-46, GDK-76)。
v0.14.0 — 2026-08-15
エージェントが土台にできる表面ができました。gadak_searchはqueryを取ります。ツールのエラーは必ずERROR:で始まり、受け取ったキーをそのまま返します。サイズの上限を超えた応答は、完全であるかのように偽らず、古いコメントから落としてtruncatedと伝えます。土台にしてよい約束は三つです。issues_fullとRECIPESのクエリ、gadak sqlの標準出力、そしてviews open --keys -です。
**gadakが負ける行も入れた数値です。**実際に使っている課題2,853件のCloudプロジェクトで測りました。単純な絞り込みで42×、エピックのGROUP BYで162×、再オープンの件数はREST経由でおよそ二十分かかるのに対し、ローカルでは14.5 msでした。
**brew install midagedev/tap/gadakはアプリになりました。**CLIだけのformulaはgadak-cliです。gadak export / gadak importは、なくなって困るもの、つまり保存したビュー、ウォッチ、お気に入りを往復させます。そのファイルには認証情報もサイトのURLも入りません。加えて韓国語のREADMEと、プロジェクトの選択について事実でないことを言うのをやめた設定ダイアログが入りました。
v0.13.0 — 2026-08-14
検索ボックスはひとつで、履歴はキャッシュより長く残ります。⌘Kを押すと、リストのフィルターチップに関係なく、すべての課題とドキュメントをひとつのインデックスから検索できます。リストの上にある検索欄はこれまでどおりで、すでに表示されているものを絞り込みます。開いた課題とドキュメント、実行した検索は、~/.gadak/local.dbの中でひとつの時系列に並びます。キャッシュを捨てても履歴は消えません。エージェントはgadak sqlひとつで、閲覧した履歴と手元のデータを結合できます。
**エージェントの答えを開いているウィンドウに出せます。JiraのURLからはフィルターも一緒に入ります。**任意の課題キーの集合がそのままビューになるので、gadak views open --keys -でエージェントの答えをいま開いているウィンドウに表示できます。gadak views openならgadakの中で開き、gadak openならJiraに移ります。シェルのないホストからは、新しいMCPツールで同じことができます。
ナビゲーターのURLでもjql=の指定でも、対応するチップが適用されます。戻すときはCopy JQLを使い、対応していない条件は黙って落とさずに一覧で表示されます。Jiraで保存したフィルターはサイドバーに並び、gadak viewsで一覧・表示・オープン・保存ができます。
**wikiの対象範囲はスペース単位で、あとは修理です。**Confluenceのスペースはそれぞれ自分のウォーターマークを持ち、新しく選んだスペースは全件を取り込み、対象から外したスペースは削除されます。コメントだけのwiki編集もキャッシュに届き、内容が変わっていないページはバージョンが上がらなくなり、削除された課題は単体の同期で削除済みとして記録されます。存在しない--profileを指定すると、実際にあるプロファイルの一覧を添えてエラーになります。アップロードのあとのキャッシュ再読み込みに失敗したときは、ドキュメントに書かれているエラーを返します。
外部からの修正が二件入りました。人の照合はメールアドレスではなくアカウントIDで行うようになり、JQL・保存したビュー・フィルター・メンバー一覧のどこでも、サイトがメールアドレスを見せているかどうかに左右されなくなりました(#1、@elppaaaさんありがとうございます)。macOSのウィンドウはドラッグで動かせます(#2、@wafeさんありがとうございます)。
v0.12.0 — 2026-08-13
**暗いダッシュボードではなく、紙です。**gadakは「가닥」、一筋という意味の言葉です。塗工していない紙と墨、そして쪽빛の糸が一本という組み合わせにしました。マークは「가」を二画で描いたものです。水晶玉のダッシュボードとTUIはなくなりました。
改名は、バイナリ、ホームディレクトリ(~/.gadak)、環境変数の接頭辞(GADAK_*)、MCPツール、モジュールパス、デスクトップアプリのバンドルIDまで届きます。すでにある~/.scryは初回起動のときに名前を変え、GADAK_*側が未設定の場所ではSCRY_*も引き続き読み込みます。
**ラベルと優先度、そしてタイトルを編集できます。**ラベルはリスト上に表示されたままで、課題の画面で編集でき、選んだ課題にはバルクバーからまとめて適用できます(sとaの隣のlです)。優先度は、サイト自身のカタログにあるidで書き込みます。デスクトップアプリでワークスペースが使えるようになり、資格情報のあるワークスペースはそれぞれ自分の同期ループを持ちます。大きなキャッシュでもドキュメント一覧が固まらなくなりました。10,000ページのウィンドウで4,433 msから68 msになりました。
**細かい変更です。**ネイティブのタイトルバーをなくし、ウィンドウの操作ボタンはサイドバーに移しました。gadak skill installはMCPなしでClaude Codeのスキルを埋め込み、gadak install-cliは実行中のバイナリをPATHに置きます。gadak doctorは、そのままバグ報告に貼れるよう伏せ字にした診断情報を出力します。gadak apiはAtlassianのRESTをそのまま叩く逃げ道で、別のホストに向けると拒否します。
v0.9.0 — 2026-08-06
**⌘Kに名前を入れると、人のパネルが開きます。**人という軸はこのバージョンではwebだけで、デモにも複数の人が登場します。検索結果には、なぜ一致したのか、当たったフィールドの抜粋が付きます。ページの一覧には、本文の一行プレビューが付きます。
**タイプスケールはひとつ、オーブもひとつです。**実用に足るタイプスケール、コントラスト比6.2:1の淡色テキスト、単色のアイコンファミリーひとつ、そして赤を意味のために取っておくアバターのパレットを入れました。ワードマークの球はxハイトの上に乗り、すべてのアイコンが同じ図形から派生します。三日月のロゴは引退しました。幾何も揃えました。高さのグリッドは二段階、角の丸みは入れ子の深さに従い、詳細パネルのヘッダーは固定され、同じ人が続けて書いたコメントはひとつのヘッダーの下にまとまります。
v0.8.0 — 2026-08-06
**macOSのデスクトップアプリGadak.appです。**署名と公証を済ませたウィンドウでweb UIをそのまま動かし、ローカルサーバーは一切立てません。二重に起動すると動いているウィンドウが前に出ますし、バンドルにはCLIも入っています。アプリの中でオンボーディングを終えると、再起動なしで同期が始まります。
v0.7.0 — 2026-08-06
エージェントを正しいキャッシュに固定します。gadak mcp install <client>は、現在のプロファイルとバイナリの絶対パスをMCPホストの登録に書き込みます。ローカルAPIは誰でも通れるプロキシではなくなりました。クロスオリジンの書き込みとDNSリバインディングによる読み取りを拒否し、キャッシュファイルの権限は開くときに0600 / 0700へ絞ります。
**ウィンドウが速くなり、住みやすくなりました。**リゾルバーが解決できる環境では、serveがhttp://gadak.localhostを開きます。待ち受けポートが埋まっているときは、動いているgadakに引き渡すか、空いているポートを使います。スペース名、ドキュメント画面の一連の改善(Viewed / Updated / By author)、そしてエピックの内蔵ビューを追加しました。キーボードでのトリアージ、鮮度チップ、ウォームブート用のキャッシュ、そして課題10k件のフィクスチャに対する操作性能のゲートも入りました。実際のサイトで動くように、Confluenceの同期を固めました。
**顔ができました。**ワードマーク、ロゴ、そしてこれまでなかったファビコンです。READMEはライブデモから始まります。デモは英語になり(CJK検索のために韓国語の読み物ページは残しています)、docs/FAQ.mdは答えにくい質問に根拠を添えて答えます。
v0.6.0 — 2026-08-06
**Confluenceのページがアイテムの背骨に加わりました。**その背骨に載る二つ目のソースで、web UIのドキュメント画面とTUIのドキュメントナビゲーター(D)から見られます。ページのラベルは取得のときに集めて、ページが出てくるところすべてに表示します。
**課題に正直なエピック階層が付きました。**導出したepic_key (もっとも近いレベル1の祖先)を使うので、サブタスクはストーリーではなくエピックの下にまとまります。web UIではグループのラベル、行のチップ、パンくず、ロールアップになります。スマートフォンでは、縦に潰れた列ではなくデスクトップと同じレイアウトを表示します。
v0.5.0 — 2026-08-05
ワークスペースと、ネオンなTUIと、見つかる韓国語です。serveがすべてのプロファイルを/w/<name>/の下にマウントします。TUIには環境アニメーション、マウス対応、パレット、一致箇所のハイライトが入りました。検索が前方一致するようになり、活用した韓国語も見つかります。
v0.4.0 — 2026-08-05
**三つの画面が、自分のしていることをもっと話すようになりました。**TUIではカスタムフィールドを編集できます。値はJiraが許可したものだけです。更新のお知らせは、どの画面でも毎日、匿名で確認します。オプトアウトもできます。ホスト版デモのサービスワーカーのハンドシェイクは、ブラウザーがデモを動かせないときにきれいにタイムアウトして、そのことを伝えます。
v0.3.0 — 2026-08-05
**カスタムフィールドが自分で設定されます。**初回のフル同期でカスタムフィールドを自分で見つけて設定し、フィルターの軸もその結果から作られます。複数選択のエディターも含みます。同期の進捗に本当の総数が入り、同期のときのプロジェクト指定は任意になり、同期の履歴はサイドバーのタイムスタンプの奥から見られます。
v0.2.1 — 2026-08-05
**署名したバイナリと、デモだと名乗るデモです。**macOSのリリースバイナリに署名と公証をしました。ホスト版デモは書き込みをローカルで模擬して、保存されなかったことを伝えます。文言のほうでも、この画面がデモであることを示します。
v0.2.0 — 2026-08-05
**土台と、インストールの要らないデモです。**ストレージのスキーマ、HTTP・同期・エージェントの契約、そしてWALとFTS5、導出フィールドの計算を備えたSQLiteの実装です。gadak serveはビルド済みのUIを配信し、--allow-remoteなしでループバック以外にバインドしようとすると拒否します。内蔵ビューは、どのJiraサイトでも同じ意味になる軸をキーにします。解決の判定と再オープンの検出は、翻訳された名前ではなくステータスのカテゴリーをキーにします。ホスト版デモは、デモ専用のサービスワーカーが配信する静的なスナップショットです。バイナリもアカウントも要りません。
**サイトの変化に追いつきます。**資格情報が設定されていれば、gadak serveは既定で同期の監視ループを開始します。gadak install-serviceはlaunchdのエージェントかsystemdのユーザーユニットを書き出します。個人フィードに新しい出来事があると、OSのデスクトップ通知がひとつ出ることがあります。個人のウォッチフィードは、直近30日ぶんをキャッシュから問い合わせのたびに計算します。gadak自身の呼び出し回数はgadak statusと設定のランタイムパネルに出ますが、回数がゼロのあいだは隠れています。
ワークスペースを他の人に渡せます。そして、それをするコマンドラインです。gadak team export / importは、チームで合意したビュー、フィールドの対応表、グループの規則、しきい値を書き出します。資格情報が一緒に運ばれることはなく、資格情報のキーを含むファイルはインポートのときに拒否します。gadak snapshotは共有できるコピーを作ります。--spreadは課題ごとの内部の順序を保ったまま、タイムスタンプを指定した期間に置き直します。--scaleは課題を新しいキーに複製し、--nowは時計を固定します。ファイルを公開する前には、資格情報のスキャンが走ります。
gadak fieldsを使うと、実際に値が入っているカスタムフィールドがわかります。コマンドごとのヘルプはFlagSetから生成するので、実装とずれることがありません。お気に入りはキャッシュの中にあるので、gadak sqlからもエージェントからも見えます。ホスト版デモではローカルストレージを使います。TUIでも同じことができます。フィードのフォーカスタブ、保存したビューのsort / dir / group_by、そしてpriority_rankをキーにした優先度の並べ替えです。