What's Changed
- [TaskAnalyzer] Align diagnostic severities and ignore open generic ITaskItem by @VolPlita in #14811
- Add multi-threading option to build response file by @ViktorHofer in #14837
- Anchor MSBuildTask0003 code fix on the flagged call and withhold it where TaskEnvironment cannot bind by @ViktorHofer with @Copilot in #14810
- Bump main to 18.12 after the vs18.11 branch snap by @ViktorHofer in #14841
- Report MSBuildTask0005 at the unsafe call site so it can be suppressed there by @ViktorHofer with @Copilot in #14829
- Revert "Add multi-threading option to build response file" by @ViktorHofer in #14851
- [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in #14853
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #14854
- Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in #14565
- Revert "Revert "Add multi-threading option to build response file"" by @ViktorHofer in #14855
- Fix stale gh-aw-actions/setup pin causing "activation" job failure by @JanProvaznik with @Copilot in #14842
- Make isolated graph builds fail deterministically on undeclared cross-project targets by @AlesProkop with @Copilot in #14280
- Revise temp path handling in README by @baronfel in #14834
- Fix BuildCheck rule configuration and task name casing bug by @AR-May in #14778
- Remove MSBuildImportedProject item from the XSD by @drewnoakes in #14659
- [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in #14866
- Require ready-for-training tag for OptProf by @AlesProkop in #14867
- Ignore stale MSBuild server console writes by @JanProvaznik in #14850
- Regenerate Expert Code Review workflow lock by @JanProvaznik with @Copilot in #14870
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #14896
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in #14900
- [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in #14669
- [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in #14886
- Expose AbsolutePath.GetCanonicalForm() by @JanProvaznik with @Copilot in #14873
- Make release checklist step 1.3 a full branch-retirement audit by @ViktorHofer in #14911
- Resolve PathLike MatchOnMetadata against the thread working directory by @JanProvaznik in #14916
- Fix typo in project dependency explanation by @DanexisIbrahimAbtula in #14885
- Preserve events routed through the TaskHostTask by @AR-May in #14876
- Fix NormalizePath and other intrinsic functions in multithreaded mode by @AR-May in #14875
- Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #14887
- Bump github/gh-aw-actions/setup-cli from 0.87.2 to 0.87.9 by @dependabot[bot] in #14888
- Bump github/gh-aw-actions/setup from 0.82.9 to 0.87.9 by @dependabot[bot] in #14889
- Upgrade gh-aw to v0.88.2 and recompile agentic workflow lock files by @AR-May in #14935
- Preserve error detail when ContinueOnError downgrades an error to a warning by @AR-May in #14918
- Fix Dependabot ignore rule to match gh-aw-actions sub-path actions by @AR-May in #14938
- [Flaky Test] Quarantine 1 flaky test (TaskEnvironment) by @github-actions[bot] in #14662
- Fix template path in quarantine pipeline by @AR-May in #14937
- Run expert code review when a draft PR is marked ready for review by @AR-May in #14952
- [Dreaming] dreaming: clarify RenderImmediateMessage as the correct path for immediate TerminalLogger output by @github-actions[bot] in #14381
- [Dreaming] Clarify: don't hardcode backslash path separators in test XML by @github-actions[bot] in #14973
- Regenerate review-on-open lock file by @AR-May in #14977
- Recognize AbsolutePath.Value canonicalization in task analyzers by @JanProvaznik in #14970
- improve issue and pr templates based on history by @JanProvaznik in #14982
- Detect environment-dependent temp helpers in TaskAnalyzer by @ViktorHofer with @Copilot in #14975
- Document registered task object semantics in multithreaded builds by @JanProvaznik in #14919
- Add server-only MSBUILDDEBUGONSTART modes by @JanProvaznik in #14988
- Preserve manifest input streams when writing manifests by @dtivel in #14883
- Scope MT-specific TaskAnalyzer diagnostics and support .editorconfig by @VolPlita in #14775
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #14948
- Update docs to require VS 2026 by @rainersigwald in #14989
- Fix concurrent enumeration recording in globbing tests by @mmitche in #14995
- Remove .NET 3.5 Developer Tools from .vsconfig by @rainersigwald in #14999
- Prevent TerminalLogger corruption during terminal resize by @AlesProkop with @Copilot in #14370
- Switch expert review sub-agents to gpt-5.6-sol by @AR-May in #15008
- TaskAnalyzer: lower MSBuildTask0001/0009/0010 to Info and recognize directly declared IMultiThreadableTask by @VolPlita with @Copilot in #14994
- Stabilize terminal logger configuration test by @AlesProkop in #15024
- Avoid materializing lazy messages in Terminal Logger by @baronfel in #14914
- [Dreaming] Dreaming: require end-to-end build event forwarding by @github-actions[bot] in #15031
- Revert flaky server-only debugging tests by @JanProvaznik in #15028
- Own sidecar TaskHosts so they cannot outlive their owner by @JanProvaznik in #14584
- Reduce binary logger serialization overhead by @AlesProkop in #14929
- Forward console output from primary multithreaded task host by @JanProvaznik in #14859
- Don't read ProcessName off a possibly-exited node reuse candidate by @ViktorHofer in #15050
- Make node reuse probing failure-tolerant instead of fatal by @ViktorHofer in #15051
- Increase expert review budget to 2,000 AI credits by @AR-May in #15064
- Aggregate RAR search diagnostics in binary logs by @baronfel in #14599
- Stop NGen for SAC assemblies by @pieandcakes in #14882
- Structure RAR conflict diagnostics in binary logs by @baronfel in #14601
- Isolate the MSBuild debug-log directory per test process by @AR-May in #15005
- Expose project evaluation measurements through EventSource by @AlesProkop in #15041
- Add TaskEnvironment.GetTempPath() by @VolPlita in #14729
- Reject file-access reporting with multithreaded builds by @JanProvaznik in #14871
- Multithreading: enable strict current-directory checks by default by @JanProvaznik in #14917
- Simplify -mt option description by @JanProvaznik in #15090
- Retry transient bootstrap script download failures by @mmitche with @Copilot in #15057
- [vs18.12] [NET 11 RC2] Fix TaskHost routing order after nested build callbacks by @JanProvaznik in #15069
- [vs18.12] Handle cross-runtime task parameter binding by @github-actions[bot] in #15100
- [vs18.12] [Flaky Test] Quarantine 4 flaky node-lifecycle tests by @github-actions[bot] in #15121
- [vs18.12] Fix excludes with lexical include roots by @github-actions[bot] in #15148
- [vs18.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #15157
- [vs18.12] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in #15175
- [vs18.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #15197
- Revert "[vs18.12] Update dependencies from dotnet/arcade" by @JanProvaznik in #15234
- [vs18.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #15244
- [vs18.12] Restore 128 KiB node pipe buffers on .NET Framework by @AR-May in #15255
- [vs18.12] Retarget automatic VS insertions to rel/insiders by @VolPlita in #15257
- [vs18.12] Make in-process ResolveAssemblyReference cancellable by @github-actions[bot] in #15206
- [vs18.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #15317
- [vs18.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #15390
- [vs18.12] Publish release packages as an additional pipeline artifact by @JanProvaznik in #15302
New Contributors
- @DanexisIbrahimAbtula made their first contribution in #14885
- @dtivel made their first contribution in #14883
Full Changelog: v18.11.0...v18.12.2