Releases: powersync-ja/powersync-kotlin
Releases · powersync-ja/powersync-kotlin
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
v1.8.0
- Refactor SDK (#276):
com.powersync:powersync-corehas an identical API, but now depends oncom.powersync:powersync-commonwhere most logic is implemented.- POTENTIALLY BREAKING CHANGE: If you were injecting a
DatabaseDriverFactoryinto Koin or Dagger, note that thePowerSyncDatabase()factory method now takes a more genericPersistentConnectionFactory. - If you're using
PowerSyncDatabase.inMemory, you explicitly have to importcom.powersync.inMemorynow.
- POTENTIALLY BREAKING CHANGE: If you were injecting a
- Update the PowerSync core extension to version 0.4.8.
- Add the
softflag todisconnectAndClear()which keeps an internal copy of synced data in the database, allowing faster re-sync if a compatible token is used in the nextconnect()call. - Add the
clearparameter toRawTableto run a statement helping the core extension clear raw tables. - Swift Driver Additions in #262
Full Changelog: v1.7.0...v1.8.0