Release 11.0.0
Major Changes
Rebranding to TimeWarp.State We're excited to announce that Blazor-State has been rebranded to TimeWarp.State. This change reflects our evolving vision and commitment to providing a robust state management solution for Blazor applications.
Breaking Changes
See Migrations for instructions on how to migrate from version 10.0 to 11.0.
- TimeWarp.Statenow requires .NET 8.0 or later.
- All references to BlazorStateshould be updated toTimeWarp.State.
- The package name has changed from Blazor-StatetoTimeWarp.State. You'll need to update your package references and namespaces accordingly.
New Features
- Enabled chained inherits from State<> - so users can make/use their own BaseState<>
- Introduced TimeWarp.State.PlusNuGet package with additional features:- New Timer system with MultiTimer support and activity-based reset capabilities
- Feature Flag system for managing feature toggles
- Enhanced routing with TwBreadcrumb and TwPageTitle components
- Improved caching with TimeWarpCacheableState
 
- Added TimeWarp.State.PoliciesNuGet package for architecture policies:- BeNestedInStateCustomRule for enforcing proper nesting
- HaveInjectableConstructor rule
- HaveJsonConstructor rule
- Action, ActionHandler, ActionSet, and State policies
 
- Implemented ActionSet source generator for simplified action creation
- Added support for persistent state with [PersistentState]attribute
- Introduced RenderSubscriptionContextfor improved render subscription management
- Added ActionTrackingStatefor better action tracking capabilities
- Enhanced component rendering with new RenderMode and RenderReasons tracking
Improvements
- Optimized CI/CD pipelines for better performance and reliability
- Enhanced caching mechanisms for NuGet packages in GitHub Actions
- Improved logging capabilities with new Logger implementation
- Updated to use the latest MediatR version
- Refactored and improved the test suite:
- Added comprehensive Playwright end-to-end tests
- New architecture tests for enforcing conventions
- Enhanced integration tests
 
- Optimized TwPageTitle component with improved rendering performance
- Added state initialization pre-processor
- Enhanced JavaScript interop capabilities
Documentation
- Completely revamped documentation structure and content
- Added new tutorials and updated existing ones for TimeWarp.State
- Implemented automated documentation publishing workflow
- Added comprehensive samples demonstrating various features:
- Sample 00: Basic State and Action Handler usage
- Sample 01: Redux DevTools integration
- Sample 02: Action Tracking capabilities
- Sample 03: Advanced routing features
 
Developer Experience
- Added support for central package management
- Improved developer tooling, including updated EditorConfig and coding standards
- Enhanced source generators for better development productivity
- Added TimeWarp.State.Analyzer for code analysis:
- ActionAnalyzer
- StateImplementationAnalyzer
- StateInheritanceAnalyzer
- StateReadOnlyPublicPropertiesAnalyzer
 
Other Changes
- Removed time travel debugging feature to optimize performance and reduce complexity
- Updated all dependencies to their latest stable versions
- Improved error handling and exception reporting throughout the library
- Added .ai folder to the repository for prompting AI-generated content
- Reorganized project structure for better maintainability
- Enhanced build and test scripts
Migration Guide
For detailed instructions on how to migrate from Blazor-State to TimeWarp.State, please refer to our Migration Guide.