Weekly .NET Roundup: Testing Upgrades and Migration Tooling

Developers benefit this week from updated toolchains and workflow features, helping with modernization and streamlining in both Git and .NET. Git delivers new storage and workflow improvements, while .NET introduces new approaches for testing, migration, and UI challenges.

Git 2.51: Storage, Workflow, and CLI Enhancements

Git 2.51 delivers enhancements to storage and workflow efficiency. The new cruft-free MIDX feature allows for duplication of reachable objects from cruft packs, resulting in smaller, faster repositories and up to 38% storage reduction. This is managed via the repack.MIDXMustContainCruft setting. The updated git repack --path-walk uses file layout to optimize delta compression and pack size. A new stash interchange format allows linked ancestor commits, enabling stash export/import across devices. Scripting is improved via more accurate git cat-file submodule reporting; commit-graph Bloom filters offer accelerated path filtering in large repositories. The commands git switch and git restore are now stable, while the deprecated git whatchanged is replaced by git log --raw. Looking ahead, Git 3.0 will default to SHA-256 and implement a new reftable backend, so users should start planning for migration. Updates to C99 support and patch submission workflows further modernize the codebase. These updates maintain Git’s focus on workflow effectiveness and code modernization.

.NET Testing Modernization: CLI, TUnit Migration, and Email Workflow

.NET 10 now runs dotnet test using the Microsoft.Testing.Platform (MTP), replacing the previous VSTest engine. The update improves automation, performance, diagnostics, filtering, parallelism, and output. Developers should migrate tests to MTP, update configurations, and remove obsolete settings for simpler and faster solution builds. Migration resources confirm that moving from xUnit to TUnit is direct, with analyzer and source generator support for parallel, NativeAOT-ready, and .NET Standard 2.0 projects. Guides cover assert conversion, snapshot usage, and CI integration. A new tutorial explains how to implement reliable email sending within .NET, covering SMTP setup, formatting, debugging, and best practices for maintainable code.

.NET Application Modernization: Migration, WebView2, and Obsolete APIs

Migrating .NET Framework 4.8 applications to .NET 8 is now easier, with tools like Upgrade Assistant, Portability Analyzer, and Roslyn analyzers designed for incremental and batch migration. Documentation and automation help prioritize modernization and minimize risk. These resources support ongoing themes around cross-platform modernization and multi-targeted project upgrades, including those for Aspire and MAUI. The focus is on easy migration of APIs and structuring large solution upgrades. WebView2 now supports improved keyboard input mapping, simplifying desktop usability in WPF/WinForms applications. The new CoreWebView2ControllerOptions.AllowHostInputProcessing property restores expected keyboard behaviors, supporting better integration between host and browser-based UIs. Additional tools are available for mapping obsolete APIs to .NET 8. This continues last week’s theme of smoother API and UI modernization.