Releases: powersync-ja/powersync-swift
1.14.2
1.14.1
- [Internal] The GRDB integration uses high-level GRDB APIs to run statements. Previously, it would use the raw connection pointer only.
PowerSync 1.14.0
Previous versions of the Swift SDK were based on a pre-compiled build of the Kotlin SDK. That build has been removed in this release, the Swift SDK is now written in Swift. This improves performance, makes future platform integrations simpler, and allows you to debug and explore our SDK sources in XCode.
This doesn't change the public API, but it's a substantial internal refactoring. We recommend testing queries and sync in your app after upgrading.
- The SQLite connection pool, sync client driver, schema serializer, and CRUD layer are now Swift-native.
- Add
opDataTypedandpreviousValuesTypedfields (bothJsonParam?) toCrudEntry. Use them to upload column values with their SQLite types preserved instead of stringified. The oldopDataandpreviousValuesproperties still work. CrudBatch,CrudEntry, andCrudTransactionare concrete structs now, not protocols. Reading their properties still works. You can't construct them in your own code anymore (in tests or mocks, for example); they're SDK-owned types.
Full Changelog: 1.13.1...1.14.0
PowerSync 1.13.1
- Don't attempt to create WebSocket connections on watchOS.
- Update default SQLite cache size to 50MB, this was previously erroneously set to 200MB.
- Skip creating
ps_crudentries when clearing raw tables. - Prevent swallowing
CancellationErrors for PowerSync wrapped operations.
PowerSync 1.13.0
- Add optional
loggerparameter onopenPowerSyncWithGRDBto enable custom loggers. - Fixed potential connection issues
- Fix false
connected: truestatus when using an invalid token. - Fix sync loop terminating permanently when the server rejects the connection.
- Fix sync loop stalling indefinitely after a transport-layer failure (dead socket, network
dropout).
- Fix false
PowerSync 1.12.0
- Make raw tables easier to use:
- Introduce the
RawTableSchemastruct storing the name of a raw table in the database. When set,putanddeletestatements can be inferred automatically. - Add
RawTable//jsonDescription, which can be passed to thepowersync_create_raw_table_crud_triggerSQL function to auto-create triggers forwarding writes tops_crud.
- Introduce the
- Fix
SyncStreamStatusfields not being visible. - Update PowerSync core extension to version 0.4.11.
PowerSync 1.11.0
Full Changelog: 1.10.0...1.11.0
PowerSync 1.10.0
- Fix "Linking a static library that was built with
-gmodules, but the module cache was not found.` build warnings (#107). - Update to SQLite 3.51.2.
- Add
initialStatementsparameter toPowerSyncDatabase(). These statements run before anything else when databases are opened, which is useful to e.g. enable encryption (#82).
PowerSync 1.9.0
-
Fixed user agent strings not following expected format in #95
-
Added Alpha
PowerSyncGRDBproduct which supports sharing GRDBDatabasePools with PowerSync and application logic in #78 -
Add
appMetadataparameter toPowerSyncDatabase.connect()(viaConnectOptions) to include application metadata in sync requests. This metadata is merged into sync requests and displayed in PowerSync service logs in #104
Note: This requires a PowerSync service version>=1.17.0in order for logs to display metadata.try await database.connect( connector: connector, options: ConnectOptions( appMetadata: ["appVersion": "1.0.0", "deviceId": "device456"] ) )
PowerSync 1.8.2
Fix PowerSyncKotlin frameworks not containing a CFBundleVersion.