DATE:
AUTHOR:
PowerSync Product Team
Swift SDK

PowerSync Swift SDK: v1.0.0-Beta.7

DATE:
AUTHOR: PowerSync Product Team

We are excited to announce the release of version 1.0.0-BETA.7 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.7

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

  • [IMPROVED] Internally improved type casting.

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