Skip to content

Releases: supabase-community/supabase-kt

2.0.0-beta-2

05 Dec 18:17
95805ea
Compare
Choose a tag to compare
2.0.0-beta-2 Pre-release
Pre-release

Changes

Storage

  • Fix exception when trying to upload a file using an Android Uri (#370 fixed by #375)

2.0.0-beta-1

04 Dec 10:04
3f16f52
Compare
Choose a tag to compare
2.0.0-beta-1 Pre-release
Pre-release

Note

If you can, please start to try out the 2.0.0 version(s) as there are alot of breaking changes from 1.5.X and I cannot test everything! :)
Migration guide will be on the development branch soon! Initial version: here

Changes

Core

  • Add tag for all logging occurences

GoTrue

  • Rename Auth#sendRecoveryEmail to Auth#resetPasswordForEmail and add PKCE support (in #367 by @jan-tennert)
  • Rework internal implementation of OAuth & SSO login
  • Add support for linking OAuth identities (experimental, untested as unsupported in hosted Supabase): (in #368 by @jan-tennert)
    • Add Auth#linkIdentity(OAuthProvider) - The works the same as signInWith(OAuthProvider) but links an additional OAuth provider to an authenticated user
    • Add Auth#unlinkIdentity(identityId)
    • Add Auth#currentIdentitiesOrNull

2.0.0-alpha-2

29 Nov 16:01
043d900
Compare
Choose a tag to compare
2.0.0-alpha-2 Pre-release
Pre-release

Changes

Core

  • Fix an issue causing the Authorization header not getting added to any request when Auth is not installed
  • Mark some DSL functions with an DSL marker
  • Update to Kotlin 1.9.21 to fix an issue with klib dependencies

Postgrest

  • Add columns parameter to PostgrestRequestBuilder#select to allow restricting which columns to receive when using UPDATE, DELETE, INSERT

2.0.0-alpha-1

22 Nov 15:07
2405156
Compare
Choose a tag to compare
2.0.0-alpha-1 Pre-release
Pre-release

Changes

Note: As this is a major version, this update contains breaking changes so be sure to read the changelog fully!
And feedback is definitely welcome and needed!

Core

  • Remove SupabaseClient#standaloneSupabaseModule (because this function was misused a lot, you can essentially do the same by creating a SupabaseClient and then just call SupabaseClient#module)

GoTrue

  • Rename and refactor GoTrue methods and classes (in #337 by @jan-tennert):
    • Rename GoTrue plugin to Auth
    • Rename GoTrueConfig to AuthConfig
    • Rename SupabaseClient#gotrue to SupabaseClient#auth
    • Rename Auth#loginWith to Auth#signInWith
    • Rename Auth#logout to Auth#signOut
    • Rename LogoutScope to SignOutScope
  • Remove Auth#sendOtpTo and add new OTP auth provider (in #350 by @jan-tennert):
supabase.auth.signInWith(OTP) {
    email = "[email protected]"
}
supabase.auth.signInWith(SSO) {
    domain = "domain"
}
  • Rename AdminUserUpdateBuilder#phoneNumber to AdminUserUpdateBuilder#phone
  • Rename UserUpdateBuilder#phoneNumber to UserUpdateBuilder#phone
  • Rename Phone.Config#phoneNumber to Phone.Config#phone

Realtime

  • Refactor and rename Realtime methods (in #349 by @jan-tennert):
    • Rename Realtime#createChannel to Realtime#channel
    • Remove RealtimeChannel#join and add new RealtimeChannel#subscribe method, which does the same but also connects to the realtime websocket automatically
    • Add Realtime.Config#connectOnSubscribe to disable this behaviour
    • Rename RealtimeChannel#leave to RealtimeChannel#unsubscribe
    • Add SupabaseClient#channel extension function delegating to Realtime#channel
    • Rename Realtime.Status to reflect the new methods:
      • UNSUBSCRIBED
      • SUBSCRIBING
      • SUBSCRIBED
      • UNSUBSCRIBING

Postgrest

  • Rename and refactor Postgrest methods (in #353 by @jan-tennert):
  • Remove upsert parameter in insert and update methods and add new upsert method
  • Remove returning, count and single parameters from postgrest methods
  • Rework postgrest methods:
val result = supabase.postgrest["messages"].select {
     single() //receive an object rather than an array
     count(Count.EXACT) //receive amount of database entries
     limit(10) //limit amount of results
     range(2, 3) //change range of results
     select() //return the data when updating/deleting/upserting (same as settings 'returning' to REPRESENTATION before)
     filter {
          eq("id", 1)
     }
}
  • Add new methods to this builder:
val result = supabase.postgrest["messages"].select {
     csv() //receive data as csv
     geojson() //receive data as geojson
     explain(/* */) //debug queries
}
  • Rename PostgrestResult#count to PostgrestResult#countOrNull
  • Reanem PostgrestResult#range to PostgrestResult#rangeOrNull
  • Add SupabaseClient#from delegating to Postgrest#from
  • Rename PostgrestResult#body to PostgrestResult#data
  • Change type of PostgrestResult#data to String
  • Allow destructuring of PostgrestResult: (especially handy when dealing with datatypes other than json)
val (data, headers) = supabase.from("countries").select {
    csv()
}

Compose Auth

  • Refactor and rename Realtime methods (in #345 by @jan-tennert):
    • Rename ComposeAuth#rememberLoginWithGoogle to ComposeAuth#rememberSignInWithGoogle
    • Rename ComposeAuth#rememberLoginWithApple to ComposeAuth#rememberSignInWithApple
    • Rename ComposeAuth#rememberSignOut to ComposeAuth#rememberSignOutWithGoogle
  • Re-implement Credential Manager Native Google Auth on Android 14+ (in #336 by @jan-tennert)

New module: Coil Integration

This new plugin can be added to a Coil ImageLoader to easily display images from public and non-public buckets from storage (Android only)
(in #323 by @jan-tennert).
Learn more

New module: Compose-ImageLoader Integration

This new plugin can be added to a ImageLoader to easily display images from public and non-public buckets from storage (All Compose targets) (in #335 by @jan-tennert).
Learn more

1.4.7

05 Nov 19:38
4e777a9
Compare
Choose a tag to compare

Changes

GoTrue

  • Change UserInfo#appMetadata type to JsonObject to allow access to all keys and values

Storage

1.4.6

02 Nov 17:53
b615acc
Compare
Choose a tag to compare

Changes

Core

  • Update to Kotlin 1.9.20 and Compose 1.5.10

Compose Auth

  • Downgrade play-store dependency to fix a error when using Native Google Auth
  • Use Google Identity for signing out on Android 14 (until 1.5.X)

GoTrue

  • Fix OAuth with Custom Tabs crashing

1.4.5

28 Oct 09:56
999b108
Compare
Choose a tag to compare

Changes

Postgrest

  • Add missing generic overload for PostgrestUpdate#set
  • Fix serialization with PostgrestUpdate when not using KotlinX Serialization

1.4.4

21 Oct 12:56
7ca8011
Compare
Choose a tag to compare

1.4.3

18 Oct 15:53
305dc34
Compare
Choose a tag to compare

Changes

Compose Auth

  • Fix crash on Android 14 when using Google Auth by using Google OneTap for now (fixes #318)

1.4.2

17 Oct 15:28
4f6092e
Compare
Choose a tag to compare

Changes

GoTrue

  • Add redirectUrl parameter and PKCE capabilities to GoTrue#modifyUser.