- DATE:
- AUTHOR:
- PowerSync Product Team
PowerSync Swift SDK: v1.0.0-Beta.8
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
anddownloading
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 atry
e.g.
try database.watch()
[BREAKING CHANGE]:
transaction
functions are now throwable and therefore will need to be accompanied by atry
e.g.
try await database.writeTransaction { transaction in
try transaction.execute(...)
}
[IMPROVED] Allow
execute
errors to be handled[IMPROVED]
userId
is now set tonil
by default and therefore it is no longer required to be set tonil
when instantiatingPowerSyncCredentials
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
andKotlinPowerSyncBackendConnector
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
Initial Beta Release.