offline_sync_engine 2.0.0 copy "offline_sync_engine: ^2.0.0" to clipboard
offline_sync_engine: ^2.0.0 copied to clipboard

Offline-first CRDT-based sync engine with automatic conflict resolution. Seamlessly sync data across multiple devices with built-in implementations for quick start.

2.0.0 #

BREAKING CHANGES - Major refactor with better naming and usability

Changed #

  • Renamed files for clarity:
    • CRDTSyncEngineSyncManager
    • LocalStoreDatabaseAdapter
    • RemoteTransportCloudAdapter
    • CRDTRecordSyncRecord
    • OperationSyncOperation
    • VectorClockVersionTracker

Added #

  • Built-in implementations:
    • InMemoryDatabaseAdapter - Ready-to-use in-memory database
    • InMemoryCloudAdapter - Ready-to-use in-memory cloud
  • Comprehensive examples:
    • Basic usage example
    • Multi-device sync example
    • Delete operations example
    • Custom adapters implementation guide
  • Enhanced documentation:
    • Detailed README with architecture diagrams
    • Example folder with README
    • Test folder with README and comprehensive test coverage
  • Better API documentation with dartdocs
  • More intuitive naming throughout

Improved #

  • Test coverage significantly increased
  • Better error messages
  • More efficient operation ID generation
  • Enhanced merge logic documentation

Migration Guide #

If upgrading from 1.x:

// Old (1.x)
final engine = CRDTSyncEngine(
  store: myLocalStore,
  transport: myTransport,
  deviceId: "device_123",
);

// New (2.x)
final manager = SyncManager(
  database: myDatabaseAdapter,
  cloud: myCloudAdapter,
  deviceId: "device_123",
);

// Rename your adapter classes:
// LocalStore → DatabaseAdapter
// RemoteTransport → CloudAdapter

// Update imports:
// VectorClock → VersionTracker
// CRDTRecord → SyncRecord
// Operation → SyncOperation

1.0.0 #

  • Initial stable release
  • CRDT-based offline sync engine
  • Vector clock support
  • Deterministic merge
  • Multi-device convergence
  • Operation idempotency
  • Full test coverage
6
likes
0
points
405
downloads

Publisher

unverified uploader

Weekly Downloads

Offline-first CRDT-based sync engine with automatic conflict resolution. Seamlessly sync data across multiple devices with built-in implementations for quick start.

Repository (GitHub)
View/report issues

Topics

#offline #sync #crdt #database #multi-device

License

unknown (license)

Dependencies

meta

More

Packages that depend on offline_sync_engine