Releases: powersync-ja/powersync-kotlin
Releases · powersync-ja/powersync-kotlin
v1.12.0
- Remove the legacy Kotlin sync client.
newSyncClientImplementationis now the only supported option. - Avoid reconnect delay on reconnects due to a prefetched token.
- On native Apple platforms, it is no longer necessary to depend on the PowerSync SQLite core extension through external dependencies. Like on all other platforms, the Kotlin SDK will now link the core extension directly.
You can remove dependencies onhttps://github.com/powersync-ja/powersync-sqlite-core-swift.gitor thepowersync-sqlite-coreCocoaPod.
v1.11.2
- Don't attempt to create WebSocket connections on watchOS.
- Update default SQLite cache size to 50MB, this was previously erroneously set to 200MB
- Move dispatching responsibility into
SQLiteConnectionPoolimplementations after obtaining a connection lease. Implementers ofSQLiteConnectionPoolshould dispatch blocking SQLite callbacks to an appropriate dispatcher such asDispatchers.IO. This should prevent the worker pool from expanding when large numbers of concurrent operations are requested. - Skip creating
ps_crudentries when clearing raw tables.
Full Changelog: v1.11.1...v1.11.2
v1.11.1
What's Changed
- Fix RSocket connection bugs on iOS (and other platforms using the RSocket sync transport):
- Fix false
connected: truestatus when using an invalid token.ConnectionEstablishedis now
only emitted when the first data frame arrives from the server, matching the HTTP path which
waits for a200 OK. - Fix sync loop terminating permanently when the server rejects the connection with an RSocket
ERROR frame (e.g. invalid JWT).RSocketErrorextendsThrowablenotException, so it was
not caught by the retry loop. - Fix sync loop stalling indefinitely after a transport-layer failure (dead socket, network
dropout).
- Fix false
File hashes:
a50fdce3a38ea490e27e1759bdf75edbde2399cca6ad77dc15ebd2399a9f9ac8 PowersyncKotlinRelease.zip
v1.11.0
What's Changed
- Breaking: On tables, the
localOnly,insertOnly,trackMetadata,trackPreviousValuesandignoreEmptyUpdatesoptions are now stored in aTableOptionsclass. Existing constructors continue to work, but callingcopywith any of these parameters no longer works. - Make raw tables easier to use (in #324):
- Introduce the
RawTableSchemaclass storing the name of a raw table in the database. When set,putanddeletestatements can be inferred automatically. - Add
RawTable.jsonDescription, which can be passed to thepowersync_create_raw_table_crud_triggerSQL function to auto-create triggers forwarding writes tops_crud.
- Introduce the
- Update PowerSync core extension to version 0.4.11 (in #323).
- Remove the experimental label from Sync Stream APIs (in #329).
- Compose: add
composeSyncStreamhelper method to subscribe to Sync Streams in a composition (in #329).
Full Changelog: v1.10.4...v1.11.0
v1.10.4
What's Changed
- [internal] Build
:internal:PowerSyncKotlinfor tvOS in #315 - Support latest Kotlin and Ktor versions in #317
- [internal] Upgrade to Android Gradle Plugin version 9 in #318
Full Changelog: v1.10.2...v1.10.4
v1.10.2
- Exceptions that occur while initializing a PowerSync database are now rethrown when the database is used.
- [Internal] Updated PowerSyncKotlin build to use SKIE's
produceDistributableFramework.
v1.10.1
Fix XCFramework for Swift SDK to contain version numbers.
v1.10.0
- Add
appMetadataparameter toPowerSyncDatabase.connect()to include application metadata in
sync requests. This metadata is merged into sync requests and displayed in PowerSync service logs.
Note: This requires a PowerSync service version >=1.17.0 in order for logs to display metadata.
database.connect(
connector = connector,
appMetadata = mapOf(
"appVersion" to "1.0.0",
"deviceId" to "device456"
)
)v1.9.0
- Updated user agent string formats to allow viewing version distributions in the new PowerSync dashboard.
- Sync options:
newClientImplementationis now the default. - Make
androidx.sqlite:sqlite-bundledan API dependency of:coreto avoid toolchain warnings. - On Apple platforms, use a websocket protocol as a workaround to clients not supporting backpressure in HTTP response streams.
- Add the new
com.powersync:sqlite3muliplecipherspackage, which allows encrypting PowerSync databases.
v1.8.1
Full Changelog: v1.8.0...v1.8.1