- V3.2.1 - 2 February 2026
- V3.2.0 - 7 January 2026
- V3.1.0 - 3 December 2025
- V3.0.0 - 18 November 2025
- V2.2.0 7 December, 2024
- V2.1.1 4 December, 2024
- V2.1.0 3 December, 2024
- V2.0.0 30 November, 2024
- v1.4.0 21 November, 2023
- v1.3.0 (beta) 1 November, 2023
- v1.2.1 1 November, 2023
- 26 October, 2023
- v1.1.0 9 October, 2023
- v1.0.2 27 July, 2023
- v1.0.2 25 July, 2023
- v1.0.1 19 May, 2023
- v1.0.0 10 May, 2023-
This maintenance release focuses on improvements to the sample project and bug fixes.
Improvements:
- IAsyncRelayCommand Edge Case Fix: (Issue #65) Improved support for edge cases where
PropertyChangedevents were blocked whenExecutionTaskis awaited, particularly whenAllowConcurrentExecutionsis set tofalse. This ensures UI updates propagate correctly even when awaiting long-running async commands. @gragra33 & @teunlielu
Warning
Updates to ViewModelBase and ValidatorViewModelBase now implement IDisposable for PropertyChanged event tracking. This may cause build errors when IDisposable is implemented manually. Use protected override void Dispose(bool disposing) to handle manual disposal in derived classes.
Sample Project Refactoring:
- Major Consolidation: Refactored
Blazing.Mvvm.Sample.Server,Blazing.Mvvm.Sample.Wasm,Blazing.Mvvm.Sample.WebApp,Blazing.Mvvm.Sample.HybridMaui, andBlazing.SubpathHosting.Serverto use a centralizedBlazing.Mvvm.Sample.Sharedlibrary. @gragra33 - Integrated Standalone Samples: Moved content from
ParameterResolution.Sample.WasmandBlazing.Mvvm.ParentChildSampleinto the shared library, making these patterns available across all sample applications. @gragra33 - New RelayCommand Sample Page: Added comprehensive
RelayCommandspage demonstrating synchronous and asynchronous command patterns,AllowConcurrentExecutionsbehavior, command parameters, andCanExecutevalidation. @gragra33
Component Libraries:
- MvvmButton Component: New MVVM-aware button component (
Blazing.Buttons) with integrated command binding and automatic state management. @gragra33 - Bootstrap Components: Added production-ready Bootstrap 5 wrapper components, including
BootstrapAccordion,BootstrapBreadcrumbs,BootstrapCard,BootstrapNavMenu, andBootstrapRowGrouptoBlazing.Mvvm.Sample.Shared. @gragra33 - ConditionalSwitch Component: Added declarative conditional rendering components (
ConditionalSwitch,When,Otherwise) toBlazing.Commonlibrary. @gragra33
Documentation:
- Updated
Blazing.SubpathHosting.Serverreadme with comprehensive information about sample architecture, component libraries, and recent updates. @gragra33 - Added reference to Subpath_Hosting_Guidance.md for detailed subpath hosting best practices. @gragra33
Benefits of Refactoring:
- Demonstrates best practices for code sharing across Blazor hosting models (Server, WebAssembly, Web App, Hybrid MAUI)
- Reduces code duplication and maintenance overhead
- Provides consistent examples across all hosting models
- Easier to add new features that work everywhere
This release adds support for:
- automatic two-way binding support, eliminating the need for manual PropertyChanged event handling in components. @gragra33
- complex route patterns with multiple parameters and query strings. @gragra33
New Features:
- Automatic Two-Way Binding: Components with
EventCallback<T>parameters following the{PropertyName}Changedconvention and corresponding[ViewParameter]properties in ViewModels now automatically wire up two-way binding. @gragra33 - Multi-Parameter Route Support: Full support for routes with multiple parameters (e.g.,
/users/{userId}/posts/{postId}). - Enhanced Route Parameter Substitution: Smart substitution of route parameters with proper URL encoding and query string handling.
- Combined Parameters + Query Strings: Navigate with both route parameters and query strings in a single call (e.g.,
1/101?filter=recent&sort=desc). - Complex Multi-Level Routes: Support for deeply nested routes with multiple segments and parameters.
New Sample:
- ParameterResolution.Sample.Wasm** - Demonstrates parameter resolution between Views and ViewModels using
ViewParameterattribute, and automatic two-way binding with@bind-syntax
Updated Samples:
- Updated sample projects to demonstrate complex route patterns:
Blazing.Mvvm.Sample.Server,Blazing.Mvvm.Sample.WebApp,Blazing.Mvvm.Sample.Wasm,Blazing.Mvvm.Sample.HybridMaui
This release adds automatic base path detection for YARP reverse proxy scenarios and simplifies configuration.
New Features:
- Automatic Base Path Detection: Base path is now automatically detected from
NavigationManager.BaseUri, eliminating the need for manualBasePathconfiguration in most scenarios. @gragra33 & @teunlielu - YARP Support: Full support for YARP (Yet Another Reverse Proxy) with automatic detection of dynamically assigned paths via
PathBase. @gragra33 & @teunlielu - Dynamic Per-Request Base Paths: Supports scenarios where different requests have different base paths, ideal for multi-tenant applications. @gragra33 & @teunlielu
Improvements:
BasePathproperty is now marked as[Obsolete]but remains functional for backward compatibility. @gragra33- Added new unit tests and integration tests for dynamic base path scenarios. @gragra33
- Enhanced logging for base path detection to aid in diagnostics. @gragra33
- Updated documentation with YARP configuration examples and best practices. @gragra33
- Updated
Blazing.SubpathHosting.Serverto support new base path detection features.@gragra33
Configuration:
- No configuration required for most scenarios - base path is automatically detected
- For YARP scenarios, simply use
app.UseForwardedHeaders()and optionally handleX-Forwarded-Prefixheader - Existing code using
BasePathis now markedobsolete, but continues to work without changes. Will be removed in a future release.
See the Subpath Hosting section in the readme for updated configuration examples.
This is a major release with new features and enhancements.
- Added support for .NET 10. @gragra33
- Added subpath hosting support for serving Blazor applications from URL subpaths. @gragra33
- Added new sample projects:
Blazing.Mvvm.ParentChildSample- Demonstrates dynamic parent-child component communicationBlazing.SubpathHosting.Server- Demonstrates subpath hosting configuration- Hybrid samples for WinForms, WPF, MAUI, and Avalonia platforms
- Added multi-targeting support across .NET 8, .NET 9, and .NET 10 for all sample projects. @gragra33
- Increased test coverage with an additional 128 unit tests (total 208 tests). @gragra33
- Enhanced documentation with comprehensive guides for:
- Subpath hosting configuration
- Complex multi-project ViewModel registration
- Running samples with different .NET target frameworks
- Documentation updates and improvements. @gragra33
- Added support for
ObservableRecipientbeing set to inactive when disposing theMvvmComponentBase,MvvmOwningComponentBase,MvvmLayoutComponentBase, andRecipientViewModelBase. @gragra33 & @teunlielu
- Version bump to fix a nuget release issue
- Added MAUI Blazor Hybrid App support + sample HybridMaui app. @hakakou
This is a major release with breaking changes, migration notes can be found here.
- Added auto registration and discovery of view models. @mishael-o
- Added support for keyed view models. @mishael-o
- Added support for keyed view models to
MvvmNavLink,MvvmKeyNavLink(new component),MvvmNavigationManager,MvvmComponentBase,MvvmOwningComponentBase, &MvvmLayoutComponentBase. @gragra33 - Added a
MvvmObservableValidatorcomponent which provides support forObservableValidator. @mishael-o - Added parameter resolution in the ViewModel. @mishael-o
- Added new
TestKeyedNavigationsamples for Keyed Navigation. @gragra33 - Added & Updated tests for all changes made. @mishael-o & @gragra33
- Added support for .NET 9. @gragra33
- Dropped support for .NET 7. @mishael-o
- Documentation updates. @mishael-o & @gragra33
BREAKING CHANGES:
- Renamed
BlazorHostingModeltoBlazorHostingModelTypeto avoid confusion
- Now officially supports .Net 8.0 & .Net 7.0
- pre-release of .Net 8.0 RC2
(Auto) Blazor WebAppwith new hosting model configuration support
- added .Net 7.0+
Blazor Server Appsupport - new hosting model configuration support added. Special thanks to @bbunderson for implementation.
- pre-release of .Net 7.0+
Blazor Server Appsupport - pre-release of .Net 8.0 RC2
(Auto) Blazor WebAppsupport
- Added
MvvmLayoutComponentBaseto support MVVM in the MainLayout.razor - Updated sample project with example of
MvvmLayoutComponentBaseusage
- Fixed rare crossthread issue in MvvmComponentBase
- Added Added logging at start and end of
MvvmNavigationManagercache generation for improved debugging experience
- Added non-generic
RecipientViewModelBase - Added
ValidatorViewModelBase
- Initial release.