Apache Groovy 6.0が正式リリース、レキサー・パーサーの内部刷新で性能向上

概要 JVM上で動作する動的プログラミング言語Apache Groovyの開発チームは9月22日、メジャーバージョンとなる「Groovy 6.0.0」を正式リリースした。3回のリリース候補(RC)を経てのGA(一般提供)到達となる。公式アナウンスによれば、本リリースには10件のバグ修正・改善が含まれている。InfoQによれば、あわせて依存関係の更新も行われている。詳細な変更点は公式サイトのダウンロードページおよびJIRA上のリリースノートで確認できるとしている。 レキサー・パーサーの内部実装刷新 今回のリリースで特に注目されるのが、字句解析(レキサー)および構文解析(パーサー)の性能改善だ。InfoQのJava News Roundupによれば、具体的には以下の4点の内部実装変更が行われている。 数値リテラルの断片を文字クラスへとフラット化 ASCII識別子の処理を、述語を用いないDFA(決定性有限オートマトン)ベースの経路に分離 正規表現ベースだったレキサーの述語処理を、直接的な文字比較へ置き換え アノテーション要素の値をゲーティングし、AdaptivePredictが代入式を探索しないようにする これらはいずれもコンパイル時の字句・構文解析処理を効率化するための最適化であり、正規表現マッチングや述語評価に依存していた処理経路を、より高速な文字単位の判定やDFAベースの処理へ置き換えることで、パーサー全体の処理性能を底上げする狙いがあるとみられる。処理系内部の実装変更が中心であるため、既存のGroovyコードの互換性への影響は限定的と考えられる。 位置づけと今後 Groovyはアナウンス文中で「a multi-faceted programming language for the JVM(JVM向けの多面的なプログラミング言語)」と自己紹介されている通り、動的型付けとJavaとの高い相互運用性を両立させる言語として、Gradleのビルドスクリプトをはじめ幅広い用途で使われてきた。今回のメジャーバージョンアップは、InfoQによれば新機能として位置づけられるレキサー・パーサーの性能改善に加え、バグ修正と依存関係の更新を含むリリースといえる。 なお同時期には、GPUカーネル開発向けのTileContextクラスを追加したTornadoVM 7.0、コンパイラ最適化を拡張したGraalVM 25.4、Jakarta Persistence 4.0対応を進めるHibernate ORM 8.0のベータ版、32件のCVEを修正したQuarkus 3.39.5、Java 27対応とWindows環境で45%の性能改善を実現したGradle 9.8、最終RC候補とされるMaven 4.0 RC7など、JVMエコシステム全体で活発なアップデートが相次いでおり、Groovy 6.0のリリースもこの流れの一環として位置づけられる。

September 28, 2026

Node.js 26.10.0リリース、util.throttle()/debounce()やcrypto.parsePKCS12()をコアに追加

概要 Node.jsプロジェクトは9月22日、Currentライン最新版となる「Node.js 26.10.0」を公開した。リリースは@aduh95氏が担当している。今回の目玉は、これまでnpmパッケージに頼らざるを得なかったutil.debounce()とutil.throttle()がコアAPIとして取り込まれたことだ。実装を手掛けたJames M Snell氏は、外部パッケージに頼らずとも標準ライブラリに「ただ存在している(Just There)」ことの価値を重視したと述べており、レビュアーのMatteo Collina氏も「ほぼすべてのアプリケーションで使っている」とその実用性を評価している。加えてcrypto.parsePKCS12()、fs.openAsBlobSync()など、実務でよく使われる機能のコア統合が目立つリリースとなった。 主要な新API crypto.parsePKCS12()は、.p12/.pfx形式の証明書バンドルから秘密鍵と証明書、追加の証明書チェーンを一度に取り出せる新関数で、戻り値にはprivateKey・certificate・additionalCertificatesが含まれる。従来はOpenSSLのコマンドラインツールやnode-forgeのようなサードパーティ製ライブラリに頼る必要があった処理を、Node.js単体で完結できるようになる。 ファイルシステム関連ではfs.openAsBlobSync()が追加され、ファイルを同期的にBlobとして開けるようになった。非同期APIを介さずにWeb標準のBlobインターフェースでファイルへアクセスできる点が特徴だ。またネットワーク周りでは、net.BoundSocketをワーカースレッドや子プロセスへ転送できるようになり、SQLiteモジュールではundefined値を渡すとSQLのNULLとして扱われるよう挙動が明確化された。 パフォーマンス計測とその他の変更 perf_hooksにはスライディングウィンドウ方式でレイテンシ分布を追跡するSlidingWindowHistogramクラスが実装され、QRDE(Quantile-Respectful Density Estimate、分位点尊重密度推定)による統計分析にも対応した。長時間稼働するサーバーのレイテンシ傾向を、直近の時間枠に絞って観測しやすくなる。あわせて未処理のPromise警告を抑止するutil.markPromiseAsHandled()も追加されている。 実験的機能である仮想ファイルシステム(VFS)まわりも拡張され、node:ffiがマウント済みのVFSから直接ネイティブライブラリを読み込めるようになったほか、不正なFFIパラメータに対するエラーハンドリングも改善された。このほかHTTP/2やstream、TLS、子プロセスなど広範なモジュールにわたる修正が多数含まれており、crypto関連の堅牢化やstreamのバッファ管理まわりの性能改善も行われている。 位置づけと今後 26.10.0はLTSではなくCurrentラインのリリースであるため、最新APIをいち早く試せる一方、長期的な安定運用を求める環境ではLTS版への追従が推奨される。今回コアに統合されたutil.throttle()/debounce()のように、開発現場で定番となっていたユーティリティを標準ライブラリに取り込む流れは今後も続くとみられ、次期LTS候補への機能反映にも注目が集まる。

September 26, 2026

PHP、8.6.0 RC1を含む5バージョンを同時リリース——FastCGIのACLバイパスなど11件のCVEを修正

概要 PHP開発チームは2026年9月22日、次期メジャーバージョンPHP 8.6.0の最初のリリース候補(RC1)と、8.5.11・8.4.26のバグ修正/セキュリティ更新、さらに8.3.35・8.2.34のセキュリティ専用更新を合わせた合計5バージョンを一斉に公開した。複数のサポートラインを並行してメンテナンスするPHPの体制がここでも示された形だ。8.6.0 RC1はリリースマネージャーMatteo Beccati氏がタグ付けしたもので、7月2日のAlpha 1、9月10日のBeta 3を経てフィーチャーフリーズに達した節目にあたる。今回のリリースで特に注意が必要なのはセキュリティ面で、FastCGIのACLバイパスやOpenSSLのホスト名検証不備、クロスオリジンでの認証情報漏えいなど、外部にPHPを公開している環境では優先度の高い脆弱性が複数修正されている。 8.6.0 RC1の新機能と非推奨化 RC1はあくまで機能凍結後の検証段階であり、本番環境での利用は想定されていない。開発チームは自身のアプリケーションをRC1でテストし、不具合をGitHubに報告するよう呼びかけている。重大な問題が見つかればRCが追加される可能性もあり、正式版8.6.0のリリースは2026年11月頃を予定している。Alpha 1からRC1までの変更点としては、関数の引数を部分的に固定して新しいcallableを得る「partial function application」、値を範囲内に収める組み込み関数clamp()、リクエスト内でcallable/クロージャの構築を再利用するファーストクラスcallableキャッシュとステートレスクロージャキャッシュ、デフォルト値を持てるようになったreadonlyプロパティ、Date拡張のTime\Duration、新しいポーリングAPI(Io\Poll)とストリームエラーAPIの拡充、PostgreSQL向けのチャンク単位フェッチ(Pdo\Pgsql::ATTR_CHUNK_SIZE)、X-WingやML-KEM768に対応したlibsodium 1.0.22サポートなどが挙げられる。一方で非推奨化リストも長く、array_walk()などへのオブジェクト渡し、is_double/is_long/doublevalといった旧来の型キャスト関数、metaphone()、クラス定数名としての"namespace"の使用などが対象となった。RC段階でもCore・DOM・Intl・Opcache・PDO・Phar・Sockets・Zlibにまたがるメモリ安全性の修正が取り込まれており、UTF-16/32のエンコーディング検出時に発生するuse-after-freeや範囲外読み取り、OSS-Fuzzが検出したアサーション失敗などが解消されている。 安定版とセキュリティ専用版の修正内容 8.5.11(Volker Dusch氏)と8.4.26(Saki Takamachi氏)は、バグ修正とセキュリティ修正を組み合わせた更新版だ。8.5.11ではFPMにおけるUID/GIDのオーバーフロー、ZTSビルド下でのOpcache protect_memoryの競合状態、キャッシュ不能なメソッドに対するtracing JITのクラッシュが修正された。8.4.26では大きな出力長を指定した際のhash_pbkdf2()のバッファオーバーフロー、imagebmp()の速度低下、SNMPやSOAPでのクラッシュ・セグメンテーションフォルト、ZipArchiveの堅牢性向上が図られている。これに対し8.3.35(Jakub Zelenka氏)と8.2.34(Pierrick Charron氏)は純粋なセキュリティ専用リリースで、両バージョンとも新機能開発が終了し、セキュリティ修正のみが提供されるライフサイクル末期にある。8.2は2022年11月にリリースされており、PHPの一般的なライフサイクルモデル(約2年間のバグ修正サポートの後、約1年間のセキュリティ専用サポートを経て終了)に沿えば、サポート終了が近づいている段階だ。なお、php-src リポジトリのgitタグはいずれも9月22日付で作成されているが、各タグのNEWSファイルのヘッダー日付は告知スケジュールに合わせて9月24日となっており、ビルド自体は同一である点は留意しておきたい。 修正されたCVEと今後の対応 今回のサイクルでは11件のCVEに加え、CVE番号のない2件のアドバイザリが修正された。主なものとして、listen.allowed_clientsの部分一致比較に起因するFastCGIのIPv6 ACLバイパス(CVE-2026-91768)、SANミスマッチ後にCNへフォールバックしてしまうOpenSSLのTLSホスト名検証不備(CVE-2026-91769)、ワイルドカードCNマッチング時のOpenSSLヒープバッファオーバーフロー(CVE-2026-91767)、リダイレクト時にクロスオリジンで認証情報が漏えいするHTTPストリームラッパーの脆弱性(CVE-2026-91766、GHSA-fpwc-w8rq-cr92)、SOAPサーバー側のXMLクリーンアップにおける無制限の再帰(CVE-2026-91765)、PharのTAR解析における整数オーバーフロー(CVE-2026-6103)などが挙げられる。これらの修正は8.3.35・8.2.34に加え、8.4.26・8.5.11にもバックポートされている。FastCGIのACLバイパス、OpenSSLのホスト名検証不備、クロスオリジンの認証情報漏えいの3件は、PHPを外部ネットワークに直接公開している場合に特に注意すべき脆弱性と言える。8.2系・8.3系の利用者はまず8.2.34・8.3.35への更新を優先し、8.4系・8.5系の利用者もセキュリティ修正と付随するバグ修正を得るために8.4.26・8.5.11への更新が推奨される。先行して新機能を試したい開発者は、8.6.0 RC1のソースおよびWindows QAビルドをステージング環境で検証し、問題があればGitHubで報告することが求められている。

September 26, 2026

Go製の高速IDE「Rune」がオープンソース化、GPU描画とSSHリモート開発を特徴に

概要 Unstablebuildは9月25日、Go言語で実装したネイティブアプリケーションのIDE「Rune」をオープンソースとして公開した。GPUアクセラレーションによる描画を採用した高速なユーザーインターフェイスが特徴で、ターミナルとコマンドプロンプトの操作を中心に据えた設計となっている。複数ターミナルを同時に扱えるマルチプレクサ機能も搭載し、コマンドライン中心の開発ワークフローを重視するユーザーに向けた選択肢として登場した。 技術的な詳細 Runeは Language Server Protocol に対応し、TypeScript、Go、Python、Rust、Zigをティア1言語として優先的にサポートする。AI統合機能も備えており、APIキーを設定することでOpenAI Codex、Anthropic Claude、Google Geminiといったコーディングエージェントを利用できるほか、ローカル実行のAIモデルにも対応する。 もう一つの柱がリモート開発機能の「SSH workspace」で、SSH経由で複数のマシンをまるでローカル環境であるかのように操作できる。鍵管理などの複雑な設定を必要とせず、通信はエンドツーエンドで自動的に暗号化され、NAT環境を越えた接続にも対応するという。 料金体系とオープンソース化の狙い 利用形態は無料枠と有料プランに分かれており、無料版ではリモート接続が最大2ノードまでに制限される。有料版は月額10ドルで最大10ノードまで利用可能になり、チーム向けの「Rune for teams」は個別見積もりとなる。オープンソース化にあたり、コントリビューターはRuneの売上の一部を受け取れる仕組みが導入される予定であることも明らかにされており、開発への外部参加を促す狙いがうかがえる。

September 25, 2026

Zig作者Andrew Kelley氏、AIコード貢献の全面禁止とGitHubからCodebergへの移行の理由を語る

概要 プログラミング言語Zigの作者Andrew Kelley氏へのインタビューが9月23日に公開され、同氏がAIによるコード貢献を正式に禁止した経緯と、ZigプロジェクトをGitHubからCodebergへ移行した背景が明らかになった。Kelley氏はAI生成のコードを「負の価値を持つ」と断言し、レビュアーの貴重な時間を浪費するだけでなく、初心者がコードを書きながら成長していくというプロジェクトの教育的使命そのものに反すると説明している。 AIコード貢献を禁止した理由 Kelley氏によれば、AIを使った貢献者の多くはツールの使用を隠しながら、生成された出力をあたかも自分自身の成果であるかのように提出してくるという。プロジェクトのレビュー体制には限られたリソースしかなく、Kelley氏はそのリソースを、将来コアチームに加わりうるエンジニアの育成に振り向けたいと考えている。同氏は「AIを使っている人たちは、常に後者のカテゴリに入る。彼らは何も学んでいないし、後でコアチームに加わることもない」と述べ、AI利用がプロジェクトの教育的使命と根本的に相容れないとの立場を示した。この方針は、ZigからRustへの全面書き換えをAIエージェントを用いて行った最近のBunの事例とは対照的であり、Kelley氏はこれを「価値観の相違」を象徴する出来事だと評している。 GitHubからCodebergへの移行 技術面では、GitHub Actions上での継続的インテグレーションが繰り返し停止するなど、CI/CD基盤の不具合が開発の障害になっていたことが移行の直接的なきっかけとなった。加えてKelley氏は、非営利団体であるCodebergの組織構造がZigの価値観により合致すると判断した。同氏は「企業は常に次の収益源を追い求めているが、非営利団体はただ今やっていることを続けようとしているだけだ」と述べ、四半期ごとの収益成長を追い求める営利企業よりも、長期的な安定性を重視する非営利モデルを選好する理由を説明した。今回の移行は、技術的な信頼性の問題と、組織のあり方に関するイデオロギー的な一致という二つの側面を併せ持つ決断だったといえる。 背景と今後 ZigはGhostty(ターミナルエミュレータ)やTigerBeetle(金融向けデータベース)、UberのARM64クロスコンパイル基盤など、実運用のプロジェクトで採用が進んでいる言語である。Kelley氏は2018年に職を辞してZigの開発に専念しており、JavaScriptの低レベルアクセスの欠如、Goのストップ・ザ・ワールド型ガベージコレクション、Rust(1.0以前)の借用チェッカーによる制約、C++のメモリ破壊バグといった既存言語の限界を踏まえてZigを設計した経緯も語られている。AIコード貢献の禁止という方針は、こうしたZigの設計哲学や教育的な運営方針の延長線上にあるものであり、AIエージェントによる開発が急速に広がる中で、オープンソースプロジェクトの人材育成のあり方を問う事例として注目される。

September 24, 2026

Cloudflare、Python WorkersをGA化 FastAPIやDjangoがエッジで直接動作

概要 Cloudflareは9月21日、サーバーレスプラットフォームWorkers上でPythonを実行する「Python Workers」を一般提供(GA)段階に進めたと発表した。2年前にベータ機能として導入されて以来、多くの開発者がすでにPython Workers上でアプリケーションを構築してきたが、今回のGA化により、PythonはJavaScriptと並んでCloudflareデベロッパープラットフォームの第一級言語として正式に位置づけられる。FastAPI、Django、FlaskといったWSGI/ASGI対応の主要Webフレームワークを、JavaScriptのグルーコードを書くことなく、そのままエッジランタイム上で直接実行できるようになった点が最大のポイントだ。 技術的な仕組み Python WorkersはWebAssembly(Wasm)を基盤としており、Cloudflareは2018年からWasmをサポートしてきた実績を土台に、Pyodide(PythonインタプリタをWasmにコンパイルしたプロジェクト)を用いてPythonコードをエッジ上で実行している。さらにCloudflareは、この仕組みを標準化する提案として「PEP 783」を通じて「PyEmscripten」プラットフォームの策定にも関与しており、単なる自社実装にとどまらずPythonエコシステム全体への貢献を図っている。データベース接続についてはカスタムのsocket syscall実装によりTCPソケットを扱えるようにし、PostgreSQLやMySQLの標準的なドライバもそのまま利用可能にした。 開発者への影響 今回のGA化で特に強化されたのが、Workers AI、R2、D1、Hyperdrive、Durable Objects、Queues、Workflowsといった既存のCloudflareサービスとのネイティブ統合だ。型変換の仕組みをランタイムとPython SDKの両方に統合したことで、たとえばキューへのメッセージ送信はself.env.QUEUE.send({"key": "value"})のようにPythonのデータ型をそのまま渡すだけで済むようになり、これまで必要だった複雑なJavaScript相互運用コードを書く必要がなくなった。OpenAIやLangChainなど主要なAI関連ライブラリにも対応しており、Pythonの豊富なエコシステムに慣れた開発者が、使い慣れたパターンとライブラリを活かしながらグローバルに自動スケーリングするアプリケーションをそのまま構築できる点が実務上の大きなメリットとなる。 制限事項と今後の展望 一方で、ネイティブにC/C++/Rustなどの拡張モジュールを含むパッケージについては、Wasm対応が別途必要であり、パッケージエコシステム全体としてはまだ移行途上にある点には留意が必要だ。Cloudflareは今後、パフォーマンスとメモリ効率のさらなる向上、対応パッケージの拡充、そして開発者フィードバックに基づく継続的な改善を進める方針を示しており、PyEmscriptenエコシステムの普及を後押ししていく構えだ。JavaScript以外の言語でサーバーレスエッジ開発を行いたいPython開発者にとって、今回のGA化は本番導入の判断材料となる重要な節目と言えるだろう。

September 24, 2026

Next.jsのImageResponseに緊急パッチ、CVSS9.5のリモートコード実行脆弱性CVE-2026-94545を修正

概要 Vercelが開発するReactフレームワークNext.jsに、深刻度が最高クラスの脆弱性が見つかった。動的にOGP画像などを生成するImageResponse機能(next/og)において、細工されたSVG入力を与えることでNode.jsランタイム上でリモートコード実行(RCE)が可能になるというもので、CVE-2026-94545として登録され、CVSSスコアは9.5(重大)と評価されている。Vercelは9月22日、この問題に対処する緊急のアウトオブバンド・セキュリティアップデートとしてv16.3.6(Active LTS)およびv15.5.26(Maintenance LTS)をリリースし、ユーザーに即時アップデートを呼びかけた。 技術的な詳細と影響範囲 脆弱性の根本原因は、ImageResponseがレイアウトをSVGに変換する際に利用しているライブラリSatoriにある。URLパラメータなど攻撃者が制御可能な値がSVGのコンテンツ・属性・スタイルとして渡される際、出力段階で適切にエスケープされずにSVGコード自体として解釈されてしまうケースがあり、これが上流の別の依存関係の脆弱性と組み合わさることでコード実行に至る。Vercel自身の公式アドバイザリ(GHSA-vcvr-r3jv-pc5j)およびSatori側のアドバイザリ(GHSA-wx4j-mvgx-mqwp)によれば、影響を受けるのはNext.js 16.2.0以上16.3.6未満でNode.jsランタイム上のImageResponseを利用している場合に限られる。Edgeランタイム版のImageResponseは影響を受けず、また15系はRCEの対象外だが、15.5.26には念のための追加のセキュリティ強化が施されている。 対応状況と推奨アクション 修正はシンプルで、16.3系ユーザーはnpm install next@16.3.6、15.5系ユーザーはnpm install next@15.5.26でアップグレードし再デプロイすればよい。即座のアップデートが難しい場合の暫定策として、攻撃者が制御できる値をNode.jsのImageResponseが生成するSVGコンテンツから排除するか、XMLとして適切にエスケープすることが推奨されている。ホスティング事業者のNetlifyも同日中に注意喚起を発表し、自社インフラ上では影響が関数呼び出しのクラッシュにとどまり、コード実行までは至らないと説明しつつも、ImageResponseを使い信頼できない入力(テキストやリクエスト経由で読み込む画像など)を画像生成に利用しているユーザーに対し、直ちにアップグレードして再デプロイするか、脆弱なデプロイプレビューを手動で削除するよう促している。 今後の展望 The Hacker Newsの報道によれば、2026年9月23日時点で公開されているエクスプロイトコードや実際の悪用事例は確認されていない。ただし、CVSS9.5という評価の高さと、ImageResponseがOGP画像生成などで広く使われる機能であることを踏まえると、パッチ未適用の環境は早期に攻撃対象となるリスクがある。今回の一件は、フレームワークが内部で利用するSVGレンダリングライブラリなど、間接的な依存関係の脆弱性がアプリケーション全体の安全性に直結し得ることを改めて示した事例といえる。

September 23, 2026

Java 27正式リリース、G1 GCが全環境デフォルトに、耐量子暗号のTLS 1.3対応も追加

概要 Oracleは9月16日、非LTS(Long-Term Support)版となる「Java 27」を正式リリースした。JDK 25以降では2回目の非LTSリリースにあたり、9件のJEP(JDK Enhancement Proposal)を収録している。目玉はガベージコレクタのG1 GCが全環境でデフォルトになったことと、TLS 1.3向けに耐量子暗号のハイブリッド鍵交換が追加されたことで、パフォーマンスとセキュリティの両面で将来を見据えた強化が図られている。なお非LTS版であるため、サポート期間は次期リリースであるJava 28が予定される2027年3月までの半年間に限られる。現行のLTS版はJava 25(2025年9月リリース)のままだ。 パフォーマンス関連の強化 JEP 523「G1 GCを全環境でデフォルトに」では、これまでCPUコア数が1以下、あるいはメモリが2GB以下といった小規模環境ではSerial GCがデフォルトとして使われていたが、G1 GC自体の改善によって制約の大きいハードウェアでも同等の性能を発揮できるようになったため、全環境でG1 GCがデフォルトに統一された。あわせてJEP 534「Compact Object Headers」もデフォルト化に向けて前進しており、64ビット環境におけるオブジェクトヘッダーを96ビットから64ビットへ削減することで、ヒープの利用効率とデータの局所性を改善する。現時点ではコマンドラインでの明示的な有効化が必要とされている。またJEP 536「JFR In-Process Data Redaction」により、Java Flight Recorderが収集するデータのプロセス内での秘匿処理にも対応した。 セキュリティ:耐量子暗号への対応 セキュリティ面での中心的な変更がJEP 527「Post-Quantum Hybrid Key Exchange for TLS 1.3」だ。これはIETFで策定中のハイブリッド鍵交換仕様を用いてRFC 8446(TLS 1.3)の実装を拡張するもので、既存コードを変更することなく耐量子暗号による鍵交換の恩恵を受けられる点が特徴となっている。Oracleは、標準化されたアルゴリズムを現行のLTS版にも展開し、「Javaエコシステム全体で耐量子暗号を広く利用可能にする」ことをロードマップとして掲げており、今回のJEP 527はその一環に位置づけられる。あわせてJEP 538「PEM Encodings of Cryptographic Objects」が3回目のプレビューを迎え、暗号鍵や証明書、証明書失効リストをPEM形式でエンコードするAPIの整備が進んでいる。 言語機能のプレビュー・インキュベータ 将来の言語進化に向けた実験的機能も複数プレビュー段階を重ねている。JEP 531「Lazy Constants」は3回目、JEP 532「Primitive Types in Patterns, instanceof, and switch」は5回目、JEP 533「Structured Concurrency」は7回目のプレビューとなり、JEP 537「Vector API」は12回目のインキュベータ段階に入った。これらの反復的な改善は、6か月ごとのリリースサイクルの中でイノベーションと企業利用における安定性のバランスを取るJavaの方針を反映したものだ。 エコシステムとの連携・今後の見通し Java Verified Portfolioにも新たな顔ぶれが加わった。OpenJDKのバージョニングにTip & Tailモデルで初めて足並みを揃えた「Helidon 27」、macOS向けにMetalレンダリングパイプラインやテキストコントロールの改善、アクセシビリティ強化を盛り込んだ「JavaFX 27」、そしてJDK 17・21・25・27への対応を拡張したFIPS 140-3準拠の暗号サービスプロバイダー「Oracle Jipher 20」が新たに加わっている。次期JDK 28(2027年3月予定)では6件のJEPが予定されており、Project Valhalla関連のJEP 539「Strict Field Initialization in the JVM」やJEP 401「Value Classes and Objects」のプレビュー入りが見込まれる。これによりVector APIもインキュベーションからプレビューへの昇格が視野に入るなど、Javaの長期的な言語進化が着実に進んでいることがうかがえる。

September 23, 2026

Node.js 26.9.0リリース、FFIを標準有効化しDTLSやWeb Workersなど実験的機能を多数追加

概要 Node.js開発チームは9月16日、最新のCurrentリリースとなる「Node.js 26.9.0」を公開した。今回のリリースの目玉は、これまで--experimental-ffiフラグを指定しないと使えなかった外部関数インターフェース(FFI)モジュールがデフォルトで有効化されたことだ。JavaScriptからネイティブライブラリの関数を直接呼び出せるFFIが標準機能となったことで、C言語などで書かれた既存資産をNode.jsから利用するハードルが下がる。あわせてFFI周りでは、メモリヘルパー引数が欠けている場合に例外を投げる修正や、SharedArrayBufferをエラーメッセージに含める改善など、堅牢性を高める細かな修正も複数取り込まれている。 暗号・パフォーマンス計測まわりの強化 node:cryptoモジュールには、メッセージ認証コード(MAC)を統一的な方式で扱う「Generic MAC API」が新設されたほか、これまでハードコードされていた利用可能な暗号アルゴリズムやハッシュアルゴリズムの一覧を、OpenSSLプロバイダーから動的に検出する仕組みが導入された。あわせてFIPS関連では、--force-fipsに厳密モードを追加し、FIPS準拠状況を診断チャネル経由で通知する機能も加わっている。パフォーマンス計測領域では、ベンチマークを標準化して実行するための新モジュールnode:benchが実装された。ただし同モジュールは開発途中で挙動が調整され、最終的に--experimental-benchフラグの背後に置かれており、現時点では明示的な有効化が必要な実験的機能という位置づけになっている。またperf_hooksのヒストグラムには、平均値の信頼区間を計算するmeanCI APIや、計測データをプロセス間でやり取りするためのCBOR形式でのエクスポート・インポート機能が追加された。 DTLS・VFS・Web Workersなど実験的機能の拡充 ネットワーク領域では、UDP上でセキュアな通信を実現するDTLS(Datagram TLS)の実験的APIが実装された。TLSやQUICと証明書検証のロジックを共通化する取り組みも並行して進められており、IoT用途などUDPベースの暗号化通信を必要とする場面での活用が見込まれる。また、CommonJSおよびESMのモジュールローダーと統合される仮想ファイルシステム(VFS)機能も追加され、ZIPアーカイブをファイルシステムとしてマウントするZipProviderや、マウントされたファイルシステムからネイティブアドオンを読み込む機能が実装された。Single Executable Applications(SEA)機能でも、バンドルされたアセットをこのVFS経由でマウントするよう変更されている。さらに、ブラウザ互換のWeb Workers APIのサポートも今回のリリースで加わり、ワーカーのref/unref制御も可能になった。 そのほかの修正と非推奨化 バグ修正では、Buffer.prototype.indexOfにlone surrogateを検索語として渡した際のクラッシュ、Hmac.digest()が未初期化メモリを返す可能性があった問題、RSA-PSSの過大なsalt処理エラー、HTTP/2で大きなウィンドウサイズ時に発生していた書き込みデッドロックなど、セキュリティやデータ整合性に関わる複数の不具合が修正された。HTTP/2に関しては、RSTによる不完全な読み取りに対するエラー処理と自動ドレインが導入されるのに合わせて、abortedイベントが非推奨となっており、今後はエラーハンドリングベースの実装への移行が推奨される。今回のリリースは実験的機能が多く、FFIのようにデフォルト有効化されたものがある一方、node:benchのように依然としてフラグが必要なものも混在しているため、利用する際はドキュメントで各機能の安定度を確認しておくとよいだろう。

September 19, 2026

VS Code 1.138リリース、Dev Containers内でのエージェント実行やセッション自動整理などエージェント活用機能を強化

概要 Microsoftは9月16日、Visual Studio Codeの月例アップデート「1.138」をリリースした。今回の更新は全体としてAIエージェントを日常的な開発ワークフローに組み込むことを強く意識した内容になっており、隔離された開発環境でのエージェント実行、外部AIツールとのセッション連携、増え続けるセッション履歴の管理自動化など、エージェントを「使い続ける」ことを前提にした機能が中心となっている。単発の機能追加というより、これまで積み上げてきたエージェント関連機能を運用面から補強するアップデートといえる。 Dev Containers内でのエージェントセッション実行 目玉機能は、ローカルフォルダをDev Container環境内でエージェントに実行させられるようになった点だ。設定chat.agentHost.devContainer.enabledを有効にした上でワークスペースピッカーから「Use Dev Container」を選択すると、プロジェクトが定義する依存関係やツールチェーンに揃った隔離環境の中でエージェントが作業するようになる。ホストマシンを直接汚さずに済むため、依存関係の衝突やエージェントによる意図しない変更のリスクを抑えつつ、リポジトリごとに再現性のある実行環境を確保できる。なお本機能の利用にはDockerのインストールが前提となる。 Codexセッションの拡張とセッション管理の自動化 Codexセッションまわりの機能も拡充された。GitHub CopilotとChatGPTのいずれのサブスクリプションを使うか切り替えられるようになったほか、ChatGPTアプリとVS Codeの間でセッションを継続できるようになり、ChatGPTアプリ側のコンピュータ操作機能や、VS Codeに組み込まれたツール・拡張機能・MCPツールへのアクセスも統合された。複数のツールを横断してエージェントを使う開発者にとって、作業の起点をアプリ間で行き来しやすくなる変更だ。 あわせて、プレビュー機能として完了済みセッションの自動整理が導入された。マージ済みのプルリクエストに紐づくセッションをchat.agentSessions.autoMarkAsDoneMergedSessionsAfterDaysで指定した日数後に自動的に「Done」としてマークし、さらにchat.agentSessions.autoDeleteArchivedMergedSessionsAfterDaysで指定した期間が経過すると自動削除できるようになっている。エージェントを並行して多用するほどセッション一覧が肥大化しやすいため、この自動整理は運用上の負担を軽減する狙いがあるとみられる。あわせて、エージェントセッションから直接プルリクエストを作成できるようになり、タイトルや説明、ドラフト状態、マージオプションを1つのフォームでまとめて編集できるようになった。 その他の改善点 このほか、複数セッションの中で入力待ちや確認が必要なものをタスクバーのバッジで知らせる「セッション注意バッジ」がプレビューとして追加された。オートメーション機能はデフォルトで有効化され、チーム間での共有も可能になっている。音声モードには並列で動くエージェント作業間をナビゲーションする機能が加わったほか、ローカルフォルダ・リポジトリ・リモート環境を一つの検索可能なリストにまとめる実験的な統一ワークスペースピッカーも登場した。なお、従来のチャット背景設定chat.agentSessions.backgroundImageLayoutはテーマ別設定に置き換えられ、「Chat: Clear Background」コマンドは「Chat: Set Background…」内の「No Background」オプションに統合されるなど、細かな整理も行われている。今回の一連の変更から、VS Codeがエディタとしての機能拡張だけでなく、複数のAIエージェントを日常的に運用するためのハブとしての性格を強めていることがうかがえる。

September 19, 2026