Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
272 commits
Select commit Hold shift + click to select a range
1eceeab
Merge branch 'release/10.0.2xx' into merge/release/10.0.1xx-to-releas…
DonnaChen888 Feb 3, 2026
f46c335
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52801)
dotnet-maestro[bot] Feb 3, 2026
323d29f
Merge branch 'release/10.0.1xx' into merge/release/9.0.3xx-to-release…
DonnaChen888 Feb 4, 2026
ab8aac1
Update dependencies
dotnet-maestro[bot] Feb 4, 2026
b8d8a9d
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 4, 2026
3d51db5
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52823)
DonnaChen888 Feb 4, 2026
179cda2
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52826)
DonnaChen888 Feb 4, 2026
2ce0f44
Merge branch 'release/10.0.1xx' into merge/release/9.0.3xx-to-release…
DonnaChen888 Feb 4, 2026
ae0ed1a
Merge branch 'release/10.0.2xx' into merge/release/10.0.1xx-to-releas…
DonnaChen888 Feb 4, 2026
ccc635a
Merge branch 'release/10.0.2xx' into merge/release/10.0.1xx-to-releas…
DonnaChen888 Feb 4, 2026
d8ba29e
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52831)
dotnet-maestro[bot] Feb 5, 2026
0dce930
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 5, 2026
7409d7e
Merge branch 'release/10.0.1xx' into merge/release/9.0.3xx-to-release…
DonnaChen888 Feb 5, 2026
6841956
Merge branch 'release/10.0.2xx' into merge/release/10.0.1xx-to-releas…
DonnaChen888 Feb 5, 2026
20fa05f
Update dependencies
dotnet-maestro[bot] Feb 5, 2026
1da96c2
Initial plan
Copilot Feb 6, 2026
7028695
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52842)
DonnaChen888 Feb 6, 2026
27f89d3
Add validation to reject --add-source with package source mapping
Copilot Feb 6, 2026
aeedfda
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52860)
DonnaChen888 Feb 6, 2026
ed3346f
Fix package source mapping tests to use nuget config instead of sourc…
Copilot Feb 6, 2026
c35433b
Address code review feedback on test
Copilot Feb 6, 2026
d539d26
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 6, 2026
6bd81f1
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52868)
DonnaChen888 Feb 6, 2026
23d6b91
Merge branch 'release/10.0.2xx' into merge/release/10.0.1xx-to-releas…
DonnaChen888 Feb 6, 2026
dc445c8
Merge branch 'release/10.0.1xx' into merge/release/9.0.3xx-to-release…
DonnaChen888 Feb 6, 2026
166831f
[release/10.0.1xx] Keep template_feed/../content/../.gitattributes in…
marcpopMSFT Feb 6, 2026
8a4a60a
Update target framework visibility conditions and remove VS-specific …
marcpopMSFT Feb 6, 2026
43fdca5
Simplify error message per feedback
Copilot Feb 6, 2026
d7b1062
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 7, 2026
181f7ea
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 8, 2026
ca809c5
Initial plan
Copilot Feb 6, 2026
f39f8c9
Add comprehensive LLM tool detections with tests
Copilot Feb 6, 2026
9438dea
Add test cases for combinations of newer LLM tools
Copilot Feb 6, 2026
3211e64
Update telemetry documentation with new LLM tools
Copilot Feb 6, 2026
c46b581
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 9, 2026
6b09479
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52891)
DonnaChen888 Feb 9, 2026
e74da2d
Update dependencies from build 301019
dotnet-maestro[bot] Feb 9, 2026
10a2d63
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 10, 2026
1a07e51
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 10, 2026
cccad86
Update dependencies from build 301072
dotnet-maestro[bot] Feb 10, 2026
ce339c5
Update dependencies from build 301141
dotnet-maestro[bot] Feb 10, 2026
4f8b117
Update dependencies from build 301163
dotnet-maestro[bot] Feb 10, 2026
5912358
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52927)
nagilson Feb 10, 2026
c63abe2
[release/10.0.2xx] Update dependencies from microsoft/testfx (#52929)
nagilson Feb 10, 2026
acef1ca
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52931)
nagilson Feb 10, 2026
1a3b359
[release/10.0.2xx] Source code updates from dotnet/dotnet (#52921)
nagilson Feb 10, 2026
fc3e7ec
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 11, 2026
fc44412
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 11, 2026
7855671
Update dependencies from build 301247
dotnet-maestro[bot] Feb 11, 2026
0e732ff
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52968)
DonnaChen888 Feb 11, 2026
ff55ce3
[release/10.0.2xx] Update dependencies from microsoft/testfx (#52970)
DonnaChen888 Feb 11, 2026
2d9da0a
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52971)
DonnaChen888 Feb 11, 2026
25f4394
Update dependencies from build 301313
dotnet-maestro[bot] Feb 11, 2026
14f0f88
Initial plan
Copilot Feb 11, 2026
09d6f7c
Remove dotnet format instructions from copilot-instructions.md
Copilot Feb 11, 2026
b015d8d
[release/10.0.1xx] Source code updates from dotnet/dotnet (#52979)
nagilson Feb 11, 2026
2fca80b
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 12, 2026
3ee9b7d
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 12, 2026
43549ea
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53000)
DonnaChen888 Feb 12, 2026
18f13a5
Reset files to release/10.0.3xx
github-actions[bot] Feb 12, 2026
6ecb5d5
Merge branch 'release/10.0.3xx' into merge/release/10.0.2xx-to-releas…
DonnaChen888 Feb 12, 2026
d42b8ab
Update dependencies from build 301442
dotnet-maestro[bot] Feb 12, 2026
d88e7c6
[release/10.0.1xx] Update dependencies from microsoft/testfx (#52999)
DonnaChen888 Feb 12, 2026
075e8d7
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53003)
DonnaChen888 Feb 12, 2026
735f12e
Update dependencies from build 301549
dotnet-maestro[bot] Feb 12, 2026
c86db80
Prevent Copilot from running dotnet format in PRs (#52989)
marcpopMSFT Feb 12, 2026
4d104f1
Reject --add-source when package source mapping is enabled (#52863)
marcpopMSFT Feb 12, 2026
4470296
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53011)
nagilson Feb 12, 2026
5f4b7d2
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 13, 2026
5783160
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 13, 2026
31d5753
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 12, 2026
ba7ccf9
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 12, 2026
45cd4d3
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 12, 2026
1e5431e
Update dependencies from build 301638
dotnet-maestro[bot] Feb 13, 2026
313a703
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53024)
DonnaChen888 Feb 13, 2026
6e84e96
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53025)
DonnaChen888 Feb 13, 2026
695247b
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53026)
DonnaChen888 Feb 13, 2026
780ab9a
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
DonnaChen888 Feb 13, 2026
bdf55bf
Update dependencies from build 301759
dotnet-maestro[bot] Feb 13, 2026
285eea9
Cleans up test package references and global usings (#53019)
tmat Feb 13, 2026
07d7aa4
[dotnet run] `$(Device)` global property missing during `DeployToDevi…
jonathanpeppers Feb 13, 2026
df97841
Update dependencies from build 301795
dotnet-maestro[bot] Feb 13, 2026
fd8454b
Workaround for NuGet restore bug (#53020)
tmat Feb 13, 2026
eb732b2
Update dependencies from build 301816
dotnet-maestro[bot] Feb 14, 2026
77db8be
Update dependencies from build 301818
dotnet-maestro[bot] Feb 14, 2026
60bf298
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 14, 2026
999a5e9
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 14, 2026
d95b8d9
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53039)
DonnaChen888 Feb 14, 2026
5b3917a
[release/10.0.2xx] Source code updates from dotnet/dotnet (#53033)
DonnaChen888 Feb 14, 2026
9396d43
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53040)
DonnaChen888 Feb 14, 2026
23179aa
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53031)
DonnaChen888 Feb 14, 2026
49148ff
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 15, 2026
4810f76
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 15, 2026
302b01c
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 17, 2026
d8ab12f
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 17, 2026
69503e9
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 18, 2026
04241c6
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 18, 2026
a8ad585
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53041)
dotnet-maestro[bot] Feb 18, 2026
ad91287
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53043)
nagilson Feb 18, 2026
5a9be96
[release/10.0.2xx] Source code updates from dotnet/dotnet (#53069)
dotnet-maestro[bot] Feb 18, 2026
38d5432
Merge branch 'release/10.0.1xx' into darc-release/10.0.1xx-985c60cf-1…
nagilson Feb 18, 2026
013b8b3
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53044)
nagilson Feb 19, 2026
a62da22
Backflow VMR 301743
mmitche Feb 13, 2026
b847c3d
Fix version
tmat Feb 17, 2026
27a7896
Update version.details.xml
tmat Feb 17, 2026
1392e4f
pin lockfile for dotnet tools to v3, reject v4
nagilson Feb 13, 2026
469a29d
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 19, 2026
18c1553
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 19, 2026
a03f09f
Update dependencies from build 302411
dotnet-maestro[bot] Feb 19, 2026
b5a4051
Consolidate duplicate VSHostObject implementations (#53028)
YuliiaKovalova Feb 19, 2026
922979b
Update dependencies from build 302542
dotnet-maestro[bot] Feb 19, 2026
6fc33a0
[release/10.0.2xx] Source code updates from dotnet/dotnet (#53080)
dotnet-maestro[bot] Feb 19, 2026
458ee8b
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53081)
nagilson Feb 19, 2026
772465e
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53082)
nagilson Feb 19, 2026
546f4be
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53083)
nagilson Feb 19, 2026
e9ee772
Enable and fix WASM tests (#52960)
tmat Feb 19, 2026
10359b4
Refactor Hot Reload loop cancellation (#53048)
tmat Feb 19, 2026
d4e4c00
Update dependencies from build 302610
dotnet-maestro[bot] Feb 20, 2026
7b1c761
Backflow from https://github.com/dotnet/dotnet / 0ca0f25 build 302612
dotnet-maestro[bot] Feb 20, 2026
1ed1212
Update dependencies from build 302612
dotnet-maestro[bot] Feb 20, 2026
35a98f7
Update dependencies from build 302653
dotnet-maestro[bot] Feb 20, 2026
52e4ef1
Remove failing assert from file-level directive parser (#53087)
jjonescz Feb 20, 2026
7e631b1
Update dependencies from build 302685
dotnet-maestro[bot] Feb 20, 2026
f43e8e5
Update dependencies from build 302699
dotnet-maestro[bot] Feb 20, 2026
888e971
[dotnet-watch] websocket transport for mobile (#52581)
jonathanpeppers Feb 20, 2026
9fe9dcb
Update dependencies from build 302754
dotnet-maestro[bot] Feb 20, 2026
a33a17f
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 21, 2026
def85b4
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 21, 2026
7b53db5
Update dependencies from build 302799
dotnet-maestro[bot] Feb 21, 2026
2e6d33b
Update dependencies from build 302824
dotnet-maestro[bot] Feb 21, 2026
dc8c39e
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 22, 2026
55d418c
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 22, 2026
560552f
Update dependencies from build 302854
dotnet-maestro[bot] Feb 22, 2026
6e514f6
Disable WASM tests on Linux (#53105)
tmat Feb 23, 2026
282fb4b
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 23, 2026
59b2ff3
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 23, 2026
9e82955
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 23, 2026
0c7b6d7
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 23, 2026
f284d9f
[release/10.0.3xx] Manual backflow of sdk release/10.0.3xx (#53090)
adamzip Feb 23, 2026
a17669f
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53095)
DonnaChen888 Feb 24, 2026
dfa02f2
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53109)
DonnaChen888 Feb 24, 2026
7840886
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53110)
DonnaChen888 Feb 24, 2026
7022f4d
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 24, 2026
0701810
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 24, 2026
ec8ea61
Backflow from https://github.com/dotnet/dotnet / 983bf0e build 303089
dotnet-maestro[bot] Feb 24, 2026
717564b
Update dependencies from build 303089
dotnet-maestro[bot] Feb 24, 2026
b6e2d4a
[release/10.0.2xx] Source code updates from dotnet/dotnet (#53094)
DonnaChen888 Feb 24, 2026
6f97200
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53132)
DonnaChen888 Feb 24, 2026
40b692f
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53131)
DonnaChen888 Feb 24, 2026
a104da2
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53130)
DonnaChen888 Feb 24, 2026
82b000c
Update dependencies from build 303150
dotnet-maestro[bot] Feb 24, 2026
32c9942
File-based apps: add support for `#:include` (#52347)
jjonescz Feb 24, 2026
eefbe4e
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 24, 2026
9a05f71
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 24, 2026
ba6ab4a
Add DotNetSdkSupportsVSHostObjectRemoting property (#53100)
YuliiaKovalova Feb 24, 2026
8cbac4a
Clean up some file-based app APIs (#53056)
jjonescz Feb 24, 2026
aad07f3
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53133)
DonnaChen888 Feb 25, 2026
ff3de9f
Update dependencies from build 303263
dotnet-maestro[bot] Feb 25, 2026
16665f2
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 25, 2026
85a8a33
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 25, 2026
d40b218
Move dotnet-format (#53138)
tmat Feb 25, 2026
0103ca1
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 25, 2026
18a5ef3
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53145)
DonnaChen888 Feb 25, 2026
f2f162f
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53146)
DonnaChen888 Feb 25, 2026
aa89ea0
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53147)
DonnaChen888 Feb 25, 2026
61503de
Merge branch 'release/10.0.3xx' of https://github.com/dotnet/sdk into…
DonnaChen888 Feb 25, 2026
61d88b6
Update RazorLangVersion to 10.0 in .NET 10.0.3xx
davidwengier Feb 25, 2026
d227a1e
Switch to HotReloadMSBuildWorkspace
tmat Dec 15, 2025
a66bbbe
File based programs
tmat Nov 11, 2025
84c00f3
Parallelize design-time build
tmat Feb 5, 2026
f44774c
Handle multiple project roots in ProjectGraphFactory
tmat Feb 6, 2026
c8bed07
Auto-restart when project does not support Hot Reload
tmat Dec 16, 2025
3cef193
Allow watching project graph with multiple roots and no main project
tmat Feb 7, 2026
a6556dd
Make log message arguments strongly typed
tmat Feb 18, 2026
107e76f
Improve project building
tmat Feb 18, 2026
4df4469
Add a couple of MessageDescriptors
tmat Feb 19, 2026
ae35cee
Improve test output logging
tmat Feb 20, 2026
f514761
Fix a race condition that occurs when shutdown is requested after the…
tmat Feb 20, 2026
267c9b5
Fix race condition between session start and disposal of AspireServic…
tmat Feb 20, 2026
9307875
Cleanup
tmat Feb 21, 2026
e9ba9cb
Avoid test output dir collisions in GlobbingAppTests
tmat Feb 21, 2026
1984a1c
Cleanup
tmat Feb 24, 2026
6b35c82
Merge
tmat Feb 24, 2026
a8c3d20
Update RazorLangVersion to 10.0 in .NET 10.0.3xx (#53150)
davidwengier Feb 25, 2026
b6ecfca
Rename BuiltInTools dir to Dotnet.Watch (#53159)
tmat Feb 25, 2026
94308f9
[automated] Merge branch 'release/10.0.1xx' => 'release/10.0.2xx' (#5…
dsplaisted Feb 26, 2026
0e13177
[automated] Merge branch 'release/9.0.3xx' => 'release/10.0.1xx' (#52…
dsplaisted Feb 26, 2026
bc1e346
[automated] Merge branch 'release/10.0.2xx' => 'release/10.0.3xx' (#5…
dsplaisted Feb 26, 2026
f1481e6
Reset files to release/10.0.2xx
github-actions[bot] Feb 26, 2026
0bc2b57
[release/10.0.3xx] Add comprehensive LLM tool detection support (18 t…
dsplaisted Feb 26, 2026
103901d
Merge branch 'release/10.0.3xx' into locfiles/586a992c-4ca8-4a8e-a233…
DonnaChen888 Feb 26, 2026
d09dc06
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 26, 2026
b975903
Update dependencies from https://github.com/microsoft/testfx build 20…
dotnet-maestro[bot] Feb 26, 2026
ab6a63c
Merge branch 'release/10.0.2xx' of https://github.com/dotnet/sdk into…
DonnaChen888 Feb 26, 2026
ec0dde2
[release/10.0.2xx] Update dependencies from microsoft/testfx (#53166)
DonnaChen888 Feb 26, 2026
55bffc5
Reset files to release/10.0.3xx
github-actions[bot] Feb 26, 2026
716167b
[release/10.0.1xx] Update dependencies from microsoft/testfx (#53167)
DonnaChen888 Feb 26, 2026
4a8feb3
[automated] Merge branch 'release/10.0.1xx' => 'release/10.0.2xx' (#5…
DonnaChen888 Feb 26, 2026
00a1fdf
Merge branch 'release/10.0.3xx' of https://github.com/dotnet/sdk into…
DonnaChen888 Feb 26, 2026
524ea95
Update dependencies from build 303486
dotnet-maestro[bot] Feb 26, 2026
c5d7b4e
[release/10.0.1xx] Source code updates from dotnet/dotnet (#53171)
DonnaChen888 Feb 26, 2026
5740c6d
Reset files to release/10.0.2xx
github-actions[bot] Feb 26, 2026
64f31ca
[automated] Merge branch 'release/10.0.2xx' => 'release/10.0.3xx' (#5…
dsplaisted Feb 26, 2026
722383a
Split ApplyDeltaTests into multiple types (#53158)
tmat Feb 26, 2026
bdb5a2a
Consolidate file-level directive manipulation (#53136)
jjonescz Feb 26, 2026
b26f45d
Initial plan
Copilot Feb 26, 2026
0732251
Update Locked comments to include apostrophes for InvalidIncludeExclu…
Copilot Feb 26, 2026
5cf33c7
Update XLF translation files - 2026-02-26
github-actions[bot] Feb 26, 2026
0d01874
Merge branch 'release/10.0.2xx' into merge/release/10.0.1xx-to-releas…
DonnaChen888 Feb 27, 2026
449dad7
Streamline web socket config, KestrelWebSocketServer impl (#53108)
tmat Feb 27, 2026
427fcd8
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
DonnaChen888 Feb 27, 2026
9b33c85
[automated] Merge branch 'release/10.0.1xx' => 'release/10.0.2xx' (#5…
dsplaisted Feb 27, 2026
71335fc
Reset files to release/10.0.3xx
github-actions[bot] Feb 27, 2026
916b9a7
Fix Locked comment tokens to include surrounding apostrophes in FileB…
marcpopMSFT Feb 27, 2026
a583f95
Fix tool install --source option not being respected for global and l…
Copilot Feb 27, 2026
3dbb55d
Enable auto-approval for tool exec in non-interactive mode
Copilot Feb 10, 2026
1a1df30
Remove debug code and finalize non-interactive auto-approval logic
Copilot Feb 10, 2026
f0b2cd4
Address code review feedback: add documentation and clarify tri-state…
Copilot Feb 10, 2026
489ba2d
Remove approval prompt - running dnx is implicit approval
Copilot Feb 11, 2026
a73677d
Remove unused ToolDownload resource strings and update xlf files
Copilot Feb 13, 2026
6b687bb
Merge branch 'release/10.0.3xx' into merge/release/10.0.2xx-to-releas…
DonnaChen888 Feb 28, 2026
e882731
[automated] Merge branch 'release/10.0.2xx' => 'release/10.0.3xx' (#5…
DonnaChen888 Feb 28, 2026
8eac130
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 27, 2026
97191e1
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 27, 2026
88d2ab8
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 27, 2026
c8aa735
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 27, 2026
f2080c0
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 27, 2026
4ab7968
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 28, 2026
f26346f
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Feb 28, 2026
efbdd02
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
DonnaChen888 Mar 2, 2026
21302b0
Hide --yes option from tool exec help since it's no longer needed
Copilot Mar 3, 2026
5a484c0
Rename ms.docs to ms-docs in mcp.json (#53237)
jjonescz Mar 3, 2026
3dea47a
Initial plan
Copilot Mar 3, 2026
694af54
Initial plan
Copilot Mar 3, 2026
adf4fc4
Fix ObjectDisposedException race condition in TimestampedFileLogger.W…
Copilot Mar 3, 2026
827ffaa
Remove workarounds for a fixed issue in run-file tests (#53214)
jjonescz Mar 3, 2026
b9e7f44
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Mar 3, 2026
b967128
Remove approval prompt from `dotnet tool exec` - running dnx is impli…
marcpopMSFT Mar 4, 2026
14deca1
Add a script that takes output of dotnet-watch tests and formats it t…
tmat Mar 4, 2026
ae9bd8c
Fix ObjectDisposedException race condition in TimestampedFileLogger (…
marcpopMSFT Mar 4, 2026
6765a47
Publish Microsoft.DotNet.ProjectTools package (#53265)
tmat Mar 4, 2026
98acb9a
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
marcpopMSFT Mar 5, 2026
0d58eb4
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
dotnet-bot Mar 5, 2026
887959b
Watch Aspire (#53192)
tmat Mar 5, 2026
beac916
Localized file check-in by OneLocBuild Task: Build definition ID 140:…
DonnaChen888 Mar 5, 2026
08f46fe
Reset files to main
github-actions[bot] Mar 5, 2026
f2ed506
Merge release/10.0.3xx into main
marcpopMSFT Mar 6, 2026
4701067
Fix RunFileTests to use ToolsetInfo.CurrentTargetFramework instead of…
jonathanpeppers Mar 6, 2026
fcc0109
Fix test
tmat Mar 7, 2026
23284eb
Fix test
tmat Mar 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ file_header_template = Licensed to the .NET Foundation under one or more agreeme
dotnet_code_quality.ca1802.api_surface = private, internal
dotnet_code_quality.ca1822.api_surface = private, internal
dotnet_code_quality.ca2208.api_surface = public
dotnet_public_api_analyzer.require_api_files = true
# Mark attributes with AttributeUsageAttribute
dotnet_diagnostic.CA1018.severity = warning
# Properties should not be write only
Expand Down
4 changes: 1 addition & 3 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@ Coding Style and Changes:
- Code should match the style of the file it's in.
- Changes should be minimal to resolve a problem in a clean way.
- User-visible changes to behavior should be considered carefully before committing. They should always be flagged.
- When generating code, run `dotnet format` to ensure uniform formatting.
- Only edit the files that are necessary to address the specific issue. Do not run `dotnet format` or make formatting changes to additional files.
- Prefer using file-based namespaces for new code.
- Do not allow unused `using` directives to be committed.
- Commit your changes, and then format them.
- Add the format commit SHA to the .git-blame-ignore-revs file so that the commit doesn't dirty git blame in the future
- Use `#if NET` blocks for .NET Core specific code, and `#if NETFRAMEWORK` for .NET Framework specific code.

Testing:
Expand Down
2 changes: 1 addition & 1 deletion .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"servers": {
"ms.docs": {
"ms-docs": {
"url": "https://learn.microsoft.com/api/mcp",
"type": "http"
}
Expand Down
8 changes: 4 additions & 4 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This is a comment.
# This is a comment.
# Each line is a file pattern followed by one or more owners.
# Syntax: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax

Expand Down Expand Up @@ -80,9 +80,9 @@
/test/TestAssets/TestProjects/Watch*/ @tmat @dotnet/roslyn-ide
/test/dotnet-watch.Tests/ @tmat @dotnet/roslyn-ide
/test/Microsoft.AspNetCore.Watch.BrowserRefresh.Tests/ @dotnet/aspnet-blazor-eng
/src/BuiltInTools/* @tmat @dotnet/roslyn-ide
/src/BuiltInTools/BrowserRefresh @dotnet/aspnet-blazor-eng
/src/BuiltInTools/AspireService @dotnet/aspnet-blazor-eng
/src/Dotnet.Watch/ @tmat @dotnet/roslyn-ide
/src/Dotnet.Watch/BrowserRefresh @dotnet/aspnet-blazor-eng
/src/Dotnet.Watch/AspireService @dotnet/aspnet-blazor-eng

# Compatibility tools owned by runtime team
/src/Compatibility/ @dotnet/area-infrastructure-libraries
Expand Down
3 changes: 3 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@
<OSName Condition="'$(OSName)' == '' AND $(PortableTargetRid) != ''">$(PortableTargetRid.Substring(0, $(PortableTargetRid.LastIndexOf('-'))))</OSName>
<OSName Condition="'$(OSName)' == '' AND $(TargetRid) != ''">$(TargetRid.Substring(0, $(TargetRid.LastIndexOf('-'))))</OSName>
<OSName Condition="'$(OSName)' == ''">$(HostOSName)</OSName>

<!-- Workaround for https://github.com/NuGet/Home/issues/14745 -->
<SDKAnalysisLevel>10.0.200</SDKAnalysisLevel>
</PropertyGroup>

<PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion cli.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"solution": {
"path": "sdk.slnx",
"projects": [
"src\\BuiltInTools\\dotnet-watch\\dotnet-watch.csproj",
"src\\Dotnet.Watch\\dotnet-watch\\dotnet-watch.csproj",
"src\\Cli\\dotnet\\dotnet.csproj",
"src\\Cli\\Microsoft.DotNet.Cli.Utils\\Microsoft.DotNet.Cli.Utils.csproj",
"test\\dotnet-new.IntegrationTests\\dotnet-new.IntegrationTests.csproj",
Expand Down
180 changes: 61 additions & 119 deletions documentation/general/dotnet-run-file.md

Large diffs are not rendered by default.

119 changes: 119 additions & 0 deletions documentation/specs/dotnet-watch-for-maui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# `dotnet watch` for .NET MAUI Scenarios

## Overview

This spec describes how `dotnet watch` provides Hot Reload for mobile platforms (Android, iOS), which cannot use the standard named pipe transport. Similar to how web applications already use websockets for reloading CSS and JavaScript, we will use the same model for mobile applications.

## Transport Selection

| Platform | Transport | Reason |
|-----------------|------------|-------------------------------------------------------------------------------|
| Desktop/Console | Named Pipe | Existing implementation, Fast, local IPC |
| Android/iOS | WebSocket | Named pipes don't work over the network; `adb reverse` tunnels the connection |

`dotnet-watch` detects WebSocket transport via the `HotReloadWebSockets` capability:

```xml
<ProjectCapability Include="HotReloadWebSockets" />
```

Mobile workloads (Android, iOS) add this capability to their SDK targets. This allows any workload to opt into WebSocket-based hot reload.

## SDK Changes ([dotnet/sdk#52581](https://github.com/dotnet/sdk/pull/52581))

### WebSocket Details

`dotnet-watch` already has a WebSocket server for web apps: `BrowserRefreshServer`. This server:

- Hosts via Kestrel on `https://localhost:<port>`
- Communicates with JavaScript (`aspnetcore-browser-refresh.js`) injected into web pages
- Sends commands like "refresh CSS", "reload page", "apply Blazor delta"

For mobile, we reuse the Kestrel infrastructure but with a different protocol:

| Server | Client | Protocol |
|----------------------------|------------------------|--------------------------------------------|
| `BrowserRefreshServer` | JavaScript in browser | JSON messages for CSS/page refresh |
| `WebSocketClientTransport` | Startup hook on device | Binary delta payloads (same as named pipe) |

The mobile transport (`WebSocketClientTransport`) composes a sealed `KestrelWebSocketServer` and speaks the same binary protocol as the named pipe transport, just over WebSocket instead.

### WebSocket Authentication

To prevent unauthorized processes from connecting to the hot reload server, `WebSocketClientTransport` uses RSA-based authentication identical to `BrowserRefreshServer`:

1. **Server generates RSA key pair:** `SharedSecretProvider` creates a 2048-bit RSA key on startup
2. **Public key exported:** The public key (X.509 SubjectPublicKeyInfo, Base64-encoded) is passed to the app via `DOTNET_WATCH_HOTRELOAD_WEBSOCKET_KEY`
3. **Client encrypts secret:** The startup hook generates a random 32-byte secret, encrypts it with RSA-OAEP-SHA256 using the public key
4. **Secret sent as subprotocol:** The encrypted secret is Base64-encoded (URL-safe: `-` for `+`, `_` for `/`, no padding) and sent as the WebSocket subprotocol header
5. **Server validates:** `WebSocketClientTransport.HandleRequestAsync` decrypts the subprotocol value and accepts the connection only if decryption succeeds

This ensures only processes that received the public key via the environment variable can connect. The URL-safe Base64 encoding is required because WebSocket subprotocol tokens cannot contain `+`, `/`, or `=` characters.

**Environment variables:**
- `DOTNET_WATCH_HOTRELOAD_WEBSOCKET_ENDPOINT` — WebSocket URL (e.g., `ws://127.0.0.1:5432`)
- `DOTNET_WATCH_HOTRELOAD_WEBSOCKET_KEY` — RSA public key (Base64-encoded)

### 1. WebSocket Capability Detection

[ProjectGraphUtilities.cs](../../src/Dotnet.Watch/Watch/Build/ProjectGraphUtilities.cs) checks for the `HotReloadWebSockets` capability.

### 2. MobileAppModel

Creates a `DefaultHotReloadClient` with a `WebSocketClientTransport` instead of the default `NamedPipeClientTransport`.

### 3. Environment Variables

`dotnet-watch` launches the app via:

```dotnetcli
dotnet run --no-build \
-e DOTNET_WATCH=1 \
-e DOTNET_MODIFIABLE_ASSEMBLIES=debug \
-e DOTNET_WATCH_HOTRELOAD_WEBSOCKET_ENDPOINT=ws://127.0.0.1:<port> \
-e DOTNET_WATCH_HOTRELOAD_WEBSOCKET_KEY=<base64-encoded-rsa-public-key> \
-e DOTNET_STARTUP_HOOKS=<path to DeltaApplier.dll>
```

The port is dynamically assigned (defaults to 0, meaning the OS picks an available port) to avoid conflicts in CI and parallel test scenarios. The `DOTNET_WATCH_AGENT_WEBSOCKET_PORT` environment variable can override this if a specific port is needed.

These environment variables are passed as `@(RuntimeEnvironmentVariable)` MSBuild items to the workload. See [dotnet-run-for-maui.md](dotnet-run-for-maui.md) for details on `dotnet run` and environment variables.

## Android Workload Changes (Example Integration)

### [dotnet/android#10770](https://github.com/dotnet/android/pull/10770) — RuntimeEnvironmentVariable Support

Enables the Android workload to receive env vars from `dotnet run -e`:

- Adds `<ProjectCapability Include="RuntimeEnvironmentVariableSupport" />`
- Adds `<ProjectCapability Include="HotReloadWebSockets" />` to opt into WebSocket-based hot reload
- Configures `@(RuntimeEnvironmentVariable)` items, so they will apply to Android.

### [dotnet/android#10778](https://github.com/dotnet/android/pull/10778) — dotnet-watch Integration

1. **Startup Hook:** Parses `DOTNET_STARTUP_HOOKS`, includes the assembly in the app package, rewrites the path to just the assembly name (since the full path doesn't exist on device)
2. **Port Forwarding:** Runs `adb reverse tcp:<port> tcp:<port>` so the device can reach the host's WebSocket server via `127.0.0.1:<port>` (port is parsed from the endpoint URL)
3. **Prevents Double Connection:** Disables startup hooks in `Microsoft.Android.Run` (the desktop launcher) so only the mobile app connects

## Data Flow

1. **Build:** `dotnet-watch` builds the project, detects `HotReloadWebSockets` capability
2. **Launch:** `dotnet run -e DOTNET_WATCH_HOTRELOAD_WEBSOCKET_ENDPOINT=ws://127.0.0.1:<port> -e DOTNET_WATCH_HOTRELOAD_WEBSOCKET_KEY=<key> -e DOTNET_STARTUP_HOOKS=...`
3. **Workload:** Android build tasks:
- Include the startup hook DLL in the APK
- Set up ADB port forwarding for the dynamically assigned port
- Rewrite env vars for on-device paths
4. **Device:** App starts → StartupHook loads → `Transport.TryCreate()` reads env vars → `WebSocketTransport` encrypts secret with RSA public key → connects to `ws://127.0.0.1:<port>` with encrypted secret as subprotocol
5. **Server:** `WebSocketClientTransport` validates the encrypted secret, accepts connection
6. **Hot Reload:** File change → delta compiled → sent over WebSocket → applied on device

## iOS

Similar changes will be made in the iOS workload to opt into WebSocket-based hot reload:

- Add `<ProjectCapability Include="HotReloadWebSockets" />`
- Handle startup hooks and port forwarding similar to Android

## Dependencies

- **[runtime#123964](https://github.com/dotnet/runtime/pull/123964):** [mono] read `$DOTNET_STARTUP_HOOKS` — needed for Mono runtime to honor startup hooks (temporary workaround via `RuntimeHostConfigurationOption`)
4 changes: 2 additions & 2 deletions eng/Versions.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project DefaultTargets="Build">
<Project DefaultTargets="Build">

<Import Project="Version.Details.props" />

Expand All @@ -21,7 +21,7 @@
<BuiltinWorkloadFeatureBand>$(VersionMajor).$(VersionMinor).100</BuiltinWorkloadFeatureBand>
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
<!-- In source-build the version of the compiler must be same or newer than the version of the
<!-- In source-buildthe version of the compiler must be same or newer than the version of the
compiler API targeted by analyzer assemblies. This is mostly an issue on source-build as
in that build mode analyzer assemblies always target the live compiler API. -->
<UsingToolMicrosoftNetCompilers Condition="'$(DotNetBuildSourceOnly)' == 'true'">true</UsingToolMicrosoftNetCompilers>
Expand Down
2 changes: 1 addition & 1 deletion eng/dotnet-format/dotnet-format-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
displayName: 🟣 Restore dependencies
- script: |
.\artifacts\sdk-build-env.bat
dotnet run --project .\src\BuiltInTools\dotnet-format\dotnet-format.csproj -c Release -- @eng\dotnet-format\validate.rsp
dotnet run --project .\src\Dotnet.Format\dotnet-format\dotnet-format.csproj -c Release -- @eng\dotnet-format\validate.rsp
displayName: 🟣 Run dotnet-format
- task: ${{ parameters.oneESCompat.publishTaskPrefix }}PublishBuildArtifacts@1
displayName: 🟣 Publish Logs
Expand Down
2 changes: 1 addition & 1 deletion eng/dotnet-format/validate.rsp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
./src/BuiltInTools/dotnet-format.slnf
./src/Dotnet.Format/dotnet-format.slnf
--exclude
./tests/projects/
--verify-no-changes
Expand Down
Loading