Skip to content

Releases: supabase-community/supabase-kt

2.4.2

19 May 21:08
6c54a2e
Compare
Choose a tag to compare

Changes

Auth

  • Remove OtpType deprecation notice and clarify documentation by @jan-tennert in #595
    The SIGNUP and MAGIC_LINK OtpTypes are no longer deprecated as they are used for resending OTPs.
  • Store session before emitting Authenticated state by @iruizmar in #600
    This fixes a bug where it's possible to cancel any sign-in method and the sessionStatus gets set to Authenticated without the session actually saving to storage due to the cancellation.

2.4.1-wasm0

12 May 17:31
3ba3558
Compare
Choose a tag to compare
2.4.1-wasm0 Pre-release
Pre-release

Note

You need this repository because an EAP Ktor version is used: https://maven.pkg.jetbrains.space/public/p/ktor/eap
Ktor version: 3.0.0-beta-2-eap-932

Changes

  • Merge 2.3.1-2.4.1 changes into wasm

2.4.1

11 May 10:14
17663b2
Compare
Choose a tag to compare

Changes

Compose Auth UI

Postgrest

  • Include columns in upsert request & change default parameter value for defaultToNull to true by @jan-tennert in #590
    This fixes an issue when upserting a list of objects where some objects might not have all keys.

New Contributors

2.4.0

09 May 17:41
bca7989
Compare
Choose a tag to compare

Changes

Core

Auth

  • Auth changes & fixes by @jan-tennert in #568
    • The method Auth#linkIdentity will now return the OAuth URL if the config value ExternalAuthConfigDefaults.automaticallyOpenUrl is set to false.
      Otherwise, null.
    • Fix the autoRefresh default value for Auth#importSession not being set to config.alwaysAutoRefresh
    • Add codeVerifier parameter to MemoryCodeVerifierCache to be able to set an initial value
    • Add missing captchaToken config option in the OTP auth provider
  • Change the default session key for the SettingsSessionManager to work with multiple instances on the same device and add a key parameter to the constructor in case you want a custom key by @MohamedRejeb in #572

Realtime

  • Add new experimental extension functions to retrieve initial data and listen for updates without using realtime channels by @jan-tennert #579:
//Not a suspending function, subscribing and unsubscribing is handled internally
val myProductFlow: Flow<Product> = supabase.from("products").selectSingleValueAsFlow(Product::id) {
    Product::id eq 2
}.collect {
    println(it)
}
val productsFlow: Flow<List<Product>> = supabase.from("products").selectAsFlow(Product::id, filter = FilterOperation("id", FilterOperator.GT, 2)).collect {
    println(it)
}

This requires both Realtime and Postgrest to be installed within the SupabaseClient.

Storage

  • Prohibit uploading empty data to a bucket by @hieuwu in #577

Functions

  • Add new region parameter to invoke functions which allows changing the region where the Edge Function will be invoked in. Defaults to Functions.Config#defaultRegion (which is FunctionRegion.ANY) by @jan-tennert in #580

2.4.0-rc-1

09 May 13:51
3169789
Compare
Choose a tag to compare
2.4.0-rc-1 Pre-release
Pre-release

Note

Documentation will update shortly, after that I'll release the version.

Changes

Core

2.4.0-beta-1

06 May 12:28
580d52f
Compare
Choose a tag to compare
2.4.0-beta-1 Pre-release
Pre-release

Changes

Core

Auth

  • Auth changes & fixes by @jan-tennert in #568
    • The method Auth#linkIdentity will now return the OAuth URL if the config value ExternalAuthConfigDefaults.automaticallyOpenUrl is set to false.
      Otherwise, null.
    • Fix the autoRefresh default value for Auth#importSession not being set to config.alwaysAutoRefresh
    • Add codeVerifier parameter to MemoryCodeVerifierCache to be able to set an initial value
    • Add missing captchaToken config option in the OTP auth provider
  • Change the default session key for the SettingsSessionManager to work with multiple instances on the same device and add a key parameter to the constructor in case you want a custom key by @MohamedRejeb in #572

Realtime

  • Add new experimental extension functions to retrieve initial data and listen for updates without using realtime channels by @jan-tennert #579:
//Not a suspending function, subscribing and unsubscribing is handled internally
val myProductFlow: Flow<Product> = supabase.from("products").selectSingleValueAsFlow(Product::id) {
    Product::id eq 2
}.collect {
    println(it)
}
val productsFlow: Flow<List<Product>> = supabase.from("products").selectAsFlow(Product::id, filter = FilterOperation("id", FilterOperator.GT, 2)).collect {
    println(it)
}

This requires both Realtime and Postgrest to be installed within the SupabaseClient.

Storage

  • Prohibit uploading empty data to a bucket by @hieuwu in #577

Functions

  • Add new region parameter to invoke functions which allows changing the region where the Edge Function will be invoked in. Defaults to Functions.Config#defaultRegion (which is FunctionRegion.ANY) by @jan-tennert in #580

2.3.1

20 Apr 20:39
7b66972
Compare
Choose a tag to compare

Changes

Storage

  • Make the default value for Storage.Config.resumable#cache null to prevent a NullPointerException in testing enviroments. (If it's set to null, the default cache implementation will be used)
  • Fix BucketApi#createSignedUploadUrl returning an invalid url
  • Fix BucketApi#createSignedUrl not correctly adding transformation parameters
  • Fix BucketApi#createSignedUrl returning an invalid url
  • Fix BucketListFilter#sortBy not working correctly
  • Add missing destinationBucket parameter to BucketApi#copy and BucketApi#move by @jan-tennert in #562

Auth

  • Move enableLifecycleCallbacks to the common source set (still only used on Android) by @jan-tennert in #561
  • Add AuthConfig#minimalSettings (useful for servers or testing, disabling session storage and uses only in-memory caches) by @jan-tennert in #561

Realtime

  • Remove the suspend modifier for RealtimeChannel#postgresListDataFlow by @jan-tennert in #563
  • When a postgres flow is closed, the joining payload will now be correctly cleaned by @jan-tennert in #563

2.3.0

15 Apr 08:26
e6ef852
Compare
Choose a tag to compare

Changes

Core

  • Update Kotlin to 2.0.0-RC1

Postgrest

  • Add referenced table parameter to or and and by @jan-tennert in #551
  • Fix nested or blocks working incorrectly
  • Auto remove line breaks and white spaces when unquoted on Columns.Raw by @iruizmar in #544
  • Add support for using GET when calling database functions by @jan-tennert in #538
    There is now a method parameter which takes in a RpcMethod. This can either be POST, HEAD or GET. The head parameter has been removed.

Realtime

Auth

  • Stabilize linking identities and signing in anonymously by @jan-tennert in #535
  • Rename Auth#modifyUser to Auth#updateUser by @jan-tennert in #534
  • Return full a full UserInfo on sign up by @jan-tennert in #528
    The signUpWith method will now return a UserInfo object for the Email, Phone and IDToken instead of separate Result objects.
  • Allow customizing the custom tab intent on Android by @jan-tennert in #529

New Contributors

2.3.0-rc-2

12 Apr 14:15
e0608c9
Compare
Choose a tag to compare
2.3.0-rc-2 Pre-release
Pre-release

Changes

Core

  • Update Kotlin to 2.0.0-RC1

Postgrest

  • Add referenced table parameter to or and and by @jan-tennert in #551
  • Fix nested or blocks working incorrectly

2.3.0-rc-1

10 Apr 15:50
62a84a2
Compare
Choose a tag to compare
2.3.0-rc-1 Pre-release
Pre-release

Changes

Postgrest

  • Auto remove line breaks and white spaces when unquoted on Columns.Raw by @iruizmar in #544

New Contributors