sync_queue 1.2.0
sync_queue: ^1.2.0 copied to clipboard
A durable offline-first mutation queue and sync engine core for Flutter apps.
Unreleased #
- No unreleased changes.
1.2.0 #
- Serialize queue mutations with drain state transitions on an internal lock, so enqueue, retry, discard, and conflict APIs cannot race an active drain.
- Re-validate queued records when a drain claims them, so work removed or rewritten mid-drain is skipped instead of being resurrected or re-sent.
- Send the latest stored payload when a pending operation is updated while a drain pass is running.
- Allow
discardWhereduring an active drain: calls now serialize with the drain instead of throwing, while matches that are in flight are still rejected. - Introduce the official
sync_queue_driftstorage adapter in the storage guidance.
1.1.1 #
- Reject
discardWherecalls while a drain is active so queue cleanup cannot race in-flight sends. - Clarify the queue management guide to cover both the available tools and the future roadmap.
1.1.0 #
- Reposition the package as a durable offline-first mutation queue and sync engine core.
- Add
discardWherefor application-owned queue cleanup without domain logic in the engine. - Add an architecture guide that documents layer responsibilities, non-goals, and the domain boundary.
- Add a conflict resolution guide for transport-detected conflicts and application-owned merge decisions.
- Add a queue management roadmap for future infrastructure-level compaction and cleanup APIs.
- Add dedicated multi-isolate and multi-writer storage guidance.
1.0.0 #
- Promote the package to the first stable 1.0.0 release.
- Broaden the Dart SDK constraint for Dart 3 compatibility.
- Document queue failure, nesting, ordering, backpressure, and isolate semantics.
- Add regression coverage for transport exceptions, nested enqueues, and concurrent enqueue ordering.
0.1.0-dev.5 #
- Add a prebuilt Flutter queue debug view.
- Add prebuilt Flutter sync status badges.
- Add Flutter builders for sync and entity state UI.
- Add a publishing checklist.
- Add CI checks for dartdoc generation and publish dry-runs.
0.1.0-dev.4 #
- Add a helper for reading the next runnable retry time.
- Add optional transport send timeouts.
0.1.0-dev.3 #
- Schedule retry timers only for runnable queued work.
- Reject duplicate operation ids before queued work can be overwritten.
- Preserve per-entity operation order during drain passes.
- Add recovery for interrupted syncing operations after app restarts.
- Improve dartdoc coverage for public sync, retry, storage, and conflict APIs.
0.1.0-dev.2 #
- Add a JSON-backed sync store adapter.
- Add engine-generated operation ids for common enqueue flows.
- Add aggregated entity sync state helpers for UI.
- Add conflict resolution helpers for retry, discard, and fail decisions.
- Add automatic retry scheduling for delayed operations.
- Add queue-wide snapshot helpers for global sync indicators.
- Add optimized pending-query support for JSON storage adapters.
- Add drain result summaries with processed outcome counts.
- Add manual retry support for failed operations.
- Add manual discard support for queued operations.
- Add latest-mutation enqueueing for pending operation coalescing.
- Add transport-provided retry delay support for failures.
- Add jittered retry backoff support.
- Add entity-scoped pending discard support.
- Add entity record inspection helpers.
- Add entity-scoped drain support.
- Add operation-scoped drain support.
- Add full-drain reruns for drain requests received during active drains.
- Add pending operation update support.
- Add optimistic update helper with commit rollback.
- Add engine lifecycle state snapshots for drain UI.
- Add bounded drain batches with continuation hints.
- Add bulk failed-operation retry support.
- Add bulk failed-operation discard support.
- Add combined sync state snapshots for UI.
- Add create, update, and delete enqueue helpers.
- Add filtered record read and watch helpers.
- Add a runnable fake API example for common sync flows.
- Expand README guidance for transport, storage, UI state, and conflict flows.
0.1.0-dev.1 #
- Add the initial sync queue core.
- Add operation, record, result, retry, store, and transport APIs.
- Add an in-memory store for tests and examples.
- Add connectivity-aware drain control.
- Add JSON serialization for queue records and operations.