React 19.3リリース、ViewTransitionとFragment Refsが正式版に昇格

概要 Reactチームは9月9日、バージョン19.3をnpmで公開した。目玉は<ViewTransition>とFragmentへのref対応(Fragment Refs)が実験的APIから正式に安定版へ昇格したことで、これに加えてサーバーレンダリングを選択的にスキップするbrowser()関数、Trusted Types対応の改善、Server Componentsでのcontext直接描画など、実用面での改善が多数盛り込まれた。あわせてFast RefreshやServer Components、フォーカス管理まわりで報告されていた多数の不具合も修正されている。 ViewTransitionとFragment Refsの安定化 <ViewTransition>はブラウザのView Transition APIを利用してUIのアニメーションを実装するコンポーネントで、startTransitionでマークされた更新、<Suspense>のreveal、useDeferredValueによる更新をアニメーション化する(緊急の更新はアニメーション化されない)。要素の追加(enter)・削除(exit)・内容変更(update)・名前付き要素の移動(share)の4種類のトリガーに対応し、addTransitionTypeと組み合わせることでカルーセルの前進・後退のように同じ状態更新でも異なるアニメーションを出し分けられる。<Suspense>と組み合わせた場合はフォールバックを即座に表示しつつ最終コンテンツへの切り替えだけをアニメーションさせるパターンが推奨されており、update="auto" default="none"という設定例が示されている。現時点ではDOM環境のみのサポートで、React Native等への対応は今後の課題とされている。 もう一つの目玉であるFragment Refsは、<Fragment>に直接refを渡せるようにする機能だ。従来、親要素を持たない兄弟要素の集合や、refを公開しないライブラリコンポーネントの中身を操作する手段がなかったが、Fragment Refsで得られるFragmentInstanceはイベントリスナーの追加・削除、深さ優先探索によるフォーカス管理(focus/focusLast/blur)、IntersectionObserverやResizeObserverの接続、getClientRectsによるサイズ測定などをコンポーネント内部を変更せずに実現できる。 browser()関数とTrusted Types対応 サーバーレンダリング環境では同じコンポーネントがサーバーとクライアントの両方で実行されるため、localStorageやローカルタイムゾーンなどブラウザ固有の情報に依存する処理はサーバー側で意味のある出力を生成できないという課題があった。従来はuseEffectでマウント状態を管理したりtypeof windowを判定したりする回避策が使われてきたが、React 19.3ではuse(browser())を呼ぶことでサーバーレンダリングを明示的にオプトアウトできるようになった。サーバー側ではSuspenseをトリガーして最寄りのフォールバックをHTMLとして出力し、クライアント側では通常通りレンダリングされる。useの他の呼び出しと同様に条件分岐や早期リターンの後でも使用できるため、propsにデフォルト値がある場合だけサーバーレンダリングを許可するといった柔軟な制御も可能だ。 セキュリティ面では、DOM型XSS攻撃を防ぐTrusted Types APIへの対応が改善された。従来Reactは値を'' + valueのように文字列へ強制変換してからDOM APIへ渡していたため、TrustedHTMLなどの型付きオブジェクトが平文文字列に戻されてブラウザに拒否される問題があったが、19.3では値を強制変換せず直接渡すよう修正され、require-trusted-types-for 'script'ポリシーが意図通り機能するようになった。またServer Componentsでは、これまで'use client'側でProviderコンポーネントをラップする必要があったcontextの受け渡しが、<UserContext value={...}>のように直接記述できるようになり、ボイラープレートが削減されている。 パフォーマンス改善と主なバグ修正 パフォーマンス面では、複数のTransitionが1つのレンダーに絡み合い、低速なTransitionが無関係な更新まで遅延させていた問題を解消し、Transitionが独立してレンダリングされるよう改善された。またresizeイベントからの更新が次フレームまでバッチ処理されるようになったほか、onFullscreenChange/onFullscreenErrorイベント、SVGのmaskType属性、iframeのcredentialless属性、モジュールリソースのfetchPriorityなどにも対応した。 バグ修正では、useDeferredValueが古い値のままスタックする不具合、Suspenseフォールバックへのcontext伝播の不備、非表示ツリー内でデハイドレーションされたSuspense境界を更新した際にハングする問題、<Activity>が非表示になった後も<title>が<head>にホイストされ続ける問題などが修正された。React DOM側ではMobile Safariでの<ViewTransition>クラッシュやSuspenseListとの組み合わせでのクラッシュ、フォーカス管理の不具合が解消され、React Server側では深い非同期呼び出しチェーンでのスタックオーバーフローやError.cause・AggregateError.errorsのクライアントへの転送不備なども修正されている。Reactチームは今後もView TransitionsのReact Native対応を進めるとしている。

September 10, 2026

Vitest 5.0リリース、VMプール最適化とブラウザモード刷新で実行速度最大53%向上

概要 JavaScript/TypeScript向けテストフレームワークVitestは9月3日、メジャーバージョン5.0を正式リリースした。今回のリリースはパフォーマンスの底上げに主眼が置かれており、大規模な独立実行スイートで最大19%、ブラウザモードでのコンポーネントテストで最大18%、全体では最大53%の実行速度向上を達成したとしている。コアチームおよび790名を超えるコントリビューターによる共同作業の成果であり、VladimirとHiroshiの両氏はVoidZeroでVitestの開発にフルタイムで従事し、Ari氏はChromaticの支援を受けているという。開発資金はGitHub SponsorsとOpen Collectiveを通じて集められている。 パフォーマンス改善の内訳 高速化は複数の施策の組み合わせで実現された。vmThreadsやvmForksといったVMプールはコンテキスト間でコンパイル済みコードを再利用し、モジュールグラフを事前にウォームアップするようになった。同一のVite設定を使うインラインプロジェクトは単一のViteサーバーを共有するようになり、新設されたfsModuleCacheオプションはトランスパイル済みモジュールをディスク上に永続化して再実行間で使い回せるようにする。ブラウザモードについてもプリバンドルされたランタイム、アダプティブなブラウザセッションの起動、ファイルごとのラウンドトリップ削減などにより高速化した。加えて、バンドルする依存関係を絞り込むことでnode_modulesのサイズと解決時間を縮小したほか、カバレッジ計測に使うv8プロバイダーもメモリ使用量に上限を設けたマージ処理と事前コンパイル済みのglobパターンにより改善されている。 新機能 ブラウザモード向けには、テスト中のあらゆる操作・アサーション・DOMスナップショットを記録してステップごとに再生できる「トレースビュー」が追加され、ブラウザUI・Vitest UI・HTMLレポーターのいずれからも参照できる。条件付きモックを簡潔に書けるvi.when APIも新設され、引数は深い等価比較で照合されるほか、expect.any()のような非対称マッチャーもサポートする。ベンチマーク機能も刷新され、benchはトップレベルのインポートからテストコンテキストのフィクスチャへと移行し、フィクスチャやフック、リトライ、アサーションをベンチマークファイル内で利用できるようになった。このほか、ネストしたプロジェクトと設定の継承、expect.pollのタイムアウト時の失敗化などアサーションの厳格化、ロケーター失敗時にHTMLと並べてARIAスナップショットを表示するブラウザモードのエラー改善、Fakeタイマーによる Temporal API のモック対応なども盛り込まれた。 開発体験の向上と破壊的変更 開発体験面では、テストの実行順序への依存を防ぐためclearMocksがデフォルトで有効化されたほか、HTMLレポートやJSON、JUnit、添付ファイル、トレースなどの出力を.vitestディレクトリに統一。単一ファイルで完結するHTMLレポートを生成するsingleFileオプション、フレーキーテストを検出するための--repeats CLIオプション、パフォーマンス最適化を提案するvitest doctorコマンドなども追加された。一方でVite 6.4.0以上、Node.js 22.12.0以上が必須となり、ロケーターはデフォルトで厳格モードになるなど複数の破壊的変更が含まれるため、移行にあたっては公式のMigration Guideの確認が推奨されている。

September 9, 2026

JavaScriptをC言語にコンパイルする「Porffor」がアルファ版に到達、Node.js実行ファイルの50分の1のサイズを実現

概要 JavaScriptおよびTypeScriptのコードを中間表現を経てC言語に変換し、そこからネイティブバイナリやWebAssembly(WASM)を生成するAOT(Ahead-of-Time)コンパイラ「Porffor」(発音: poor-for)が、アルファ版の段階に到達した。開発者のOliver Medhurst氏が発表したもので、Node.jsなどのJavaScriptランタイムやライブラリに依存しない、軽量な独立実行ファイルを作成できる点が特徴だ。Medhurst氏は「実世界の依存関係が動き始めており、以前よりもずっと近づいている」とコメントしており、Node.js互換性の向上が現在の主要な課題だとしている。 パフォーマンスとサイズの改善 Porfforが生成する実行ファイルは、Node.jsをバンドルした実行ファイルと比較して最大で約50分の1のサイズに収まるという。この差はメモリ効率にも直結しており、1GBのメモリ環境ではNode.jsベースの構成では28個程度のアプリケーションしか同時実行できないのに対し、Porfforでコンパイルした場合は1000個以上を実行できるとしている。コールドスタート時間も100マイクロ秒以下まで短縮されており、サーバーレス環境やエッジ環境など、起動の速さとメモリ効率が重視される用途との親和性が高い。 直近の技術的改善 ベータ版に向けた開発の中では、URI関連関数の大幅な改善に加え、クロージャの最適化によって最大65%の高速化と30%のメモリ削減を達成したという。こうした細部のチューニングは、実際のJavaScriptコードベースをそのまま扱えるようにするための地道な積み重ねであり、Node.js互換性というボトルネックの解消に向けた布石といえる。 今後の展望 現時点ではアルファ版であり、既存のNode.jsベースのWebアプリケーションをそのままコンパイルできるようになるにはまだ課題が残る。しかし、Node.js非依存で軽量かつ高速に動作するJavaScript実行環境というコンセプトは、コンテナやサーバーレス関数のコールドスタート問題に悩む開発者にとって魅力的であり、ベータ版に向けた互換性向上の進展が注目される。

September 8, 2026

Python 3.15.0 rc2公開、ABI変更なしで10月1日正式リリースへ最終調整

概要 Python 3.15.0の2つ目にして最終のリリース候補版rc2が9月1日に公開された。76名の貢献者によりrc1から約144件のバグ修正・ビルド改善・ドキュメント変更が加えられており、このタイミング以降は3.15系でABI(アプリケーションバイナリインタフェース)の変更が発生しないことが明言された。正式リリースは10月1日を予定しており、サードパーティ開発者にはPyPI向けホイールの準備を進めるよう呼びかけられている。 主な新機能 3.15では起動時間短縮を狙った遅延インポート機構(PEP 810)が導入され、モジュールのインポートを実際に必要になるまで遅らせられるようになった。データ構造まわりでは変更不可能な辞書を扱うfrozendict型が組み込みで追加されたほか、型ヒント関連でsentinelおよびTypeForm型が実装された。文字列処理ではデフォルトのテキストエンコーディングがUTF-8に設定され、プラットフォーム依存の挙動によるトラブルを減らす狙いがある。 パフォーマンスとプラットフォーム対応 性能面ではJITコンパイラが大幅に改善され、x86-64で8〜9%、AArch64で12〜13%の速度向上が確認されている。実行系についても、Windows 64ビット版でテイルコーリングを用いた新しいインタプリタ方式が採用され、macOSではフリースレッド(GILなし)対応がデフォルトで提供されるようになった。これらはCPython本体の性能・並行処理能力を底上げする変更であり、3.13以降続くフリースレッド化やJIT導入の取り組みの延長線上にある。 今後の見通し rc2の公開により3.15系の機能セットとABIは事実上確定し、以降のリリース作業は安定化とバグ修正が中心になる。正式版は10月1日にリリースされる予定で、拡張モジュールやパッケージを提供するサードパーティ開発者は、正式リリースに間に合うようPyPIへの3.15対応ホイールの登録を進めることが推奨されている。

September 2, 2026

AstroがProject Steward交代を発表、v7.2ではブラウザ完結の「Astro Playground」を公開

Project Stewardの交代 Astroプロジェクトは8月31日公開の月次アップデートで、Project StewardをFred SchottからMatthew Phillipsに交代したことを発表した。Matthew Phillipsは就任にあたり、「このコミュニティがAstroを素晴らしくしている」とコメントし、これまでプロジェクトを率いてきたFredの功績に謝意を示している。Cloudflareに勤務するPhillipsは、GitHub上のissueをゼロ件まで減らす「ソフトウェアファクトリ」的な運用体制を構築したと報告しており、開発体制の効率化にも取り組んでいることがうかがえる。 Astro 7.2の新機能 同時にリリースされたAstro 7.2では、実験的な「インクリメンタル静的ビルド」が追加された。変更のあったページのみを再ビルド対象とすることでビルド性能の向上を狙う機能で、まだ実験的フラグの扱いだが、大規模な静的サイトのビルド時間短縮につながる可能性がある。このほか、astro previewコマンドにバックグラウンドモードが追加され、プレビューサーバーを別プロセスとして起動できるようになったほか、ロガーのエントリーポイントを相対パスで指定できるようになるなど、開発体験まわりの細かな改善も盛り込まれている。 Astro Playgroundの登場 今回の目玉のひとつが、Emanuele Stoppaが開発した新ツール「Astro Playground」だ。ブラウザ上でAstroコンポーネントを試せるツールで、セッションごとに実際のAstro Compilerのインスタンスを独立したDynamic Worker上で起動する設計になっている。これにより、ブラウザ上での実行結果がローカル環境でのビルド結果と完全に一致することを担保しているという。UI自体はSvelteで構築されており、ドキュメント参照やちょっとした検証のために手元でプロジェクトをセットアップする手間を省ける点が特徴だ。 エコシステムの広がり コミュニティ側の動きとしては、ImageKitがAstro向けの画像最適化統合をリリースしたほか、CloudCannonが多言語対応サイト向けのAstroスターターテンプレートを公開するなど、周辺エコシステムの拡充が続いている。また、SEOおよびAEO(Answer Engine Optimization)向けの統合ツールも複数登場しており、Astroが検索エンジン最適化やAI検索対応の分野でも採用が広がっていることを示している。Steward交代という節目を経て、Astroチームは引き続きビルド性能や開発者体験の改善に注力していく方針とみられる。

September 1, 2026

Node.js 26.8.0リリース、暗号化APIにSIV/GCM-SIVモード追加とzlibのZIP対応が目玉に

概要 Node.jsプロジェクトは8月26日、26系(Current)の最新マイナーリリースとなるv26.8.0を公開した。リリースはAntoine du Hamel氏(@aduh95)によるもので、暗号化APIの拡張、zlibモジュールへのZIPファイル操作機能の追加、REPLの構文ハイライト対応など、開発者体験とセキュリティ両面での強化が多数盛り込まれている。 暗号化・SQLite関連の機能強化 目玉となるのがCipher/Decipher APIへのSIV(Synthetic Initialization Vector)およびGCM-SIVモードの追加だ(PR #63411)。これによりノンス誤用に強い認証付き暗号方式が利用可能になる。あわせてRSA-OAEP暗号化でmgf1Hashパラメータの指定に対応し、暗号方式選択の柔軟性が向上した。ルート証明書もNSS 3.126に更新されている。SQLiteモジュールではStatementSync.prototype.close()とSymbol.disposeによる明示的リソース管理(using構文)への対応が追加され(PR #64232)、準備済みステートメントのライフサイクル管理がしやすくなった。 zlibのZIP対応とREPLの構文ハイライト zlibモジュールにはZipEntry・ZipFile・ZipBufferという新クラスが追加され、Node.js標準機能だけでZIPアーカイブの読み書きが可能になった(PR #64339)。中央ディレクトリレコード数の検証、あいまいなアーカイブ終端の拒否、ローカル/中央ヘッダー不一致の防止、FIFOやデバイスファイルの取り扱いなど、セキュリティ面の考慮も同時に組み込まれている。開発者向けにはREPLへの基本的な構文ハイライト機能が追加され(PR #64591)、対話的なコーディング時の可読性が向上した。このほか、例外を投げずにnullを返す非throwのMIMEType.parse()(PR #64965)や、perf_hooksのヒストグラムへの統計的仮説検定機能の追加(PR #65416)など、ユーティリティ・診断系APIの拡充も行われている。 パフォーマンスとセキュリティ修正 パフォーマンス面では、WHATWG URLパーサーとURLSearchParamsの高速化、webstreamsのホットパスにおけるPromise生成の削減、HTTPサーバーでのインタラシブリストやヘッダーペアキャッシュの導入、net.BlockListの処理速度改善など幅広い最適化が行われた。再帰的なreaddirでは全エントリへのstat呼び出しを省略する最適化も加わっている。セキュリティ修正も多岐にわたり、FFI(外部関数インターフェース)でのSharedArrayBufferやデタッチ済みArrayBufferの不正な扱いを拒否する修正、文字列書き込みオフセットのオーバーフロー防止、mkdtempや奇数長ucs2変換における境界外書き込みの修正、TLS/WebCryptoにおけるFIPSモード関連の修正などが含まれる。依存関係ではundiciが8.10.0に、libffiが3.8.0にそれぞれ更新された。なお--enable-staticビルドフラグは非推奨となり、今後は常時有効化される。

September 1, 2026

Kotlin 2.4.20のRC2が公開、コルーチンのスタックトレース復元やコレクションの一意性チェック関数を追加

概要 JetBrainsは8月26日、Kotlin 2.4.20のリリース候補版となる「2.4.20-RC2」を公開した。今年6月24日のBeta1、7月22日のBeta2、8月12日のRCを経て積み上げてきた機能群を引き継ぎつつ、RC2ではコンパイラやツールチェーンに残っていた不具合を集中的に修正している。正式版のリリースが近づいており、開発の最終段階に入ったことを示す動きだ。 標準ライブラリの新機能 今回の2.4.20系統の目玉の一つが、標準ライブラリへのStackTraceRecoverableインターフェースの導入だ。Beta1で追加されたこの仕組みにより、コルーチンをまたいで例外が伝播する際に失われがちだったスタックトレース情報を、より正確に復元できるようになる。非同期処理のデバッグでは呼び出し元のコンテキストが分かりにくくなる問題が長年指摘されてきており、この改善は実用上のメリットが大きい。 あわせて、コレクション要素の比較を扱う関数群も拡充された。Beta1では複数要素が全て等しいかを一括判定するallEqualがIterableに追加され、続くBeta2では要素が全て異なることを検証するallDistinct()と、キー抽出関数を指定できるallDistinctBy()が追加された。従来は自前でループやSetを使って実装する必要があった等価性・一意性チェックを、標準APIだけで簡潔に書けるようになる。 Kotlin/NativeのSwiftエクスポート拡張 Kotlin/Native向けのSwift Export機能も継続的に強化されている。Beta2ではsealedクラスのサポートが加わり、プロパティやインターフェース実装を含むクロスランゲージ継承にも対応した。これによりKotlinで定義したより複雑な型階層を、Swift側からより自然な形で扱えるようになる。Beta1からRCにかけては、ジェネリック型の上限境界解決の失敗、プロトコルメンバーへの不正な可用性(unavailability)情報の伝播、ファクトリ関数名とクラス名の衝突といった細かな不具合も順次修正されており、iOSやmacOSアプリ開発でKotlin Multiplatformを利用するチームにとって実用性が着実に高まっている。 RC2での修正点と今後の見通し RC2自体は新機能よりも安定化に重点を置いた更新で、ネストしたループ内で2つのnull許容ローカル変数を相互に代入した際にKotlin/NativeのコンパイラがStackOverflowErrorを起こす問題、Compose compilerでwhen式内のラムダから非ローカルリターンが実行されない不具合、@Serializableが付与されたenumをKotlin/JSでコンパイルする際に発生するIllegalStateException、Gradle for Wasmでユーザー定義のwebpack設定の適用順序がずれる問題などを修正した。目立った新機能追加のないRC2という位置づけからも、Kotlin 2.4.20の正式リリースが目前に迫っていることがうかがえる。

August 31, 2026

PHP 8.5.10・8.4.25公開、深くネストしたデータ構造処理時のスタック枯渇など複数の問題を修正

概要 PHPプロジェクトは8月27日、PHP 8.5.10および8.4.25を公開した。両バージョンともセキュリティ修正を含むリリースであり、公式には可能な限り早期のアップデートが推奨されている。PHP 8.5系は「Latest」ステータスにあり、2027年12月31日までサポートが継続される。 修正されたセキュリティ脆弱性 今回のリリースでは、Exif拡張のexif_read_data()においてHEIF形式のメタボックスに対し元ファイルサイズを超えるメモリを割り当ててしまう問題が修正された。なお、ext-pgsqlのSQLインジェクション(CVE-2026-17543)やbcmath拡張bccomp()のバッファオーバーフロー(CVE-2026-17544)、libgd由来の脆弱性(CVE-2026-9672)、pharアーカイブの循環シンボリックリンクによるクラッシュ(GHSA-vc5h-9ppw-p5f3)は、いずれも今回の8.5.10・8.4.25ではなく、7月30日リリースのPHP 8.5.9・8.4.24で修正済みの項目である。 スタック枯渇問題への対応 もう一つの大きな柱が、深くネストしたデータ構造を処理する際のスタック枯渇(スタックオーバーフロー)対策である。配列同士の深いネスト比較や、DOM拡張でのドキュメント正規化・比較処理で発生し得るスタックオーバーフローが修正されたほか、array_walk_recursive()、array_replace_recursive()、compact()といった再帰的に処理を行う関数にスタック上限チェックが新たに追加された。これらは、悪意を持って極端に深いネスト構造を持つ入力を与えることでサービス拒否(クラッシュ)を引き起こし得る問題であり、外部入力を扱うアプリケーションにとっては地味ながら重要な修正といえる。 その他の修正点とアップデート方法 このほかにも、DOM拡張でDTD宣言に由来する属性のデフォルト値をsetAttribute()が正しく扱えていなかった問題、MBString拡張のmb_strrpos()における負のオフセット処理の不具合、PDO ODBCでのNULL値処理、PDO PostgreSQLの遅延フェッチ(レイジーフェッチ)に関する欠陥、Reflectionの例外メッセージにおけるnullバイトの扱い、SimpleXMLで発生していたセグメンテーション違反など、安定性に関わる多数の修正が含まれる。ソースコードはGitHubリポジトリから、Windows向けにはNTS/TS版の32bit・64bitバイナリが、コンテナ環境向けにはCLI・FPM・Apache用のDockerイメージがそれぞれ提供されている。セキュリティ修正が含まれることから、本番環境を運用する開発者は速やかなアップデート適用が望ましい。

August 29, 2026

pnpm 12.0が正式リリース、Rust全面書き換えでピア解決が最大3倍高速化

概要 JavaScript向けパッケージマネージャーpnpmは8月26日、コア実装をRustで全面的に書き直したバージョン12.0を正式にリリースした。8月上旬に公開されていたリリース候補版が、大きな問題報告なく正式版へと昇格した形となる。開発チームは今回の刷新について「意図的に移行ではない」と位置づけており、コマンド体系や設定ファイル、ロックファイル形式はpnpm 11との互換性を保ったまま、内部実装のみを刷新している。既存プロジェクトはコマンドや設定を変更することなく、そのままアップグレードできる設計だ。 パフォーマンスとアーキテクチャの改善 Rust化による最大の恩恵は、依存関係解決処理の高速化である。大規模な循環依存を含むワークスペースにおいて、ピア依存関係の解決速度が2〜3倍向上し、メモリ使用量は約25%削減されたという。あわせてロックファイルのサイズも大幅に縮小された。Linux環境向けには、packageImportMethod: auto設定時にハードリンクを優先的に採用する変更も加えられており、btrfsなどのファイルシステム上ではインストール時のnode_modules具体化に要する時間がおよそ半分に短縮されるとしている。 互換性への配慮と新機能 破壊的変更としては、Gitへの依存関係がHTTPS URLに正規化される点、pnpm-workspace.yaml内の未認識設定が警告として報告されるようになり、プロジェクトがピン留めしたpnpmバージョンと一致する場合はエラーになる点、engineStrictの挙動が厳密化された点などが挙げられる。一方で新機能も複数追加されており、Node.js・Deno・Bunがプロジェクトのピン留めバージョンに従う「プロジェクト認識グローバルバイナリ」、npmやYarn各種、Bunといった他のパッケージマネージャーそのものをプロビジョニングできる機能、脆弱性対応の代替パッケージに差し替える「レジストリリビジョン」、段階的公開の一括承認機能、そして試験的なリモート副作用キャッシュなどが盛り込まれた。pnpm init実行時に最新版のpnpmを自動的にピン留めする改善も行われている。 導入方法と今後の展望 現時点ではpnpmコマンドのlatestタグは引き続きpnpm 11系を指しているため、12系を試すにはpnpm self-update next-12で専用タグを指定してインストールする必要がある。互換性を保ちながら内部実装をRustに置き換えるという方針は、Node.jsエコシステムで広がるネイティブ実装への回帰の流れとも軌を一にしており、今後latestタグへの昇格が進めば、大規模モノレポを扱う開発者を中心に恩恵が広がりそうだ。

August 28, 2026

VS Code 1.135リリース、外部アプリのエージェントセッション引き継ぎと第二意見機能「Rubber Duck」を追加

概要 Microsoftは8月26日、Visual Studio Codeの月例アップデート「バージョン1.135」を公開した。今回のリリースはAIエージェント機能の強化が中心で、他のアプリケーションで開始したCopilotやClaudeのエージェントセッションをVS Code側から引き継いで作業を継続できる機能や、あるモデルの作業内容を別のモデルにレビューさせる実験的機能「Rubber Duck」が新たに追加された。 外部エージェントセッションの引き継ぎ 新設定chat.agentSessions.showExternalを有効にすると、VS Codeは最近更新された外部セッションを最大2件まで表示し、セッションリストの「External」サブメニューから表示対象を選べるようになる。ターミナルやブラウザなど別環境で始めたエージェントとの対話をそのままVS Code上に呼び出して継続作業できるのが狙いで、エージェントは新しい「エージェントホストプロトコル(AHP)」に基づく専用プロセスとして実行される仕組みに刷新された。これにより複数のVS Codeウィンドウから同一セッションへ同時に接続することも可能になっている。なお、Copilotエージェントの挙動はCopilot SDKによってCopilot CLIなど他のCopilot製品と統一されている。 検証機能「Rubber Duck」 実験的機能として追加された「Rubber Duck」は、Copilotのエージェントホストセッション内で/rubber-duckコマンドを実行することで利用できる。あるモデルが行った作業を、性質の異なる補完的なモデルに検証させ、見落としがちな詳細やエッジケースを洗い出す「第二意見」を得るための仕組みだ。単一モデルの出力をそのまま信頼するのではなく、モデル間のクロスチェックによって品質を担保するアプローチで、AIエージェントの活用が進む中での検証手段の一つとして位置づけられる。 そのほかの変更点 エージェント関連ではセッション表示のレイアウトも整理され、設定sessions.layout.singlePaneDetailPanelによりシングルペインレイアウトがデフォルトとなったほか、セッション情報の表示も簡潔化・再配置された。チャット機能では、エディタのようにスクロール時に見出しを固定表示する「スティッキースクロール」が実験的機能として加わり、chat.stickyScroll.enabledなどの設定で有効化できる。またチャットの使用量表示がモデルごとの入力・キャッシュ入力・出力トークン数の内訳を確認できる形に詳細化された。このほか、ローカルのエージェント実行環境をサンドボックス化する機能がオプトイン方式に変更されている。 一連の変更は、外部ツールとの連携やマルチモデルによる相互検証など、開発者がエージェントをより実務的に使いこなすための土台整備という色合いが強い。今後のリリースでも、エージェントホストプロトコルを軸にした機能拡張が続くとみられる。

August 27, 2026