Skip to content

Releases: powersync-ja/powersync-swift

PowerSync 1.0.0-Beta.12

23 Apr 09:38
df4c602
Compare
Choose a tag to compare
Pre-release
  • Added attachment sync helpers
  • Added support for cancellations in watched queries

PowerSync v1.0.0-Beta.11

15 Apr 18:23
e20880a
Compare
Choose a tag to compare
Pre-release

Fix deadlock when calling connect() immediately after opening database.

PowerSync v1.0.0-Beta.10

15 Apr 11:41
9333846
Compare
Choose a tag to compare
Pre-release
  • Added the ability to specify a custom logging implementation
  let db = PowerSyncDatabase(
    schema: Schema(
        tables: [
            Table(
                name: "users",
                columns: [
                    .text("name"),
                    .text("email")
                ]
            )
        ]
    ),
    logger: DefaultLogger(minSeverity: .debug)
)
  • added .close() method on PowerSyncDatabaseProtocol
  • Update powersync-kotlin dependency to version 1.0.0-BETA29, which fixes these issues:
    • Fix potential race condition between jobs in connect() and disconnect().
    • Fix race condition causing data received during uploads not to be applied.
    • Fixed issue where automatic driver migrations would fail with the error:
Sqlite operation failure database is locked attempted to run migration and failed. closing connection

PowerSync v1.0.0-Beta.9

27 Mar 15:10
3209c98
Compare
Choose a tag to compare
Pre-release
  • Update PowerSync SQLite core extension to 0.3.12.
  • Added queuing protection and warnings when connecting multiple PowerSync clients to the same database file.
  • Improved concurrent SQLite connection support. A single write connection and multiple read connections are used for concurrent read queries.
  • Internally improved the linking of SQLite.
  • Enabled Full Text Search support.
  • Added the ability to update the schema for existing PowerSync clients.
  • Fixed bug where local only, insert only and view name overrides were not applied for schema tables.

PowerSync v1.0.0-Beta.8

06 Mar 13:58
9cb306f
Compare
Choose a tag to compare
Pre-release
  • Improved watch query internals. Added the ability to throttle watched queries.
  • Added support for sync bucket priorities.
  • Fixed uploading and downloading sync status indicators.

PowerSync v1.0.0-Beta.7

18 Feb 13:08
abca0c9
Compare
Choose a tag to compare
Pre-release
  • Fixed an issue where throwing exceptions in the query mapper could cause a runtime crash.
  • Internally improved type casting.

PowerSync v1.0.0-Beta.6

13 Feb 08:26
f50f8dd
Compare
Choose a tag to compare
Pre-release
  • 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(...)
}
  • Allow execute errors to be handled
  • 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.

PowerSync v1.0.0-Beta.5

11 Feb 07:06
72dd7e1
Compare
Choose a tag to compare
Pre-release
  • Implement improvements to errors originating in Kotlin so that they can be handled in Swift

  • Improve __fetchCredentialsto log the error but not cause an app crash on error

PowerSync v1.0.0-Beta.4

06 Feb 12:02
566c924
Compare
Choose a tag to compare
Pre-release
  • Allow cursor to use column name to get value by including the following functions that accept a column name parameter: getBoolean,getBooleanOptional,getString,getStringOptional, getLong,getLongOptional, getDouble,getDoubleOptional

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

PowerSync v1.0.0-Beta.3

30 Jan 14:20
53227f5
Compare
Choose a tag to compare
Pre-release
  • BREAKING CHANGE: Update underlying powersync-kotlin package to BETA18.0 which requires transactions to become synchronous as opposed to asynchronous.
    try await database.writeTransaction { transaction in
      try await transaction.execute(
        sql: "INSERT INTO users (id, name, email) VALUES (?, ?, ?)",
        parameters: ["1", "Test User", "[email protected]"]
      )
    }
    to
    try await database.writeTransaction { transaction in
      transaction.execute( // <- This has become synchronous
        sql: "INSERT INTO users (id, name, email) VALUES (?, ?, ?)",
        parameters: ["1", "Test User", "[email protected]"]
      )
    }