Pull Request on 2026年10月11日

dotnet/runtimeにマージされたPull RequestをAIで日本語要約

注意点

このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。



#135579 Update MsQuic to 2.5.11 to unblock release/10.0 builds

概要

release/10.0 ブランチのビルドが NuGet の脆弱性警告(NU1904、Warning As Error)で失敗していたため、MsQuic のパッケージバージョンを 2.5.10 から 2.5.11 に更新するバックポートです(#135548 の手動バックポート)。 リビジョンのみのバージョンアップで、リスクは低いとされています。

変更内容

  • eng/Versions.props: MsQuic 関連のバージョンを 2.5.10 → 2.5.11 に更新(+1/-1)

パフォーマンスへの影響

影響なし

関連Issue

  • 元の変更: #135548(バックポート元PR)
  • 脆弱性アドバイザリ: GHSA-w5f4-fx9m-m4q7(Microsoft.Native.Quic.MsQuic.OpenSSL 2.5.10 の重大度 critical の既知の脆弱性)

その他

  • 影響: 社内で発見された問題(顧客報告ではない)。System.Net.Quic.Functional.Tests.csproj で NU1904 エラーが発生し、release/10.0 のビルドが壊れていました。
  • リグレッション分類: 外部要因(External)
  • テスト: CI による確認

#135514 Reduce Kerberos fuzzer duplication

概要

#133606 で追加された Kerberos PAC パーサー向けのファジング基盤を簡素化するPRです。PAC パーサーを DotnetFuzzing に直接リンクし、別途用意されていたヘルパープロジェクトを削除しました。あわせて、ハーネスの起動コードをインストルメントせずにパーサー部分のみを対象にするため、型名プレフィックスによるフィルタリングを追加しています。

変更内容

  • System.Net.Security.Fuzzing プロジェクト(KerberosPacFuzzing.cs と .csproj)を削除し、DotnetFuzzing.slnx からも除外
  • DotnetFuzzing.csproj: PAC パーサーを DotnetFuzzing に直接リンクするよう変更(+1/-1)
  • IFuzzer.cs: 型プレフィックスによるインストルメント対象のフィルタリングに関する定義を追加(+3)
  • Program.cs、Fuzzers/KerberosPacLogonInfoFuzzer.cs: 上記の変更に合わせた修正
  • CollectCoverage.ps1 を削除(既存の collect-coverage.ps1 と重複していたため)
  • collect-coverage.ps1: ハーネスアセンブリ内のターゲットに対応するよう更新(+8)
  • README.md: 重複していた説明を削減(+1/-50)

パフォーマンスへの影響

影響なし(ファジング用インフラの整理であり、ランタイムやライブラリの実行時の挙動には影響しません)。

関連Issue

関連Issueの明記はありませんが、#133606 で追加された基盤の整理です。

その他

  • 変更は src/libraries/Fuzzing 配下に限られ、公開APIや互換性への影響に関する記載はありません。
  • 全体として約190行の削除に対し追加は約20行で、コードの重複削減が主目的です。

#135488 Track reg save locations via setRegisterLocation

概要

NativeAOTのUnix向けREGDISPLAYシムを、縮小版のllvm-libunwindパッチに合わせて調整するPRです。setRegisterはIP/SPの値のみを扱い、レジスタの保存場所はsetRegisterLocation経由で渡される方式になります。あわせて以下の対応が行われています。

  • stepWithDwarfにはCFI行比較をパッチする代わりに pc + 1 を渡す
  • upstreamのUnwindCursorコンストラクタを使用する
  • テンプレート化されたfindUnwindSectionsを呼び出す

変更内容

  • src/coreclr/nativeaot/Runtime/unix/UnwindHelpers.cpp: REGDISPLAYシムを新方式(setRegisterLocationによる保存場所の追跡)に適合させる主要な変更(+146/-66)
  • src/coreclr/nativeaot/Runtime/unix/UnixNativeCodeManager.cpp: 軽微な調整(+6/-1)
  • src/native/external/llvm-libunwind-version.txt: バージョン情報の更新
  • src/native/external/llvm-libunwind/ 配下(include/、src/の各ヘッダ/ソース: Registers.hpp、CompactUnwinder.hpp、DwarfInstructions.hpp、DwarfParser.hpp、UnwindCursor.hpp、libunwind.cpp、Unwind-EHABI.cpp、AddressSpace.hpp、libunwind.h、__libunwind_config.hなど): 縮小版パッチに合わせた変更。Registers.hppは大幅に削減(+55/-319)、AddressSpace.hppは29行削除、libunwind.hは24行規模の変更

パフォーマンスへの影響

影響なし(提供された情報にベンチマーク結果や性能に関する記載はありません)

関連Issue

なし

その他

  • 本PRは、同梱のllvm-libunwindを縮小版パッチ構成にすることで、upstreamとの差分を減らす方向の変更です(ファイル変更の傾向からの読み取りであり、PR本文に明記された目的ではありません)。
  • 対象はUnix向けNativeAOTランタイムのアンワインド処理で、公開APIの変更は提供情報からは確認できません。

#134745 Array.Create<T> with default value

概要

Array クラスに、指定した値で初期化された配列を作成する新しい公開API Array.Create<T>(デフォルト値指定版)を追加するPRです。Issue #121477 を修正します。これまで new T[n] の後に Array.Fill や手動のループで初期化していた処理を、この新APIで置き換えられるようになります。あわせて、リポジトリ内の既存コード(主にテスト)で同様の初期化パターンをこのAPIに置き換えています。

※提供された情報には新APIの正確なシグネチャは含まれていないため、記載していません。

変更内容

  • 公開API追加
    • src/libraries/System.Private.CoreLib/src/System/Array.cs: Array.Create<T> の実装を追加(+17行)
    • src/libraries/System.Runtime/ref/System.Runtime.cs: 参照アセンブリにAPIを追加(+1行)
  • テスト追加
    • src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ArrayTests.cs: 新APIのテストを追加(+46行)
  • 既存コードの置き換え(新APIの利用)
    • ライブラリ本体:
      • System.IO.Compression の HuffmanTree.cs
      • System.Private.CoreLib の AhoCorasickNode.cs
      • System.Private.Xml の XmlTextWriter.cs
    • テストコード:
      • System.Formats.Tar
      • System.IO.Compression
      • System.Linq
      • System.Memory
      • System.Net.Security
      • System.Numerics.Tensors
      • src/tests/JIT 配下

パフォーマンスへの影響

影響なし(ベンチマーク結果などの記載は提供された情報にありません)。

関連Issue

その他

  • 公開API(System.Runtime の参照アセンブリ)が追加されるため、API承認済みの提案に基づく変更と考えられますが、提供された情報からは確認できません。
  • 本体コード3ファイルでの置き換えは各1〜2行の小さな変更で、残りの大半はテストコードの簡略化です。

目次