Skip to content

Releases: supabase-community/supabase-kt

2.5.0-rc-1

03 Jun 14:10
1712cba
Compare
Choose a tag to compare
2.5.0-rc-1 Pre-release
Pre-release

Changes

Auth

  • Add error code enum for Auth API errors by @jan-tennert in #618
    All rest errors containing a error_code field will now throw a AuthRestException rather than generic BadRequestExceptions, etc.
    AuthRestExceptions contain a errorCode field of the type AuthErrorCode containing all known error codes.
    Two error codes have their own exceptions (but obviously inherit from AuthRestException): AuthWeakPasswordException and AuthSessionMissingException.
    API errors not containing this field will throw the generic exceptions.
  • Fix a major bug causing sessions to be refreshed later than they should be in 9b73c03 by @jan-tennert
    The expiresAt property was saved incorrectly, delaying the expiry date.

Realtime

  • Use Postgrests propertyConversionMethod for getting the property name of primary keys

2.4.3 Major bug fix

03 Jun 09:23
2334701
Compare
Choose a tag to compare

Changes

Auth

  • Fix a major bug causing sessions to be refreshed later than they should be in af9143d by @jan-tennert
    The expiresAt property was saved incorrectly, delaying the expiry date.

2.5.0-beta-2

01 Jun 18:36
c5ffd63
Compare
Choose a tag to compare
2.5.0-beta-2 Pre-release
Pre-release

Changes

Postgrest

  • Add columns header to PostgrestQueryBuilder#insert by @jan-tennert in #611
    This fixes an issue when inserting a list of objects where some objects might not have all keys.
  • Add defaultToNull parameter to PostgrestQueryBuilder#insert

Compose Auth Ui

Realtime

  • Add the possibility to have a multi-column PK in realtime by @iruizmar in #614

2.5.0-beta-1

29 May 01:09
580519a
Compare
Choose a tag to compare
2.5.0-beta-1 Pre-release
Pre-release

Changes

Compose Auth Ui

  • Add AuthUiExperimental annotation by @iruizmar in #603
    All composables now have a AuthUiExperimental annotation instead of SupabaseExperimental

Auth

  • Handle weak_password and session_not_found auth error codes by @jan-tennert in #596
    There is now a new subclass of RestException: AuthRestExcepton which will be a super class for exceptions based on error codes. Currently, there are two new exceptions: AuthWeakPasswordException and AuthSessionMissingException
    More changes will follow.
  • Fix/improve session expiry calculation by @JOsacky in #610

Realtime

  • Fix presences updates for RealtimeChannel#presenceDataFlow working incorrectly by @JOsacky in #607

Misc

New Contributors

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.2-wasm0

12 May 17:31
3ba3558
Compare
Choose a tag to compare
2.4.2-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