DATE:
AUTHOR:
PowerSync Product Team
Swift SDK

PowerSync Swift SDK: v1.0.0-Beta.8

DATE:
AUTHOR: PowerSync Product Team

We are excited to announce the release of version 1.0.0-BETA.8 of the PowerSync Swift client SDK

Visit the full SDK reference to get started, for implementation details, and code snippets.

See the full changelog below.

Have any questions or feedback? Chat with us and the PowerSync community on Discord.

Changelog

1.0.0-Beta.8

  • [ADDED] Support for sync bucket priorities to sync critical data first. Learn more.

  • [ADDED] The ability to throttle watched queries via the optional throttleMs parameter. This will prevent these queries from re-running within the specified duration and therefore reduce the load for frequently updating tables.

  • [IMPROVED] Internally improved the query logic for watch() queries, by optimizing table update handling, enhancing thread safety, and simplifying the implementation (see the PR).

  • [FIXED] The uploading and downloading Sync Status indicators not correctly emitting status events.

1.0.0-Beta.7

  • [FIXED] An issue where throwing exceptions in the query mapper could cause a runtime crash.

  • [IMPROVED] Internally improved type casting.

  • [IMPROVED] Internals of the watch() query.

1.0.0-Beta.6

  • [BREAKING CHANGE]: watch queries are now throwable and therefore will need to be accompanied by a try e.g.

try database.watch()
  • [BREAKING CHANGE]: transaction functions are now throwable and therefore will need to be accompanied by a try e.g.

try await database.writeTransaction { transaction in
  try transaction.execute(...)
}
  • [IMPROVED] Allow execute errors to be handled

  • [IMPROVED]userId is now set to nil by default and therefore it is no longer required to be set to nil when instantiating PowerSyncCredentials and can therefore be left out.

1.0.0-Beta.5

  • [IMPROVED] Error handling for errors originating in the Kotlin SDK.

  • [IMPROVED] __fetchCredentials to log the error but not cause an app crash on error.

1.0.0-Beta.4

  • [IMPROVED] Ability to use the column name to get the pertaining value when using the cursor instead of having to use the index number. The following functions now accept a column name parameter: getBoolean,getBooleanOptional,getString,getStringOptional, getLong,getLongOptional, getDouble,getDoubleOptional.

  • BREAKING CHANGE: This should not affect anyone, but we made KotlinPowerSyncCredentials, KotlinPowerSyncDatabase and KotlinPowerSyncBackendConnector private as these should never have been public.

1.0.0-Beta.3

  • BREAKING CHANGE: Updates the underlying powersync-kotlin package to BETA18.0 which requires transactions to become synchronous as opposed to asynchronous.

    • Previously:

      try await database.writeTransaction { transaction in
        try await transaction.execute(
          sql: "INSERT INTO users (id, name, email) VALUES (?, ?, ?)",
          parameters: ["1", "Test User", "test@example.com"]
        )
      }

      Now:

      try await database.writeTransaction { transaction in
        transaction.execute( // <- This has become synchronous
          sql: "INSERT INTO users (id, name, email) VALUES (?, ?, ?)",
          parameters: ["1", "Test User", "test@example.com"]
        )
      }

1.0.0-Beta.2

  • [FIXED] Updated powersync-sqlite-core to v0.3.8, which fixes a view migration issue (see details).

  • [IMPROVED] Increase maximum amount of columns from 63 to 1999.

1.0.0-Beta.1

Powered by LaunchNotes