.NET 10 is shaping up to be a significant release for Blazor developers. From performance optimizations to smoother UX and tighter integration, these improvements are worth knowing. We've taken all the info we could get from the .NET 10 previews for Blazor and ASP.NET Core and we're sure that there will be some more amazing features when the full .NET 10 update is released during .NET Conf this November.
P.S. Be sure to check back on this blog then when we update with all the newest Blazor features!
Here’s what stood out in the latest previews (Preview 6 and 7) and docs:
Starting with .NET 10, the core blazor.web.js
script is now served as a static asset that benefits from automatic compression and fingerprinting, leading to a 76% reduction in file size, from 183 KB down to about 43 KB. That’s faster load times, smaller bundles, and fewer stale caches to worry about.
Standalone Blazor WASM apps can now also reference fingerprinted static assets, using import maps and .js#[{fingerprint}].js
syntax to ensure always-fresh loading.
NavLinkMatch.All
, query strings and fragments are ignored when determining whether the link is active. Clean, predictable link highlighting without needing extra logic.[Route]
attribute now includes syntax highlighting, making long route strings way easier to scan in your IDE.ReconnectModal
component: a developer-friendly reconnection UI that respects CSP policies. This replaces the older built-in UI that could violate CSP and gives you CSS/JS control.components-reconnect-state-changed
events and a retrying
state let you handle reconnection logic precisely.RowClass
parameter gives you a clean way to style rows conditionally (e.g., mark archived rows with a different class) straight into your QuickGrid markup.HideColumnOptionsAsync()
, enabling cleaner filtering flows..NET 10 introduces automatic handling for .NotFound()
via NavigationManager
, both for static SSR and interactive render modes. That means cleaner 404 handling out of the box.
Plus, there's now a default NotFound.razor
page in new templates, a nice nudge toward standardizing your error UX.
The new [SupplyParameterFromPersistentComponentState]
attribute lets Blazor persist component state between pre-render and interactive modes without boilerplate. Your data is serialized and available client-side instantly.
Preview 6 of .NET 10 adds several productivity and diagnostics enhancements:
<LinkPreload />
improve startup performance.WasmBundlerFriendlyBootConfig
enables smoother integration.Blazor.pause()
and Blazor.resume()
controlling behavior.AddValidation()
and the [ValidatableType]
attribute (experimental).IProblemDetailsService
integration and no more [FromServices]
clutter..localhost
domains are now fully supported, helping run multiple apps securely in parallel.Feature Area | Impact for Developers |
---|---|
Asset performance | Faster loads, cache-safe deployments |
Navigation & routing | Smoother UX, fewer surprises |
State & reconnect UX | Streamlined recoverability user flows |
Productivity & validation | Faster debugging, early error detection |
Security & customization | Stronger defaults, clearer handling mechanisms |
Observability & APIs | Easier monitoring and diagnostics |
.NET 10 pushes Blazor towards being a battle-tested, performance-oriented, DX-enhanced modern framework. The roadmap is clear: faster, smarter, and safer.
Want help weaving these into your modernization project or leveraging them for legacy-to-modern workflows? Let’s chat