Releases: powersync-ja/powersync-swift
Releases · powersync-ja/powersync-swift
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.
PowerSync 1.8.1
Pin dependency on CSQLite to avoid "unstable version package" errors.
PowerSync 1.8.0
- Enable the
newClientImplementationby default. This should improve performance and memory usage. - Potential Breaking Change The
newClientImplementationnow uses WebSockets to connect to the PowerSync service. These WebSockets connections do not log events toSyncClientConfiguration->requestLogger. - Add the
softflag todisconnectAndClear()which keeps an internal copy of synced data in the database, allowing faster re-sync if a compatible token is used in the next connect() call - Update PowerSync SQLite core to 0.4.10
- Update Kotlin SDK to 1.9.0.
- Bumped the minimum Swift tools version requirement to 6.1
PowerSync 1.7.0
- Update Kotlin SDK to 1.7.0.
- Add
close(deleteDatabase:)method toPowerSyncDatabaseProtocolfor deleting SQLite database files when closing the database. This includes the main database file and all WAL mode files (.wal, .shm, .journal). Files that don't exist are ignored, but an error is thrown if a file exists but cannot be deleted.
// Close the database and delete all SQLite files
try await database.close(deleteDatabase: true)
// Close the database without deleting files (default behavior)
try await database.close(deleteDatabase: false)
// or simply
try await database.close()- Add
PowerSyncDataTypeConvertibleprotocol for casting query parameters to SQLite supported types. - [Internal] Removed unnecessary
Taskcreation in Attachment helperFileManagerStorageAdapter.
PowerSync 1.6.0
- Update core extension to 0.4.6 (changelog)
- Add
getCrudTransactions(), returning an async sequence of transactions. - Compatibility with Swift 6.2 and XCode 26.
- Update minimum MacOS target to v12
- Update minimum iOS target to v15
- [Attachment Helpers] Added automatic verification or records'
local_urivalues onAttachmentQueueinitialization.
initialization can be awaited withAttachmentQueue.waitForInit().AttachmentQueue.startSync()also performs this verification.
waitForInit()is only recommended ifstartSyncis not called directly after creating the queue.