Skip to content

Latest commit

 

History

History
138 lines (90 loc) · 4.36 KB

CHANGELOG.md

File metadata and controls

138 lines (90 loc) · 4.36 KB

Changelog

1.0.0-BETA22

  • Fix updateHasSynced internal null pointer exception

1.0.0-BETA21

  • Improve error handling for Swift by adding @Throws annotation so errors can be handled in Swift
  • Throw PowerSync exceptions for all public facing methods

1.0.0-BETA20

  • Add cursor optional functions: getStringOptional, getLongOptional, getDoubleOptional, getBooleanOptional and getBytesOptional when using the column name which allow for optional return types
  • Throw errors for invalid column on all cursor functions
  • getString, getLong, getBytes, getDouble and getBoolean used with the column name will now throw an error for non-null values and expect a non optional return type

1.0.0-BETA19

  • Allow cursor to get values by column name e.g. getStringOptional("id")

  • BREAKING CHANGE: If you were using SqlCursor from SqlDelight previously for your own custom mapper then you must now change to SqlCursor exported by the PowerSync module.

    Previously you would import it like this:

    import app.cash.sqldelight.db.SqlCursor

    now it has been changed to:

    import com.powersync.db.SqlCursor

1.0.0-BETA18

  • BREAKING CHANGE: Move from async sqldelight calls to synchronous calls. This will only affect readTransaction and writeTransactionwhere the callback function is no longer asynchronous.

1.0.0-BETA17

  • Add fix for Windows using JVM build

1.0.0-BETA16

  • Add close method to database methods
  • Throw when error is a CancellationError and remove invalidation for all errors in streamingSync catch.

1.0.0-BETA15

  • Update powersync-sqlite-core to 0.3.8
  • Increase maximum amount of columns from 63 to 1999

1.0.0-BETA14

  • Add JVM compatibility
  • Revert previous iOS changes as they resulted in further issues.

1.0.0-BETA13

  • Move iOS database driver to use IO dispatcher which should avoid race conditions and improve performance.

1.0.0-BETA12

  • Use transaction context in writeTransaction in BucketStorageImpl.

1.0.0-BETA11

  • Update version to fix deployment issue of previous release

1.0.0-BETA10

  • Change Swift package name from PowerSync to PowerSyncKotlin

1.0.0-BETA9

  • Re-enable SKIE SuspendInterop
  • Move transaction functions out of PowerSyncTransactionFactory to avoid threading issues in Swift SDK

1.0.0-BETA8

  • Disable SKIE SuspendInterop plugin to fix overriding suspend functions in Swift

1.0.0-BETA7

  • Update supabase connector to use supabase-kt version 3
  • Handle Postgres error codes in supabase connector

1.0.0-BETA6

  • Fix Custom Write Checkpoint application logic

1.0.0-BETA5

  • Fix hasSynced not updating after disconnectAndClear
  • Fix error being thrown in iOS app launch

1.0.0-BETA4

  • Fix sync status being reset when update function is run

1.0.0-BETA3

  • Add waitForFirstSync function - which resolves after the initial sync is completed
  • Upgrade to Kotlin 2.0.20 - should not cause any issues with users who are still on Kotlin 1.9
  • Upgrade powersync-sqlite-core to 0.3.0 - improves incremental sync performance
  • Add client sync parameters - which allows you specify sync parameters from the client https://docs.powersync.com/usage/sync-rules/advanced-topics/client-parameters-beta
val params = JsonParam.Map(
  mapOf(
    "name" to JsonParam.String("John Doe"),
    "age" to JsonParam.Number(30),
    "isStudent" to JsonParam.Boolean(false)
  )
)

connect(
...
  params = params
)
  • Add schema validation when schema is generated
  • Add warning message if there is a crudItem in the queue that has not yet been synced and after a delay rerun the upload

1.0.0-BETA2

  • Publish persistence package

1.0.0-BETA1

  • Improve API by changing from Builder pattern to simply instantiating the database PowerSyncDatabase E.g. val db = PowerSyncDatabase(factory, schema)
  • Use callback context in transactions E.g. db.writeTransaction{ ctx -> ctx.execute(...) }
  • Removed unnecessary expiredAt field
  • Added table max column validation as there is a hard limit of 63 columns
  • Moved SQLDelight models to a separate module to reduce export size
  • Replaced default Logger with Kermit Logger which allows users to more easily use and/or change Logger settings
  • Add retryDelay and crudThrottle options when setting up database connection
  • Changed _viewNameOverride to viewNameOverride