Skip to content

Releases: powersync-ja/powersync-swift

PowerSync 1.13.0

14 Mar 17:27
041e845

Choose a tag to compare

  • Add optional logger parameter on openPowerSyncWithGRDB to enable custom loggers.
  • Fixed potential connection issues
    • Fix false connected: true status 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).

PowerSync 1.12.0

05 Mar 12:34

Choose a tag to compare

  • Make raw tables easier to use:
    • Introduce the RawTableSchema struct storing the name of a raw table in the database. When set, put and delete statements can be inferred automatically.
    • Add RawTable//jsonDescription, which can be passed to the powersync_create_raw_table_crud_trigger SQL function to auto-create triggers forwarding writes to ps_crud.
  • Fix SyncStreamStatus fields not being visible.
  • Update PowerSync core extension to version 0.4.11.

PowerSync 1.11.0

10 Feb 13:08

Choose a tag to compare

  • Sync streams in #86
  • Support tvOS in #112
  • Fix UserAgent actor isolation in #110

Full Changelog: 1.10.0...1.11.0

PowerSync 1.10.0

20 Jan 12:54

Choose a tag to compare

  • 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 initialStatements parameter to PowerSyncDatabase(). These statements run before anything else when databases are opened, which is useful to e.g. enable encryption (#82).

PowerSync 1.9.0

06 Jan 12:20
9c31b12

Choose a tag to compare

  • Fixed user agent strings not following expected format in #95

  • Added Alpha PowerSyncGRDB product which supports sharing GRDB DatabasePools with PowerSync and application logic in #78

  • Add appMetadata parameter to PowerSyncDatabase.connect() (via ConnectOptions) 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.0 in 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

17 Dec 17:53
0de4477

Choose a tag to compare

Fix PowerSyncKotlin frameworks not containing a CFBundleVersion.

PowerSync 1.8.1

16 Dec 14:12
aed6bf7

Choose a tag to compare

Pin dependency on CSQLite to avoid "unstable version package" errors.

PowerSync 1.8.0

15 Dec 16:10
c48e90e

Choose a tag to compare

  • Enable the newClientImplementation by default. This should improve performance and memory usage.
  • Potential Breaking Change The newClientImplementation now uses WebSockets to connect to the PowerSync service. These WebSockets connections do not log events to SyncClientConfiguration->requestLogger.
  • Add the soft flag to disconnectAndClear() 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

06 Nov 13:44
9196f8a

Choose a tag to compare

  • Update Kotlin SDK to 1.7.0.
  • Add close(deleteDatabase:) method to PowerSyncDatabaseProtocol for 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 PowerSyncDataTypeConvertible protocol for casting query parameters to SQLite supported types.
  • [Internal] Removed unnecessary Task creation in Attachment helper FileManagerStorageAdapter.

PowerSync 1.6.0

19 Sep 08:47
08fd253

Choose a tag to compare

  • 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_uri values on AttachmentQueue initialization.
    initialization can be awaited with AttachmentQueue.waitForInit(). AttachmentQueue.startSync() also performs this verification.
    waitForInit() is only recommended if startSync is not called directly after creating the queue.