|
11 | 11 | <EnableNETAnalyzers>true</EnableNETAnalyzers> |
12 | 12 | <AnalysisLevel>latest</AnalysisLevel> |
13 | 13 | <!-- NU1510: Package pruning warnings during multi-targeting (false positive for conditional references) --> |
14 | | - <NoWarn>$(NoWarn);NU1510</NoWarn> |
| 14 | + <!-- NU5104: Allow prerelease dependencies for .NET 10 preview support --> |
| 15 | + <NoWarn>$(NoWarn);NU1510;NU5104</NoWarn> |
15 | 16 | </PropertyGroup> |
16 | 17 |
|
17 | 18 | <PropertyGroup> |
18 | 19 | <!-- NuGet Package Metadata --> |
19 | 20 | <PackageId>EasyAppDev.Blazor.Store</PackageId> |
20 | | - <Version>2.0.1</Version> |
| 21 | + <Version>2.0.2</Version> |
21 | 22 | <Authors>Mashrul Haque</Authors> |
22 | 23 | <Company>EasyAppDev</Company> |
23 | 24 | <Product>EasyAppDev.Blazor.Store</Product> |
|
30 | 31 | <PackageReadmeFile>README.md</PackageReadmeFile> |
31 | 32 | <PackageIcon>icon.png</PackageIcon> |
32 | 33 | <PackageReleaseNotes> |
33 | | -v2.0.0 - Phase 5: Killer Features |
34 | | - |
35 | | -New Features: |
36 | | -- TanStack Query-style data fetching: UseQuery(), UseMutation(), QueryClient with caching, retries, and stale-while-revalidate |
37 | | -- Immer-style mutable syntax: Produce() method for declarative state updates with Draft pattern |
38 | | -- Enhanced DevTools: Full time-travel debugging with action replay, state editing, and performance tracing |
39 | | -- Plugin ecosystem: IStorePlugin interface for extending store functionality with built-in Analytics and Validation plugins |
40 | | -- Server-side sync: SignalR-based real-time state synchronization with conflict resolution and presence tracking |
41 | | - |
42 | | -Query System: |
43 | | -- UseQuery(key, queryFn) with caching, stale time, retry logic |
44 | | -- UseMutation(mutationFn) with optimistic updates support |
45 | | -- QueryClient for cache invalidation and management |
| 34 | +v2.0.2 - Security Enhancements |
46 | 35 |
|
47 | | -Immer-Style Updates: |
48 | | -- draft.Set(s => s.Property, value) for simple updates |
49 | | -- draft.Increment/Decrement/Toggle for common operations |
50 | | -- draft.Append/Remove/RemoveAll for collections |
| 36 | +Security: |
| 37 | +- Enhanced security configuration with AddSecureStore() profiles (Development, Production, Strict) |
| 38 | +- State validation framework with IStateValidator<T> for persistence, TabSync, and ServerSync |
| 39 | +- Message signing and timestamp validation for TabSync cross-tab communication |
| 40 | +- Comprehensive security tests for TabSync and persistence |
51 | 41 |
|
52 | | -Plugin System: |
53 | | -- StorePluginBase<T> for custom plugins |
54 | | -- ConfigurablePlugin<T,TOptions> for plugins with options |
55 | | -- PluginHost for lifecycle management |
| 42 | +Improvements: |
| 43 | +- Enhanced error handling across components |
| 44 | +- Performance optimizations in state synchronization |
| 45 | +- Updated sample application with real API integration |
56 | 46 |
|
57 | | -Server Sync: |
58 | | -- WithServerSync(hubUrl) for real-time collaboration |
59 | | -- Presence tracking for connected users |
60 | | -- Multiple conflict resolution strategies |
61 | | - |
62 | | -v2.1.0 - Phase 4: Advanced Features |
63 | | -(See previous release notes) |
| 47 | +v2.0.0 - Phase 5: Killer Features |
| 48 | +(See previous release notes for full v2.0.0 feature list) |
64 | 49 | </PackageReleaseNotes> |
65 | 50 | <PublishRepositoryUrl>true</PublishRepositoryUrl> |
66 | 51 | <EmbedUntrackedSources>true</EmbedUntrackedSources> |
|
0 commit comments