serverpod-offline-sync/CHANGELOG.md
2026-09-14 17:06:48 -03:00

60 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 0.0.6
- refactor: BREAKING. Rename integration APIs and ownership scopes:
- Rename `CrdtDatabase*` wrappers to `OfflineSyncDatabase*`.
- Rename `CrdtSync` to `OfflineSyncEngine` and `CrdtSyncSession` to
`OfflineSyncSubscription`.
- Access sync through `.offlineSync` and `.offlineSyncDb` instead of
`.crdt` and `.crdtDb`.
- Replace `CrdtScope*` models and services with `OfflineSyncSpace*`
- Change access to shared spaces through `.spaces` instead of `.scopes`.
- Use `spaceId` in models and indexes, and `offline_sync_spaces` in
ownership relations.
- Initialize with `initializeOfflineSync` and use `offlineSyncDatabaseInterceptor`.
- Import client helpers from `offline_sync.dart` instead of `crdt.dart`.
- Rename the synchronization endpoint, serialized events, and space metadata
tables.
- fix: Recompute `onDelete=SetDefault` repairs when default targets are
inserted, deleted, restored, or hidden to preserve authored values.
- fix: Reject local deletes atomically when a needed `SetDefault` target is
missing, hidden, owned by another space, or deleted in the same batch.
- fix: Preserve projection-selected nulls during inserts instead of reapplying
column defaults, and apply fixed UUID foreign-key defaults in local upserts.
- fix: Resolve composite unique conflicts when only a fixed discriminator
column changes.
- perf: Avoid redundant foreign-key projection for ordinary local writes and
primary-key upserts, and batch dependency checks and field-clock writes.
- perf: Overlap independent membership reads and skip unnecessary space lookups
for untracked tables.
- chore: Update Serverpod to `4.0.0` and use the published CLI.
## 0.0.5
- fix: BREAKING. Rebuilds foreign key and unique projection from authored facts.
- perf: Increases unique-conflict merge throughput by ~40%.
- perf: Increases foreign-key chain insert merge throughput by ~3.3×.
- perf: Increases foreign-key chain delete merge throughput by ~44%.
- perf: Reduces storage used by CRDT metadata on relations.
- chore: Updated Serverpod to `4.0.0-rc.2`.
## 0.0.4
- chore: Updated Serverpod to `4.0.0-rc.1`.
## 0.0.3
- fix: Requires non-nullable foreign keys to be `deferred`.
- fix: Rejects `onDelete=Restrict` on synced tables in favor of `onDelete=NoAction`.
- fix: Throws proper `DatabaseException` instead of bare `Exception` on the database.
- chore: Updated Serverpod to `4.0.0-rc.1`.
## 0.0.2
- fix: Skips tracking FKs for relations with non-sync tables.
- fix: Fixes batch `insert` of previously tombstoned rows not being tracked correctly.
- refactor: Moves the core implementation to the `serverpod_offline_sync` shared package.
- chore: Updated Serverpod to `4.0.0-beta.2`.
## 0.0.1
- chore: Initial version.