TypeScript 7.0 RC公開、Go言語への書き直しで最大10倍の速度向上を達成

概要 Microsoftは2026年7月1日、TypeScript 7.0のリリース候補(RC)を正式に公開した。このバージョンはJavaScript/TypeScriptで書かれた従来の実装をGo言語で全面的に書き直したものであり、TypeScript 6.0と比較して最大10倍の速度向上を実現している。実際の測定例として、VS Codeのビルド時間が77秒から7秒へと大幅に短縮されており、実用的な場面での改善効果が明確に確認されている。安定版のGA(一般提供)はRCから約1か月以内に予定されており、正式リリースが近づいている。 技術的な詳細 速度向上の主な要因はネイティブコードによる実行速度の向上と、並列処理の大幅な強化にある。TypeScript 7.0では、解析・型チェック・出力生成を含む多くのステップをファイルをまたいで並列実行できるようになった。これにより、大規模なコードベースにおいて特に顕著なパフォーマンス改善が期待される。 RCは以下のコマンドでインストールできる。 npm install -D typescript@rc 既存のTypeScript 6.0との並行利用が必要な場合は、@typescript/typescript6パッケージが提供されており、tsc6コマンドで競合を回避しながら両バージョンを共存させることが可能だ。 今後の展望 プログラムAPI(TypeScriptコンパイラをプログラムから操作するAPI)は現時点ではRC版に含まれておらず、TypeScript 7.1での提供が予定されている。既存のツールやライブラリがTypeScriptコンパイラAPIに依存している場合は、7.1の登場を待つ必要がある。Go実装への移行は過去数年で最大規模のアーキテクチャ変更であり、コンパイラの速度ボトルネックに悩む大規模プロジェクトへの影響は大きいと見られる。

July 4, 2026

GodotエンジンがAI生成コードのコントリビューションを禁止——「開発者自身がコードを理解できない」を理由に新ポリシー

概要 オープンソースゲームエンジンGodotの開発チームは2026年6月30日、AI生成コードのプルリクエスト(PR)受け付けを実質的に禁止する新しいコントリビューションポリシーを発表した。新ポリシーでは、自律的なAIエージェントによるコードや「バイブコーディング」(AIに任せたコーディング)によるPRを提出した開発者はGitHubから自動的に追放されると明記されている。AIの使用は、コード補完や正規表現の生成など軽微な補助的作業に限定される。 禁止の背景と理由 リードメンテナーのRémi Verscheldeは以前より、AIが大量生成したPRを「消耗するだけでモチベーションを下げる無駄な時間」と評してきた。今回の新ポリシーでは、その理由が明確に述べられている。「AIはコードに責任を持てず、AIを多用する開発者は自分のコードを十分に理解できないため、レビューのフィードバックに対応できない」というのが主な根拠だ。AIコードのレビューは人間の成長につながらず、レビュアーのモチベーションを著しく低下させることも指摘されている。 新ポリシーの具体的なルール 新ポリシーは主に2つの制限を設けている。まず、マージ済みPRが3件以下の新規コントリビューターは、メンテナーの明示的な承認なしに新機能の追加や大規模なリファクタリングを提出できなくなった。これは、AIツールを多用する経験の浅い開発者を対象としたものだ。次に、AI生成コードについては、自律的なエージェントが生成したコードや実質的な部分でAIが生成したコードの提出を禁止する。これに加えて、PR上での議論を含めた開発者間のコミュニケーションにおいてもAI生成テキストの使用は禁止されている(翻訳ボットは例外)。 業界への示唆 Godotの決定は、AI時代のオープンソース開発における「コード品質と責任」をめぐる問題提起として注目されている。インフォシスの会長Nandan Nilekaniも「ソフトウェア開発ライフサイクルにはまだやるべきことが多くあり、文脈こそが最も重要だ」と述べており、記事はこうした発言を引きながら、AIがその重要な文脈をまだ十分に把握できていない点を指摘している。「バイブコーディング」の限界を示す声は業界全体でも高まっている。Godotの対応は、急速に普及するAIコーディングツールに対して、OSS開発コミュニティが規律ある姿勢で向き合う先進的な事例となるかもしれない。

July 3, 2026

Git 2.55リリース:Rustサポートがデフォルトになり過去コミット修正用の新コマンドも登場

概要 Git 2.55が2026年6月29日に正式リリースされた。100名以上のコントリビューターが参加した本バージョンでは、Rustで実装されたコンポーネントがデフォルトでビルドされるようになったほか、過去コミットへの変更適用を簡略化する新コマンドgit history fixupが追加されるなど、開発者体験を向上させる多くの機能が盛り込まれた。 git history fixup:従来の煩雑な操作を一本化 従来、ステージ済みの変更を過去の特定コミットに取り込む作業は、git commit --fixupとgit rebase --autosquashを組み合わせる二段階の操作が必要だった。Git 2.55で導入されたgit history fixup <commit>は、この一連の流れを単一コマンドで実現する。指定したコミット以降のコミット履歴を自動的に再生成するため、意図が明確になり操作ミスのリスクも低減される。 パフォーマンスとシステム統合の強化 ファイルシステムモニターのLinux対応: macOSやWindowsですでに利用可能だったファイルシステムモニターがLinuxでも利用できるようになった。Linuxのinotifyサブシステムを活用し、デーモンがファイル変更パスを監視することで、従来のリポジトリ全体スキャンに代わるより効率的なgit statusの高速化が実現された。 並列フック実行: hook.<name>.parallel = trueという設定を追加することで、リントやユニットテストといった独立した複数のpre-commitフックを並行実行できるようになった。同時実行数はhook.jobsパラメータで制御可能だ。 ビットマップ生成の高速化: リーチャビリティビットマップの生成アルゴリズムが最適化され、大規模リポジトリでの処理時間が約612秒から294秒へとほぼ半減した。疑似マージビットマップの改善によってトラバーサルのスピードアップを維持しながら、メタデータ生成のオーバーヘッドも削減されている。 インクリメンタルなマルチパックインデックス更新: git repack --write-midx=incrementalコマンドにより、大規模リポジトリのメンテナンス時にメタデータを全件書き換えずに段階的に更新できるようになった。幾何学的な再パック戦略と組み合わせることで、パックレイヤー数が対数的に保たれる。 そのほかの注目変更点 --graph-lane-limitオプションで過剰に広がるコミットグラフを抑制できるようになり、ログ表示の可読性が向上した。また、複数のリモートをまとめた「リモートグループ」への同時pushサポートにより、複数拠点へのデプロイ操作が効率化された。セキュリティ面ではサーバーからの端末制御シーケンスをマスキングする機能も追加されている。

July 2, 2026

Spring AI 2.0正式リリース——Java向けAIアプリ基盤が成熟、Spring Boot 4.1もgRPC・SSRF対策を追加

Spring AI 2.0 GAの概要 Spring AI 2.0が2026年6月12日に正式リリース(GA)となり、Maven Centralから利用可能になった。Spring Boot 4.0/4.1およびSpring Framework 7.0を前提とし、Javaエコシステム向けのAIアプリケーション開発基盤として大きく成熟した。Jackson 3へのアップグレードによりJSONシリアライゼーションが改善され、JSpecify注釈による完全なNull安全性も導入されている。オプション処理はビルダーパターンとイミュータブル設計で大規模にリファクタリングされ、コードの予測可能性が高まった。 対応するAIプロバイダーはOpenAI・Anthropic・Amazon Bedrock・Google GenAI・Mistral AI・DeepSeek・Ollamaなど多岐にわたり、各プロバイダーはSDK単一バージョンに統一されて依存関係が整理されている。Azure CosmosDBとのベクター検索統合もサポートされ、RAG(Retrieval-Augmented Generation)パターンの実装が容易になった。 エージェント機能とMCP統合 Spring AI 2.0ではエージェント開発向けの機能が強化された。ToolCallingAdvisorがアドバイザーチェーンに統合され、ツール呼び出しの全ラウンドトリップを一元管理できる。ToolSearchToolCallingAdvisorは数百ものツールへのスケーリングを可能にし、大規模なエージェント設計を支援する。またStructuredOutputValidationAdvisorは自動修正機能付きの構造化出力バリデーションを提供し、LLMの出力を型安全に扱うユースケースで活用できる。 Model Context Protocol(MCP)はAI統合の共通プロトコルとして定着しつつあり、Spring AIはMCP Java SDK 2.0.0を搭載した。@McpToolなどの注釈駆動プログラミングモデルが利用可能で、既存のSpringコンポーネントをMCPツールとして公開する作業が大幅に簡略化されている。コミュニティからはElevenLabsを使った音声統合、自己修正型の構造化出力、エージェントスキル構築に関するコンテンツも公開されており、実用事例の蓄積が進んでいる。 Spring Boot 4.1の主な新機能 Spring Boot 4.1も同時期にリリースされ、多数の機能追加とCVEパッチが含まれている。注目すべき新機能の一つがgRPCの自動設定で、NettyバックのスタンドアロンサーバーとHTTP/2上でのServlet統合の両方に対応する。これまでgRPCをSpring Bootと組み合わせるには手動設定が必要だったが、スターター依存関係と少量のプロパティ設定だけで動作するようになった。 セキュリティ面ではSSRF(Server-Side Request Forgery)対策としてInetAddressFilterが追加された。リアクティブおよびブロッキング両方のHTTPクライアントで特定アドレスへの送信リクエストをブロックでき、クラウド環境のメタデータエンドポイントへの意図しないアクセスを防ぐのに役立つ。その他のセキュリティ改善としてLDAP組み込みサーバーへのLDAPS(SSL)サポートやRabbitMQ StreamsへのSSL自動設定も含まれている。 MongoDB連携とKotlin 2.3サポート Spring Boot 4.1の目玉機能の一つがSpring BatchのMongoDBバックエンド対応だ。新たに追加されたspring-boot-starter-batch-data-mongodbにより、これまでバッチ処理のメタデータ保存にJDBCデータベースが必須だった制約が解消された。MongoDBのみで運用するチームが別途リレーショナルDBを維持する必要がなくなり、インフラの簡素化が期待できる。ただしMongoDBのトランザクションサポートのためにレプリカセット構成が前提となる点は注意が必要だ。 Kotlin対応ではKotlin 2.3.21とKotlin Serialization 1.11.0が採用された。またspring.datasource.connection-fetch=lazyプロパティによる遅延DataSource接続の設定が可能になり、不必要な接続初期化を避けてリソース消費を抑制できる。GraalVMネイティブイメージ向けのサポートも改善され、Spring Batchコンポーネントでランタイムヒントが自動登録されるようになった。一方でDerbyデータベースのサポートは非推奨化され、H2またはHSQLへの移行が推奨されている。 セキュリティリリースの加速と今後の展望 「This Week in Spring」でJosh Longは、2026年を通じてCVEパッチのリリース頻度が劇的に増加していることを強調した。AIが脆弱性の特定プロセスを大幅に効率化したことで、従来の月1〜2件から大量のCVEが報告されるようになっており、アプリケーションのアップグレードをMaven Centralへのパッチ反映後すみやかに行う重要性が増している。Spring AI 2.0とSpring Boot 4.1のリリースにより、JavaエコシステムはAI時代のアプリケーション開発に向けた成熟した基盤を持つこととなった。

July 1, 2026

Node.js 26.4.0リリース:仮想ファイルシステムサポートやパッケージマップなど多数の新機能追加

概要 Node.jsチームは2026年6月24日、Current版の最新リリースとなるNode.js 26.4.0を公開した。リリース担当はAntoine du Hamel(@aduh95)氏。本バージョンでは、仮想ファイルシステム(VFS)サブシステムの最小実装、パッケージマップを用いたモジュール解決、TLS証明書圧縮オプションなど、開発者の利便性とシステムの柔軟性を高める機能が複数追加された。 主要な新機能 仮想ファイルシステム(node:vfs) 最も注目すべき新機能は、node:vfs モジュールとして提供される仮想ファイルシステム(VFS)サブシステムの最小実装だ。これにより node:fs/promises のAPI呼び出しをマウントされたVFSインスタンスへディスパッチできるようになり、テストや組み込みシナリオでファイルシステムを仮想化する際の基盤となる。 パッケージマップによるモジュール解決 ローダーに**パッケージマップ(Package Maps)**機能が追加された(Maël Nison氏の貢献)。これはモジュール識別子の解決をカスタマイズする仕組みで、モジュールのエイリアスやリマップが柔軟に行えるようになる。大規模なモノレポ構成やカスタムモジュールロード戦略を採用しているプロジェクトに特に有用だ。 TLS証明書圧縮 Tim Perry氏が実装した certificateCompression オプションにより、TLSハンドシェイク時の証明書データを圧縮できるようになった。証明書サイズの削減によりネットワーク帯域幅の節約と接続確立の高速化が期待される。 その他の注目機能 FS改善: readFile() でユーザー提供のバッファを使用できるようになり、メモリ効率が向上(Matteo Collina氏) HTTP改善: closeIdleConnections() がpre-requestソケットもクローズするよう改善され、接続管理が最適化 NET強化: setKeepAlive() が TCP_KEEPINTVL と TCP_KEEPCNT をサポートし、TCPキープアライブの詳細な制御が可能に(Guy Bedford氏) dgram: bindSync() と connectSync() という同期メソッドが追加された FFI: AArch64およびx86_64向けの実験的な高速FFI呼び出しAPIが実装され、ほぼ全プラットフォームでのサポートも追加 パフォーマンス改善とバグ修正 パフォーマンス面では複数の最適化が施された。Buffer.prototype.copy() の高速化、simdutfを活用したUTF-8バイト長計算の高速化、WHATWGストリームのホットパスにおけるメモリ割り当ての削減、addAbortListener のオプションキャッシングによる高速化などが含まれる。 セキュリティ面では、CryptoモジュールにおけるHash._transformの未処理エラーの修正、BN_get_word エラーを無視しない修正(Crypto/TLS)、SQLiteのスタック使用後スコープバグの修正が行われた。バグ修正としては、WindowsでEPERMエラーをENOTEMPTYエラーとして誤扱いしない修正、URLSearchParams(null) が null= を正しく生成するよう修正なども含まれる。 依存関係の更新 依存ライブラリも複数アップデートされた。主なものとして npm 11.17.0、SQLite 3.53.2、libffi 3.6.0、acorn 8.17.0、ngtcp2 1.23.0、nghttp3 1.16.0が更新された。また blockList APIの安定性ステータスがリリース候補(Release Candidate)に引き上げられ、正式安定化に向けて一歩前進した。

June 27, 2026

Go 1.27 RC1公開——ジェネリックメソッドを筆頭に言語・標準ライブラリを大幅強化

概要 2026年6月18日、Goチームはバージョン1.27の最初のリリース候補(RC1)を公開した。正式リリースは同年8月を予定しており、Goチームは本番環境や単体テストでのRCの検証とフィードバックの送付を呼びかけている。バイナリはgo installコマンドまたはgo.dev/dl/#go1.27rc1から入手できる。 最大の目玉は言語仕様への「ジェネリックメソッド」の追加だ。これまでGoのジェネリクスは関数をパッケージスコープで宣言する形に限られていたが、Go 1.27ではメソッド宣言が独自の型パラメータを持てるようになった。なおインターフェースのメソッドには型パラメータを宣言できない制約は残る。言語仕様の他の変更として、構造体リテラルのキーにトップレベルのフィールド名だけでなく有効なフィールドセレクタを使えるようになったこと、ジェネリック関数を関数型変数に代入するすべてのコンテキストで型推論が適用されるよう一般化されたことが挙げられる。 標準ライブラリの主要な追加 Go 1.27の標準ライブラリで最も影響が大きいのはencoding/json/v2とjsontextパッケージの追加だ。encoding/json/v2は既存のencoding/jsonを大幅に刷新したもので、無効なUTF-8やJSONオブジェクト内の重複キーを拒否するなどより厳密な挙動を持つ。既存のencoding/json APIはv2実装を内部で使いつつ後方互換性を維持するが、GOEXPERIMENT=nojsonv2で旧動作に戻すことも可能だ。またjsontextパッケージが低レベルなJSON構文処理のためのエンコーダ・デコーダを提供する。 暗号関係では、FIPS 204で規定されたML-DSA署名スキームを実装したcrypto/mldsaパッケージが追加された。crypto/tlsはMLKEM1024鍵交換をサポートし、crypto/x509もML-DSAに対応した。その他の新パッケージとして、UUIDの生成とパースを行うuuid、実験的なポータブルSIMDサポートを提供するsimdおよびsimd/archsimd(GOEXPERIMENT=simdで有効化)がある。ユーティリティ面ではbytesとstringsにCutLast()関数が、math/rand/v2にジェネリックなN()メソッドが、net/urlにURL.Clone()とValues.Clone()が追加されている。unicodeパッケージはUnicode 17へアップグレードされた。 ランタイムとツールの改善 ランタイムではメモリ割り当て速度の改善が注目される。サイズ特化の割り当てルーチンにより80バイト未満の小さい割り当てが最大30%高速化し、割り当て集約的なプログラム全体では約1%の性能向上が見込まれる(バイナリサイズは約60KB増加)。Go 1.26で実験的に導入されたゴルーチンリークプロファイル(/debug/pprof/goroutineleak)が正式機能に昇格した。またasynctimerchan GODEBUG設定が完全廃止となり、timeパッケージのチャネルは常にバッファなし(同期)で動作する。 ツール面ではgo docがpackage@version構文をサポートし、特定バージョンのパッケージドキュメントを参照できるようになった。go fixにatomictypes、embedlit、slicesbackward、unsafefuncsの新しいモダナイズツールが追加された。go mod tidyはGo 1.27以降のgo.modで重複したrequireブロックを自動マージし、最大2ブロック(直接依存・間接依存)に整理する。コンパイラのcompile・link・asm・cgo等のツールが@file形式のレスポンスファイルに対応した。プラットフォームではmacOS 13 Ventura以降が必須となり、それ以前のバージョンはサポート対象外になった。bzrバージョン管理システムのサポートも削除されている。

June 24, 2026

TypeScript 7.0 RCリリース:GoによるネイティブコンパイラがVS Codeのビルドを77秒から7.5秒に短縮

概要 Microsoftは2026年6月18日、TypeScript 7.0のリリース候補(RC)を公開した。最大の変更点は、コンパイラを従来のTypeScript(自己ホスト型)からGoで書き直したことにある。「Project Corsa」と呼ばれるこのプロジェクトは、既存の型チェックセマンティクスを保ちながら移植(再設計ではなく)を行い、ネイティブバイナリの実行速度(3〜4倍)と、Goのゴルーチンによる共有メモリ並列処理(2〜3倍)を組み合わせることで、最大10倍超の高速化を達成した。Bloomberg、Figma、Google、Slack、Vercelなど複数の大規模チームが同様のスピードアップを報告している。 パフォーマンスの改善 パフォーマンス向上の数値は顕著だ。約150万行のコードを持つVS Codeリポジトリでは、ビルド時間が77.8秒から7.5秒へと10.4倍高速化された。エディタのプロジェクト読み込みは9.6秒から1.2秒へ8倍改善し、メモリ使用量はおよそ半減した。言語サーバーの信頼性も20倍以上向上し、失敗件数が大幅に減少している。インストールは npm install -D typescript@rc で行えるほか、VS Code向けの「TypeScript Native Preview」拡張機能から即座に利用できる。 GoをRustではなく採用した理由 言語選定においてGoとRustが候補に挙がったが、TypeScriptコンパイラが内部で持つ抽象構文木(AST)とシンボルテーブル間の循環参照がRustの所有権モデルと相性が悪く、大幅な構造変更なしには実現できない状況だった。一方、ガベージコレクションを持つGoは既存のアーキテクチャに自然にマッピングでき、型チェックのセマンティクスを維持したまま約1年でのポートを可能にした。 新機能と並列処理フラグ 7.0では並列処理を制御する3つの新しいコンパイラフラグが追加された。--checkers N(デフォルト: 4)は型チェッカーの並列ワーカー数、--builders N(デフォルト: 16)はプロジェクト参照の並列ビルド数を制御し、--singleThreaded はデバッグやリソースが限られたCI環境向けに並列処理を無効化する。--watch モードはParcelのファイルウォッチャーをGoに移植したものを使用しており、ポーリングベースの従来実装に比べてリソース効率が大幅に向上した。 破壊的変更と移行上の注意点 TypeScript 5.xから移行するチームは tsconfig.json の見直しが必要になる。主な変更点は、rootDir のデフォルトが ./ になった(src/ を使うプロジェクトは明示的に設定が必要)、types のデフォルトが空配列になり @types/ パッケージの自動インクルードがなくなった点などだ。また、target: es5 や moduleResolution: node、baseUrl、AMD/UMD/SystemJS形式のモジュールは削除されている。テンプレートリテラル型の推論では絵文字がUTF-16サロゲートペアではなく1コードポイントとして扱われるようになった。 重要な制約として、typescript-eslintやts-morphなどのツールが依存するプログラマティックAPIの安定化はTypeScript 7.1を予定しており、「少なくとも数か月先」とされている。そのため現時点では tsc CLIとCI型チェックに7.0を使いながら、typescript-eslintなどのツールは npm install -D typescript@npm:@typescript/typescript6 でインストールした6.0のエイリアスを維持する段階的な移行が推奨される。GA版は今後約1か月以内のリリースが見込まれている。

June 22, 2026

Node.js 22.x・24.x・26.x に高深刻度脆弱性、2026年6月セキュリティリリースで修正

概要 Node.jsは2026年6月17日(水)、現在サポート中の複数リリースラインを対象とするセキュリティリリースを公開した。影響を受けるのは 26.x・24.x・22.x の3ラインで、いずれも最高深刻度が HIGH(高) に分類されている。Node.jsチームはすべてのユーザーに対して速やかな更新を強く推奨している。 影響を受けるバージョン 今回のセキュリティリリースは、現行のアクティブおよびメンテナンス対象リリースラインすべてに影響する。 リリースライン 最高深刻度 26.x(最新版) HIGH 24.x(LTS) HIGH 22.x(LTS) HIGH 脆弱性の具体的な CVE 番号や技術的詳細は、リリース公開とあわせて順次開示される。セキュリティポリシーに従い、悪用リスク低減のため詳細情報の公開はリリース後に行われる。 推奨される対応 Node.js を本番環境で利用しているユーザーおよび組織は、以下の対応を優先的に実施することが求められる。 最新パッチバージョンへのアップグレード: 利用しているリリースラインの最新版に更新する サポート対象バージョンの確認: EOL(サポート終了)バージョンを使用している場合は、LTS バージョンへの移行を検討する セキュリティ通知の購読: Node.js 公式の低頻度アナウンスメーリングリスト「nodejs-sec」に登録することで、今後のセキュリティ情報を迅速に受け取れる Node.js のリリーススケジュールや EOL 情報は、GitHub の release ページで確認できる。

June 17, 2026

TIOBE 2026年6月:RustがTIOBE史上最高位の12位に到達、Pythonは19%を下回る

概要 2026年6月版のTIOBEプログラミング言語人気指数が公開され、複数の注目すべき変化が確認された。最大のトピックはRustの台頭で、同言語はTIOBE指数史上最高位となる12位を記録した。またPythonは18.96%まで人気シェアが後退し、2026年を通じて続いてきた下降傾向が継続。C++がJavaを再び上回って3位に返り咲くなど、システムプログラミング言語の復権が鮮明になっている。 Rustの歴史的高位 今月最大のニュースはRustの12位到達だ。これはTIOBE指数を通じてRustが記録した中で最も高い順位となる。TIOBE CEOのPaul Jansenはわずか2か月前、Rustは約1年間にわたってランクを上げられていないとして「プラトー(停滞)」に達した可能性を示唆していた。しかし今回の躍進によってその見方は修正され、Jansenはトップ10入りが以前よりも現実的な展望に見えてきたとコメントしている。メモリ安全性への注目やシステムプログラミング領域でのC/C++代替としての採用が、Rustの継続的な人気拡大を後押しとしている。 PythonとC・C++・Javaの動向 首位のPythonは18.96%(前月比:19.98%から低下)となり、TIOBE史上最高水準に達した後の下落傾向が続いている。AIブームによって押し上げられた人気が一定程度落ち着いてきた可能性を示唆する動きだ。2位のCは10.77%でランクを維持しており、3位と4位ではC++とJavaが再び入れ替わった。C++が3位を奪回し、Javaは4位に後退している。この2言語の順位争いは2026年を通じて最も不安定な部分となっており、両言語が頻繁に位置を交換している。 システムプログラミング言語の存在感 今月のTIOBE指数は全体として、システムプログラミング言語の根強い存在感を示す内容となった。C、C++、そしてRustがいずれも上位圏に位置しており、Rustに至っては史上最高位を更新した。組み込みシステムや高性能コンピューティング、セキュリティ重視の分野でのシステム言語需要が衰えていないことが背景にある。AIや機械学習の分野でPythonの独占的地位が当然視されてきた一方、インフラ・低レイヤーでの開発においてはパフォーマンスと安全性を兼ね備えたシステム言語が改めて注目されている。

June 16, 2026

WWDC26でSwift 6.4リリース——Android公式SDK・非同期defer・@c属性など開発者向け機能が多数追加

概要 2026年6月8〜12日に開催されたAppleの開発者向けカンファレンスWWDC 2026において、Swift 6.4が正式にリリースされた。今回のリリースでは、クロスプラットフォーム対応の大幅な拡張としてAndroid向け公式Swift SDKの提供が最も注目される。これはSwift 6.3で初めて同SDKが同梱されたことに続く進展であり、開発者はSwiftでネイティブなAndroidアプリを構築したり、既存のKotlin/Javaアプリとの連携を実現できるようになる。組み込み向けSwift(Embedded Swift)も引き続き改善が続けられており、CとのInteroperabilityやデバッグサポートが強化されている。 また、Swift Package Managerには全プラットフォーム共通のビルドエンジンであるSwift Buildのプレビューが統合されており(現時点ではオプトイン)、よりクロスプラットフォームで一貫したビルド体験を目指した取り組みが進められている。WebAssemblyを介したJavaScriptブリッジの高速化も含まれており、Swiftのウェブ方面での活用の幅も引き続き広がっている。 言語機能の強化 Swift 6.4ではいくつかの重要な言語仕様の追加・改善が行われた。 @c 属性によるC言語へのSwift関数エクスポートが新たに導入された。この属性を付けるだけで、対応するCヘッダーの宣言が自動生成されるため、これまで手作業が必要だったブリッジングの手間が大幅に削減される。 並行処理(Concurrency)まわりでは、weak let プロパティがSendable型でサポートされ、逆に~Sendableを使ってSendable適合をオプトアウトすることも可能になった。また、Continuation<Success, Failure> 型においてダブルレジューム(二重再開)がコンパイル時エラーとして検出されるようになり、実行時オーバーヘッドなしに安全性が向上した。コンパイラによる並行処理の診断も精度が向上し、Taskブロック内のエラーハンドリングパターンなど、これまで見逃されていた問題を検出できるようになった。 可用性アノテーションには @available(anyAppleOS 27, *) という省略構文が追加された。従来はiOS・macOS・watchOS・tvOS・visionOSを個別に列挙する必要があったが、このanyAppleOSショートハンドで一括指定できる。@diagnose 属性により宣言単位での警告制御も可能になった。さらに、インポートしたモジュール間の命名衝突を解消するための:: 構文によるモジュールセレクターが導入されている。 パフォーマンスとライブラリの改善 パフォーマンス面では、FoundationのURL解析が最大4倍高速化されたことが発表された。これはURLの頻繁な処理を行うアプリケーションにとって大きな恩恵となる。 @inline(never) / @inline(always) でインライン展開を明示的に制御できる機能と、@specialized によるジェネリクスのプリコンパイル特殊化もサポートされ、パフォーマンスクリティカルなコードの最適化手段が充実した。 安全性の観点では、新しい参照型 Ref<T> と MutableRef<T> が追加され、これまでunsafeなポインターに頼らざるを得なかった場面でより安全な記述が可能になった。 defer 文の非同期対応も注目される改善のひとつだ。関数がreturnまたはthrowを行う際にも非同期クリーンアップ処理が保証されるようになり、リソース管理のコードがより直感的に書けるようになった。また、for-inループがSpanやInlineArrayなどのnoncopyable型に対応し、不要なコピーを排除したパフォーマンス重視のコードが書きやすくなっている。 テストと移行性 Swift Testingフレームワークに対してXCTestとのスムーズな段階的移行が可能になるような互換性改善が行われた。既存のXCTestベースのテストスイートをそのまま保ちながら、新しいSwift Testingに段階的に移行できる体制が整いつつある。 今回のWWDC26でのSwift 6.4リリースは、Appleプラットフォーム外へのSwiftの広がりを加速させつつ、言語の安全性・パフォーマンス・開発体験を同時に高める内容となっており、Swift採用を検討するプロジェクトにとっても重要なマイルストーンとなる。

June 16, 2026