Skip to content

変更履歴

shunt のすべての主要な変更を日付付きで、破壊的変更を明示して記録します。

Updated View as Markdown

厳選したリリースノートを新しい順に掲載します。shunt は 1.0 以前のため、マイナーバージョンの更新 (0.44 → 0.45)には破壊的変更が含まれることがあります。パッチバージョンの更新には通常含まれませんが、 例外は 破壊的変更 と明示しているため、その項目を確認してください。以下の破壊的変更の項目には、影響を 受ける対象、必要な対応、適用されたリリースをすべて記載しています。

このページは 0.35.0 以降を扱います。それ以前のリリースは生成された変更履歴にのみあります。

0.45.1 — 2026-09-14

gpt-6-astra でネイティブツール検索を有効化

修正 — gpt-6-astra が翻訳形式にフォールバックせず、アップストリーム自身のツール検索機能をネゴシエート するようになりました。Effort とコンテキスト を参照してください。

0.45.0 — 2026-09-14

管理 JSON と変更系ルートが /admin/api/* へ移動

変更 · 破壊的変更、0.45.0 から — 管理 API をスクリプトから呼び出すすべての箇所に影響します。13 個の JSON および変更系ルートは /admin の後ろに /api セグメントが 1 つ増え、旧パスはエイリアスを残さず削除された ため、呼び出し側をすべて更新する必要があります。/admin、/admin/login、/admin/oidc/callback は変更あり ません。完全な対応表は 管理パスの移行 にあります。

GET /admin がリダイレクトではなく SPA シェルを返す

変更 · 破壊的変更、0.45.0 から — /admin/login への 303 を「未サインイン」と解釈するスクリプトに影響 します。認証されていない GET /admin は組み込みシェルとともに 200 を返すようになりました。このシェルは すべての訪問者に同一の静的ファイル 1 つで、運用者データを含みません。リダイレクトは消えたのではなく バンドル内に移り、GET /admin/api/session の 401 に従います。セッションの有無はそのブートストラップ エンドポイントで判定してください。 HTTP エンドポイント を参照してください。

読み取りキーでブラウザセッションを開始できる

変更 · 破壊的変更、0.45.0 から — 「読み取りキーではブラウザセッションを開けない」ことを失効の性質として 前提にしていたデプロイに影響します。POST /admin/login は [server.admin] read_keys の資格情報に対し、 従来の 401 ではなく読み取り階層のセッション Cookie とともに 303 を返します。変更操作はすべて 403 の ままなので、Cookie がキーにない権限を与えることはありませんが、独自の有効期間を持ちます。ブラウザ セッションはインメモリストアのみで検証されるため、漏洩した読み取りキーをローテーションしてもヘッダーの 資格情報は次の再読み込みで止まる一方、Cookie は session_ttl_secs(デフォルト 1 時間)が経過するまで読み 続けます。再読み込みではなく再起動で破棄してください。

--features ui の背後にある組み込み管理 SPA

追加 — 管理ダッシュボードはビルド時に埋め込まれ /admin から配信されるコンパイル済み SPA バンドルに なり、サーバーでレンダリングしていた文字列リテラルを置き換えます。--features ui なしでビルドした バイナリはシェルのルートでそのフィーチャー名を示して 404 を返します。 管理とリモートプロビジョニング を参照してください。

グレースフルシャットダウンのドレインに上限と設定を追加

追加 — 最初の SIGTERM/SIGINT の後、実行中の HTTP/SSE/WebSocket 処理は shutdown_timeout_seconds (デフォルト 30、範囲 1–3600)のあいだドレインされ、その後に残りがキャンセルされます。変更には 再起動が必要です。[server] を参照してください。

空フレームによるサービス拒否に対する h2 の更新

セキュリティ — 接続に空フレームを大量送信することで到達可能なサービス拒否を解消するため、h2 依存を 更新しました。0.45.0 以降へアップグレードしてください。設定変更は不要です。

オプションの function パラメーターが翻訳後も保持される

修正 — OpenAI バックエンドは明示的な strict のない function ツールを strict モード寄りに正規化し、その モードでは閉じたパラメーターオブジェクトがすべてのプロパティを必須のように扱うため、呼び出し側が設定して いない値までモデルが埋めてしまいます。転送する function ツールに strict:false を固定し、オプションの プロパティをオプションのまま保つようにしました。 トラブルシューティング を参照してください。

Codex カタログの失敗にネゴシエート済みのエラー形式を使用

修正 — Codex カタログに対するモデルディスカバリーの失敗は、常に Anthropic 形式ではなく、インバウンド エンドポイントがネゴシエートしたエラー形式を返すようになり、OpenAI プロトコルのクライアントが自身の エラー経路で解析できます。モデルディスカバリー を参照してください。

管理ログインとプロビジョニングの修正

修正 — ログインページの CSP から script-src と connect-src を送らなくなりました。SPA シェルは /admin に加えて /admin/ でも配信されます。保留中の 1 つのログインに対する同時完了要求は直列化されます。 拒否された開始が認可ステップを閉じたことを通知します。アカウント追加フォームがログインを誤って報告する ことはなくなりました。

0.44.0 — 2026-09-09

インバウンド Responses リクエストを Anthropic および Chat Completions アップストリームへ翻訳

追加 — インバウンド Codex エンドポイントに到着したリクエストを Anthropic 系または Chat Completions の アップストリームへルーティングでき、翻訳は双方向で処理されます。 インバウンド Codex エンドポイント を参照してください。

WebSocket トランスポートでインストリームの codex.rate_limits を記録

修正 — WebSocket トランスポートがインストリームの codex.rate_limits イベントを記録するようになり、新規 HTTP ターンだけでなく再利用された接続でもクォータウィンドウが最新に保たれます。これは GET /usage に反映されます。

OpenAI のバリデーターが拒否するツールスキーマの正規表現を削除

修正 — OpenAI バックエンドはツールスキーマのすべての pattern を Python の re でコンパイルするため、 JavaScript 専用の正規表現(\p{Cc}、(?<name>…)、\u{…})を拒否します。転送するスキーマからこれらの パターンを取り除くようにしました。strict モード外では pattern は助言的なので、失われるのはヒントだけ です。トラブルシューティング を参照してください。

0.43.0 — 2026-09-08

GET /usage のプロバイダー別内訳

追加 — プール全体の集計に加えて、GET /usage が providers の下にプールされたプロバイダーごとの同じ サニタイズ済みの数値を返すようになり、1 つのプロバイダーへルーティングするクライアントは混合平均ではなく そのプロバイダーの余裕を読めます。認証方式がプールされていないプロバイダーは省かれます。 HTTP エンドポイント を参照してください。

GET /usage が最小使用アカウントではなくプール平均の余裕を報告

変更 — 各ウィンドウは、そのウィンドウを報告する無効化されていないアカウントに対する mean(1 - utilization)、すなわちプールの総容量のうち未使用の割合を報告するようになり、最小使用の単一 アカウントは報告しません。旧フィールドを 1 アカウントの余裕として読んでいたクライアントには、プール全体の 数値が見えるようになります。

0.42.0 — 2026-09-07

インバウンド Responses エンドポイントでのモデルルーティング対応サードパーティアップストリーム

追加 — インバウンド Responses エンドポイントがサードパーティアップストリームへのモデル単位ルーティングに 従うようになり、Codex CLI クライアントがモデル id で OpenAI 以外のベンダーへ到達できます。 インバウンド Codex エンドポイント を参照してください。

0.41.3 — 2026-09-07

usagePercent のない Grok 製品がクォータ行を空にしない

修正 — usagePercent なしで報告された製品がスキップされず、クォータ行全体を空にしていた問題を修正しま した。xAI / Grok を参照してください。

0.41.2 — 2026-09-07

デバイスページの SSO フォームが ID プロバイダーへリダイレクトできる

修正 — デバイスページの CSP form-action が、設定された ID プロバイダーへのリダイレクトを拒否していた ため、そのページから SSO を完了できませんでした。ゲートウェイログイン を参照 してください。

0.41.1 — 2026-09-07

Origin が null でもデバイスページ自身のフォーム POST を受理

修正 — Referrer-Policy: no-referrer では同一ページのフォーム POST も Origin: null で到着し、CSRF ガードがこれを拒否していました。ガードは Sec-Fetch-Site: same-origin を先に判定するようになりました。

配送されなかった agy ハンドオフが完了済みターンを失敗させない

修正 — すでに完了したターンが、ローカルの agy サブプロセスへ配送できなかったハンドオフによって失敗 することはなくなりました。Antigravity を参照してください。

0.41.0 — 2026-09-05

Zhipu と MiniMax 中国版のプリセット

追加 — zhipu と minimax-cn を組み込みの Anthropic 互換プリセットとして提供するため、中国本土の エンドポイントには手書きのプロバイダーテーブルではなく資格情報だけがあれば済みます。 Zhipu と MiniMax 中国版 を参照してください。

未知のモデルに対して Antigravity の effort マトリクスを再探索

修正 — キャッシュ済みの effort マトリクスにないモデルを指定したターンが、失敗せずに再探索を起こすように なりました。Antigravity を参照してください。

Cursor のコンポーザー fast モードと組み込みツール呼び出し

修正 — コンポーザー fast モードはモデル id に埋め込まずモデルメタデータとして送られ、組み込みツール 呼び出しを含むターンは破棄されず表面化されます。Cursor を参照してください。

0.40.2 — 2026-09-05

antigravity-cli が呼び出し側のツールを無視せず拒否

変更 · 破壊的変更、0.40.2 から — antigravity-cli プロバイダーに空でない tools 配列(tool_choice が none の場合を除く)、または any か tool の tool_choice を送る呼び出し側に影響します。このプロバイダーはローカルの agy バイナリを 実行しますが、agy は自身でツール呼び出しを解決し tool_use ブロックを返しません。そのためこうした リクエストは以前はツールを黙って無視したテキストのみの 200 を返していましたが、現在は 400 invalid_request_error で拒否されます。タスクは通常のプロンプトとして送るか、ツールをそのまま転送する ネイティブの antigravity または gemini プロバイダーへそのモデルをルーティングしてください。 ツールなしで tool_choice が auto の場合は影響を受けません。 Antigravity を参照してください。

gpt-6-astra のため Codex クライアント identity を 0.153.3 に引き上げ

修正 — バックエンドが gpt-6-astra を提供するために要求する 0.153.3 へ、通知する Codex クライアント identity を引き上げました。ChatGPT / Codex を参照してください。

インストリームの rate_limit_exceeded を 429 に分類

修正 — インストリームの rate_limit_exceeded イベントを 429 に分類し、misalignment steer を破棄せず クライアントへ転送します。

Gemini のタプル形式配列スキーマ

修正 — Gemini が要求する items スキーマを、バックエンドが拒否する形ではなくタプル形式の配列定義から 導出します。

0.40.1 — 2026-09-03

Antigravity がライブカタログからモデル id を解決

修正 — モデル id をアカウントのライブカタログに対して解決し、本番ホストに固定された base_url を リダイレクトします。この 2 つが揃って、プロバイダーを使用不能にしていた偽の 429「quota」拒否を解消します。 Antigravity のカタログはアカウントごとに異なり予告なく変わるため、id はもはやハードコードしません。 Antigravity を参照してください。

0.40.0 — 2026-09-02

wham 使用量エンドポイントから Codex アカウントのクォータを取得

追加 — wham 使用量エンドポイントをポーリングして Codex アカウントのクォータを取得するため、トラフィック が x-codex-* ヘッダーを返すのを待たずにプール状態が埋まります。 Codex マルチアカウント を参照してください。

Antigravity がエージェント envelope で daily バックエンドに到達

修正 — リクエストは daily バックエンドに対して完全なエージェント envelope と effort サフィックス付きの モデル id を伴うようになりました。これはサービスが実際に受け付ける組み合わせです。 Antigravity を参照してください。

隣接する Gemini のユーザーターンを統合

修正 — 隣接するユーザーターンを統合し、会話途中のシステムメッセージをまたいでもツールの対応付けが保たれ ます。

0.39.2 — 2026-09-01

一度も選択されていないアカウントも再ログイン要の判定を保持

修正 — どのプロバイダーテーブルも選択したことのないアカウントが、has_state: false とともに needs_relogin を報告します。管理リフレッシュプローブがストア名で判定を記録するためです。 HTTP エンドポイント を参照してください。

0.39.1 — 2026-08-31

Claude アカウントの状態を資格情報の種類で報告

修正 — アカウントの状態を生の有効期限ではなく資格情報の種類から導出するため、死んだ資格情報は単なる期限 切れではなく再ログインが必要として報告されます。 Anthropic マルチアカウント を参照してください。

0.39.0 — 2026-08-29

クォータ間近の古いアカウントを機会的に再プローブ

追加 — クォータ間近で一時停止されたアカウントを機会があれば再プローブするため、固定のクールダウンを待た ずにウィンドウがリセットされ次第ローテーションへ復帰します。 Anthropic マルチアカウント を参照してください。

プールのプランをアカウント identity でキー付け

修正 — プランをアカウント identity でキー付けし、背後のファイル読み取りを single-flight 化したため、同時 読み取りがあるアカウントのプランを別のアカウントに帰属させることはなくなりました。

Anthropic 以外の Messages モデルで deferred ツールを削除

修正 — deferred ツールブロックを理解しない Anthropic 以外の Messages アップストリームへ転送する前に削除 します。モデルエイリアス を参照してください。

リセットのないクォータマークの寿命を制限

修正 — リセットのタイムスタンプなしに届いたクォータマークが、アカウントを無期限に停止させず自ら期限切れ になります。

0.38.0 — 2026-08-25

kind = "antigravity" はネイティブ HTTP アップストリーム

変更 · 破壊的変更、0.38.0 から — antigravity プロバイダーを持つすべての設定に影響します。この名前は ネイティブ HTTP アップストリームを意味するようになり、ローカルの agy サブプロセストランスポートは kind = "antigravity_cli"(組み込みプロバイダー antigravity-cli)へ移りました。旧来の意味のままの設定は 別の対象へ読み替えられるのではなく名前で拒否され、資格情報のないルーティング済み antigravity プロバイダー は起動を拒否します。サブプロセストランスポートを維持するならテーブル名を antigravity_cli に変更し、HTTP の方を採用するなら資格情報を追加してください。Antigravity を参照してください。

kind = "antigravity_cli" は非推奨

非推奨 — ローカルの agy サブプロセストランスポートは、ネイティブ HTTP アップストリーム (kind = "antigravity")に替わり非推奨となりました。まだ動作するので、都合のよいときに移行してください。 Antigravity を参照してください。

shunt の資格情報を含む共有スロットを丸ごと削除

変更 · 破壊的変更、0.38.0 から — 1 リクエストで authorization または x-api-key を 2 回以上送る呼び出し 側にのみ影響します。shunt 自身の資格情報が本物のアップストリーム資格情報とスロットを共有している場合、 スロット全体が削除されるため、アップストリームの資格情報も一緒に失われます。アップストリームの資格情報は 専用のスロットで送ってください。ゲートウェイの共有 を参照してください。

読み取り/書き込み管理キーと [server.spend] へ移った支出サーフェス

追加 — [server.admin] に read_keys と write_keys が加わりました。読み取りキーはすべての管理 GET を 通過し、すべての変更操作では 403 で拒否されます。支出上限のサーフェスは独自の [server.spend] テーブルへ移動しました。 [server.admin] を参照してください。

shunt gateway のログイン、トークンヘルパー、Claude Code ランチャー

追加 — shunt gateway login、shunt gateway token、shunt gateway claude、shunt gateway logout により、 クライアントはデバイスフローで共有ゲートウェイに認証し、それに対して Claude Code を起動できます。 ゲートウェイログイン と CLI を参照してください。

一級のサブスクリプションアップストリームとしての Kimi Code OAuth

追加 — Moonshot の API キーだけでなく、Kimi Code のサブスクリプションを OAuth で直接利用できます。 Kimi を参照してください。

[server.gateway.session] の JWT 設定

追加 — ゲートウェイセッションの JWT パラメーターを [server.gateway.session] の下で設定できます。

設定での ${VAR} と ${file:} の参照、および秘密情報の伏せ字化

追加 — 設定値が ${VAR} の環境変数参照と ${file:…} のパス参照を解決し、秘密フィールドはデバッグ出力で 伏せられるため、ダンプした設定が資格情報を漏らすことはありません。 設定リファレンス を参照してください。

支出上限の管理 API

追加 — 支出上限の管理 API の第 1 段階が [server.spend] の下に導入されました。

プール状態でのアカウントプランの公開

追加 — プールのアカウントオブジェクトは任意の plan 文字列を持つことがあり、可能な場合はプロフィール 参照でより正確な値へ精緻化されます。HTTP エンドポイント を参照してください。

Codex クライアントサーフェスを openai/codex 0.148.0 に同期

変更 — Codex のクライアント identity とリクエストサーフェスをアップストリームの 0.148.0 に合わせました。 ChatGPT / Codex を参照してください。

ゲートウェイ JWT とクライアントトークンがアップストリームへ届かない

セキュリティ — ゲートウェイ JWT は認証に成功したときだけでなく形状で取り除かれ、どちらの資格情報スロット でも転送されません。静的な [server.auth] トークンは値で取り除かれ、インバウンドの x-api-key は Codex パススルーで取り除かれます。資格情報スロットの転送箇所はすべて 1 つの共有ストリップを通るため、受理規則と 除去規則が乖離することはありません。ゲートウェイの共有 を参照してください。

shunt check がルーティング済み Antigravity の資格情報ガードを実行

修正 — shunt check が起動時と同じ資格情報ガードを適用するため、資格情報のないルーティング済み antigravity プロバイダーはサーバー起動前に報告されます。CLI を参照してください。

0.37.0 — 2026-08-13

オプトインのアップストリーム Statuspage ポーリング

追加 — [server.status] が設定されたプロバイダーの Statuspage ソースをポーリングし、直近のインジケーター、 説明、インシデントを観測用に公開します。ルーティングやフェイルオーバーが参照することはありません。設定キーは 設定リファレンス(英語)にあります。

grok-4.6 と刷新された Grok モデルサーフェス

追加 — grok-4.6 を追加し、Grok のモデルサーフェスを更新しました。xAI / Grok を参照 してください。

0.36.0 — 2026-08-11

agy がストリーミングとサンドボックスを備えたエージェントモードで実行

追加 — Antigravity CLI トランスポートが、ストリーミング出力、サンドボックス、探索された effort マトリクス とともにエージェントモードで実行されます。Antigravity を参照してください。

0.35.0 — 2026-08-10

インバウンドのボディ上限はデフォルト 32 MiB

変更 · 破壊的変更、0.35.0 から — 32〜64 MiB のリクエストボディ、主に大きなファイルや画像のリクエストを 送る場合に影響します。上限のデフォルトが従来のハードコードされた 64 MiB から 32 MiB になり、その範囲の リクエストは 413 request_too_large を返します。従来の上限に戻すには [server.limits] の max_request_bytes を引き上げてください。設定リファレンス を参照して ください。

HTTP チューニングの設定サーフェス

追加 — [server.limits]、[server.timeouts] および関連テーブルが、以前はハードコードされていたボディ、 ヘッダー、URL、タイムアウトのチューニングを公開します。設定リファレンス を 参照してください。

Navigation

Type to search…

↑↓ navigate↵ selectEsc close