- Update PowerSync SQLite core extension to 0.5.4 (release notes).
- Support direct tables.
- Breaking: Split
BackendConnectortrait intoAuthenticatorandMutationUploader.Authenticatoris allowed to cache tokens now, and is informed when a token has expired.- Add
SyncOptions::download_onlyandSyncOptions::upload_onlyfor unidirectional sync.
- Add
PriorityStatus, exposing sync status grouped by priority groups of Sync Streams.
- Breaking:
PowerSyncEnvironment::customnow needs a way to spawn async tasks. Replacetokio_timer()orasync_io_timer()timers withtokio()orasync_io(), respectively. - Don't mark sync status as connected when connection fails.
- Fix sync client blocking writer for longer than necessary.
- Set cache size and busy timeout on all connections instead of just the writer.
- Add
PowerSyncDatabase::request_checkpoint, which can be used to "sync now": The checkpoint completes once all source data created before the checkpoint has synced. - Add
PowerSyncDatabase::disconnect_and_clearto remove PowerSync data from a database.
- Update PowerSync core extension to version 0.5.2.
- Skip creating
ps_crudentries when clearing raw tables. - Call
upload_datarepeatedly if an upload fails. - Add
PowerSyncError::upload_error, which can be used to convert any error into PowerSync errors forupload_datacallbacks.
- Breaking: Remove the
http-clientcrate dependency. Instead, implement theHttpClienttrait from thepowersynccrate directly. - Breaking: The
Timerpassed toPowerSyncEnvironmentis now a&'staticreference instead of aBox. - Breaking:
LeasedConnectionis a struct instead of a trait now. - Add
PowerSyncDatabase::watch_all_updatesto emit updates of all changed tables.
- Update PowerSync core extension to version 0.4.11.
- Improvements for raw tables:
- The
putanddeletestatements are optional now. - The
RawTableSchemastruct represents a raw table in the local database, and can be used to create triggers forwarding writes to the CRUD upload queue and to infer statements used to sync data into raw tables.
- The
- Add
PowerSyncDatabase::watch_statementto get an auto-updating stream of query results.
- Configure automated publishing to crates.io.
- Initial release.