The Wire · Showcase
MACIOS STRIPS DEAD CODE, RUNTIME TIGHTENS FILESYSTEM WATCHER
By RepoJournal · Filed · About .NET
The iOS toolchain just got leaner while the runtime fixed a resource leak that could exhaust system limits on Linux.
dotnet/macios continues aggressive cleanup: the mtouch tool shed 520 lines of unreachable code [1], while test assets migrated to modern 1024x1024 icon formats to eliminate deprecation warnings [2]. This follows a broader push across the stack to remove dead weight and technical debt. On the runtime side, PhysicalFilesWatcher now skips recursive directory watching when unnecessary [3], a critical fix for applications launched without explicit working directories (like systemd services) where the old behavior created inotify descriptors for every subdirectory under root. The cDAC debugger also got smarter about symbol resolution, now copying all project-reference DLLs into Helix symbol directories instead of just primary artifacts [5]. Meanwhile, msbuild hardened the Exec task for thread safety by migrating to the TaskEnvironment API [4], replacing direct filesystem calls that could race under concurrent builds. All told: this is focused, correctness-driven work across the entire stack.
Action items
- → Review FileSystemWatcher behavior in your systemd-launched services on Linux dotnet/runtime [plan]
- → Update test icon assets to 1024x1024 format if you maintain macios tests dotnet/macios [monitor]
- → Verify debuggee symbol resolution if you use cDAC in Helix dotnet/runtime [plan]
References
- [1] [mtouch] Remove unused code from mtouch (#25428) dotnet/macios
- [2] [tests] Fix actool warnings in test icon asset catalogs (#25475) dotnet/macios
- [3] Avoid recursive FileSystemWatcher when not required in PhysicalFilesWatcher (#128072) dotnet/runtime
- [4] Migrate Exec task to task environment API ↗ dotnet/msbuild
- [5] [cDAC] Copy all debuggee project-reference DLLs/PDBs into Helix symbols dir (#128221) dotnet/runtime
FAQ
- What changed in .NET on May 21, 2026?
- The iOS toolchain just got leaner while the runtime fixed a resource leak that could exhaust system limits on Linux.
- What should .NET teams do about it?
- Review FileSystemWatcher behavior in your systemd-launched services on Linux • Update test icon assets to 1024x1024 format if you maintain macios tests • Verify debuggee symbol resolution if you use cDAC in Helix
- Which .NET repositories shipped on May 21, 2026?
- dotnet/macios, dotnet/runtime, dotnet/msbuild