Skip to content
Shiny.Maui.Shell v6 support for AI routing tools Learn More

DataSync Releases

Feature
Initial release of Shiny.DataSync — AOT-compliant offline-first data synchronization for .NET MAUI and desktop apps
Feature
ISyncService with full CRUD operations: Insert, Update, Remove, typed and untyped variants
Feature
Sync() runs a full cycle: Clean → Push → Pull with per-entity type granularity
Feature
Per-entity sync direction: SyncDirection.Both, PullOnly, and PushOnly
Feature
Configurable pull throttling via PullMinimumTime and incremental pull via PullDateVariable
Feature
Batched push with configurable PushBufferSize (default: 50 entities per request)
Feature
Four composable data removal strategies: soft-delete, tombstone, reconciliation, and expiry predicates
Feature
Reconciliation safety — skips entities with pending local changes to avoid removing in-progress work
Feature
ISyncInterceptor for per-request HTTP modifications (auth headers, custom headers)
Feature
Observable sync events via WhenSync() — push/pull started, completed, and failed with entity type and count
Feature
Push queue management: GetQueue(), Clear(), and GetMetadata() with per-entity push attempt tracking
Feature
MaxPushAttempts configuration — automatically drops poison queue items after N failed attempts during Clean
Feature
Automatic Shiny Jobs background sync registration — no manual AddJob() needed
Feature
Separate DeleteUri support for APIs that use different endpoints for create/update vs. delete
Feature
Version tracking via VersionSelector for server-driven versioning
Feature
Built on Shiny.DocumentDb.Sqlite for local entity storage and internal metadata
Feature
Full AOT compliance — all serialization uses System.Text.Json source-generated contexts