diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e934c8..458c6d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,19 @@ -## Unreleased +## 0.0.10 -- fix: Keep membership reads inside the caller's transaction, preventing web - deadlocks and reflecting uncommitted membership grants and revocations. -- fix: Include the persisted local logical clock in resume checkpoints so - reconnecting within the same millisecond or after clock rollback settles. -- fix: Keep relay checkpoints tagged with their actual author and recover - incorrectly tagged stored progress without repeated transfers on reconnect. -- fix: Require `recordSyncCheckpoint` to receive an HLC authored by its - `otherNodeId`, throwing `ArgumentError` on a mismatch. Valid checkpoints - replace incorrectly tagged stored progress. -- fix: Reconsider released unique claims after local updates and upserts so - the author and peers receiving checkpoint deltas keep the same projection. -- test: Add checkpoint-based deterministic delivery alongside full-history - convergence, with replayable batches and separate coverage metrics. +- fix: Prevents concurrent edits from being skipped during sync. +- fix: Prevents database operations on the web from hanging inside transactions. +- fix: Respects space access changes made in the same transaction. +- fix: Prevents sync from stalling after reconnects, including when the device + clock moves backward. +- fix: Prevents previously synced data from being repeatedly resent after reconnects. +- fix: Rejects checkpoints attributed to the wrong node with `ArgumentError`. +- fix: Keeps unique-conflict results consistent across devices after updates + and upserts. +- fix: Keeps foreign key defaults consistent across devices when an upsert + supplies null, including after a previously referenced record is restored. +- perf: Improves performance when applying synced changes. +- perf: Improves conflict resolution performance. +- chore: Requires Serverpod `>=4.0.4 <4.1.0`. ## 0.0.9 diff --git a/README.md b/README.md index 91b899f..f756265 100644 --- a/README.md +++ b/README.md @@ -101,17 +101,17 @@ Add the packages to the server and client `pubspec.yaml` files. ```yaml # your_project_client/pubspec.yaml dependencies: - serverpod_offline_sync_client: 0.0.9 + serverpod_offline_sync_client: 0.0.10 ``` ```yaml # your_project_server/pubspec.yaml dependencies: - serverpod_offline_sync_server: 0.0.9 + serverpod_offline_sync_server: 0.0.10 ``` > [!NOTE] -> The current development version requires Serverpod `>=4.0.4 <4.1.0`. +> Version `0.0.10` requires Serverpod `>=4.0.4 <4.1.0`. After adding the dependencies, list the `serverpod_offline_sync` module on the `generator.yaml` file and enable the experimental `database: sync` option: diff --git a/packages/serverpod_offline_sync/pubspec.yaml b/packages/serverpod_offline_sync/pubspec.yaml index 30aaf0f..4e192a1 100644 --- a/packages/serverpod_offline_sync/pubspec.yaml +++ b/packages/serverpod_offline_sync/pubspec.yaml @@ -1,5 +1,5 @@ name: serverpod_offline_sync -version: 0.0.9 +version: 0.0.10 description: Shared package for the Serverpod Offline Sync project. homepage: https://github.com/marcelomendoncasoares/serverpod_offline_sync diff --git a/packages/serverpod_offline_sync_client/pubspec.yaml b/packages/serverpod_offline_sync_client/pubspec.yaml index 68c76a0..087721c 100644 --- a/packages/serverpod_offline_sync_client/pubspec.yaml +++ b/packages/serverpod_offline_sync_client/pubspec.yaml @@ -1,5 +1,5 @@ name: serverpod_offline_sync_client -version: 0.0.9 +version: 0.0.10 description: Client transport adapter for the Serverpod Offline Sync project. homepage: https://github.com/marcelomendoncasoares/serverpod_offline_sync @@ -11,7 +11,7 @@ resolution: workspace dependencies: serverpod_client: '>=4.0.4 <4.1.0' serverpod_database: '>=4.0.4 <4.1.0' - serverpod_offline_sync: 0.0.9 + serverpod_offline_sync: 0.0.10 dev_dependencies: lints: '>=3.0.0 <7.0.0' diff --git a/packages/serverpod_offline_sync_server/pubspec.yaml b/packages/serverpod_offline_sync_server/pubspec.yaml index e153376..6209fa7 100644 --- a/packages/serverpod_offline_sync_server/pubspec.yaml +++ b/packages/serverpod_offline_sync_server/pubspec.yaml @@ -1,5 +1,5 @@ name: serverpod_offline_sync_server -version: 0.0.9 +version: 0.0.10 description: Server module for the Serverpod Offline Sync project. homepage: https://github.com/marcelomendoncasoares/serverpod_offline_sync @@ -12,7 +12,7 @@ dependencies: meta: ^1.16.0 serverpod: '>=4.0.4 <4.1.0' serverpod_database: '>=4.0.4 <4.1.0' - serverpod_offline_sync: 0.0.9 + serverpod_offline_sync: 0.0.10 dev_dependencies: lints: '>=3.0.0 <7.0.0'