注意点
このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
目次
#131685 Adopt issue-labeler v2.2.0 in runtime workflows
- 作成者: @jeffhandley
- 作成日時: 2026年07月31日 23:52:26(UTC)
- マージ日時: 2026年08月01日 00:42:37(UTC)
- ラベル: area-Infrastructure
概要
dotnet/issue-labelerツールのGitHub Actions ワークフローをv2.2.0にアップデートし、labeler-train.ymlで廃止予定ラベルの除外機能を追加しました。デフォルト除外ラベル(area-crossgen2-coreclr、area-AssemblyLoader-coreclr)を設定し、手動実行時に追加の除外ラベルをオプション入力(excluded_labels)で指定できるようにしました。
変更内容
- labeler-train.yml:
workflow_dispatchにexcluded_labels入力を追加し、DEFAULT_EXCLUDED_LABELS環境変数と組み合わせて学習データセットのダウンロード・テストステップに渡すロジックを実装(全5ステップでexcluded_labelsパラメータを使用) - labeler-promote.yml、labeler-predict-issues.yml、labeler-predict-pulls.yml、labeler-cache-retention.yml:
dotnet/issue-labelerのアクションを v2.2.0(SHA:160b6b1e1e8d36da09beb34ef1e4806d2c0520a3)にアップデート
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
レビュー指摘: Copilotにより、excluded_labelsの組み合わせロジック内で入力が空の場合、inputs.excluded_labels && ','がブール値falseを返し、format関数がこれを文字列"false"に変換する潜在的なバグが指摘されています。この結果、除外ラベル値が破損する可能性があります(例:area-...coreclrfalse)。条件式を修正して、ブール値ではなく空文字列またはデフォルト文字列を返すべきとの指摘がありますが、PRは既にマージされている状態です。
#131682 Exclude WebSocketException from BinaryFormatter blob ToString comparison
- 作成者: @jtschuster
- 作成日時: 2026年07月31日 22:07:57(UTC)
- マージ日時: 2026年08月01日 00:21:47(UTC)
- ラベル: area-Serialization
概要
WebSocketExceptionのネイティブエラーコードがスレッド状態に依存して変化するため、BinaryFormatterのテストにおいてToString()比較から除外する変更です。Win32Exceptionを継承するWebSocketExceptionはMarshal.GetLastPInvokeError()からNativeErrorCodeを設定するため、ライブテストオブジェクトと保存されたblobで異なる文字列表現を持つことがあります。同様の除外は既にSystem.Resources.Extensionsで実装されており、ここではそれをミラーリングします。
変更内容
- src/libraries/System.Runtime.Serialization.Formatters/tests/EqualityExtensions.cs
System.Net.WebSockets名前空間をインポートEqualityExtensions.IsEqual(Exception, ...)メソッドのToString()等値性アサーションからWebSocketExceptionを除外
パフォーマンスへの影響
影響なし
関連Issue
その他
なし
#131627 Fix cDAC DBI cleanup lifetime
- 作成者: @rcj1
- 作成日時: 2026年07月31日 00:51:28(UTC)
- マージ日時: 2026年08月01日 02:32:35(UTC)
- ラベル: area-Diagnostics-cdac
概要
cDAC(managed diagnostic access component)のライフタイム管理を修正し、DBI(Debugger Bind Interface)がDAC(Diagnostic Access Component)をアンロードする前に、cDAC管理下のCOM インターフェースをアンロードするための明示的なDestroy()メソッドを追加しました。これにより、caller所有のCOMオブジェクトの確定的なクリーンアップが可能になります。内部stackwalking cDAC テストの修正を含みます。
変更内容
- COM契約の拡張:
dacdbi.idlにDestroy([out] IUnknown** ppLegacyCleanup)メソッドを追加し、管理下のCOMインターフェースのクリーンアップ用途で使用 - ネイティブ実装:
dacdbiinterface.hとdacdbiimpl.cppに対応する仮想メソッドを追加し、ネイティブ実装では単にnullを返す - DBI teardownロジック:
process.cppのCordbProcess::FreeDacを更新し、DAC モジュール アンロード前にDestroyを呼び出す - managed cDAC実装:
IDacDbiInterface.csで管理COM投影にDestroyメソッドを追加DacDbiImpl.csでDestroyを実装し、FinalRelease()で unique COM wrappers を確定的にリリース。legacy 実装がある場合はDBI管理用のCOMポインタを返すEntrypoints.csでUniqueComInterfaceMarshaller<>を使用し、caller所有COM入力に対して確定的なクリーンアップを実現。エラーパスでFinalRelease()を呼び出し
パフォーマンスへの影響
影響なし
関連Issue
その他
Copilotの指摘により、FreeDac()内でDestroy()失敗時の処理に潜在的な改善余地が識別されました。失敗時にm_pDacPrimitivesがリリースされずに残る可能性があり、このライフサイクル管理面での懸念事項が報告されています。
#131245 Support unsafe evolution in LibraryImportGenerator
- 作成者: @EgorBo
- 作成日時: 2026年07月23日 00:02:23(UTC)
- マージ日時: 2026年08月01日 16:06:21(UTC)
- ラベル: area-System.Runtime.InteropServices linkable-framework source-generator reduce-unsafe
概要
[LibraryImport] 属性を使用するメソッドに対して、C# の unsafe evolution(更新されたメモリ安全性ルール)への対応を追加しました。新しいルールが有効な場合、すべての [LibraryImport] メソッドは明示的に safe または unsafe 修飾子を要求します。また、既存コードを移行するためのアナライザーとコード修正ツールが含まれています。
変更内容
LibraryImportGenerator(内部実装):
LibraryImportGenerator.csとDownlevelLibraryImportGenerator.csが、生成される wrapper 内のexternlocal 関数に安全性修飾子を鏡映LibraryImportDiagnosticsAnalyzerとDownlevelLibraryImportDiagnosticsAnalyzerで新診断SYSLIB1064を追加し、更新されたルール下で安全性修飾子の明示を要求(すべての P/Invoke 形状で統一的に適用)
アナライザー・コード修正(ツール):
LibraryImportRequiresExplicitSafetyAnalyzer.csがIL5007診断を追加し、安全性契約のないメソッドを検出(opt-in 無関係に発火、マイグレーション用)AddUnsafeToLibraryImportCodeFixProvider.csがIL5007を修正し、デフォルトでunsafeを付与ConvertToLibraryImportFixer.csが[DllImport]を[LibraryImport]に変換する際、unsafe修飾子を保持
共有拡張・リソース:
MemorySafetyRules.csに安全性修飾子検出とupdated-memory-safety-rulesフィーチャーフラグ検出ヘルパーを追加- 複数言語(de, es, fr, it, ja, ko, pl, pt-BR, ru, tr, zh-Hans, zh-Hant, cs)のローカライズ文字列を更新
テスト:
UnsafeCodeGeneration.csを拡張し、safe/unsafe鏡映とフィーチャーフラグ下での診断を網羅
パフォーマンスへの影響
影響なし
関連Issue
その他
- 互換性: unsafe-v1 では変更なし。unsafe-v2 ルール有効時のみ適用
- デザイン選択: 代替案として生成コードから
unsafeを出すことも検討されましたが、エラーがユーザーの宣言ではなく生成ファイルに現れるため、コード修正が不可能になることから却下 - 既知の制限: Roslyn が非
externメンバーでのsafeをまだ許可していない(CS9388)。従ってsafeは生成が直接 forwarder の場合のみ記述可能