Skip to content

Releases: supabase-community/supabase-kt

3.7.0-beta-1

3.7.0-beta-1 Pre-release
Pre-release

Choose a tag to compare

@jan-tennert jan-tennert released this 23 Jun 20:14
fe99a6e

A small note

Sorry that the library has been moving slow lately, we currently have some internal stuff to figure out, once that is sorted there will be coming a lot of new features and quality of life changes to the library.

Changes

Core

Auth

  • Add support for custom OAuth provider by @jan-tennert in #1236
  • feat(auth): expose public getter for AuthConfig.httpCallbackConfig on Desktop by @PierreVieira in #1322
  • fix(auth): don't throw an error when there is no stored session by @PierreVieira in #1320
  • Add API support for Passkeys by @jan-tennert in #1327 under supabase.auth.passkeys - Note, there is currently no sign-in method. We are still deciding how to move on with Native APIs. Compose Auth support may come as a temporary solution.
  • Add PKCE support for resend by @jan-tennert in #1337

Realtime

  • Add support for binary broadcasts, httpSend and VSN 2.0.0 by @jan-tennert in #1325

    Either use the ByteArray type in broadcastFlow:

    channel.broadcastFlow<ByteArray>("test").collect {
        println(it.decodeToString())
    }

    Or use broadcastFlow without a type to receive both types:

    channel.broadcastFlow("test").collect {
        when(it.payload) {
            is BroadcastPayload.Binary -> println(it.payload.data.decodeToString())
            is BroadcastPayload.Json -> println(it.payload.value)
        }
    }

    New method to broadcast messages (the old ones are using this in the implementation if not connected)':

    channel.httpSend("myEvent", BroadcastPayload.Binary(byteArrayOf(1,2,3)))
  • Implement deferred disconnect after removing last channel by @jan-tennert in #1276

  • docs(realtime): clarify that maxAttempts governs channel rejoin attempts by @PierreVieira in #1331

  • fix(realtime): log transient websocket reconnects at WARN instead of ERROR by @PierreVieira in #1329

Postgrest

Storage

New Contributors

3.6.0

Choose a tag to compare

@jan-tennert jan-tennert released this 28 Apr 09:36
8d14313

Changes

Core

  • Fix JS test by @jan-tennert in #1255
  • Use inject-based logging approach for configurability and mocking by @jan-tennert in #1254 - You can now provide a custom SupabaseLoggingProcessor via SupabaseClientBuilder#defaultLoggingFactory, and also override per plugin. This processor is used to actually log the messages

Realtime

Storage

  • fix(storage): preserve full nested path in FileUploadResponse by @Sirelon in #1239
  • Fix flaky testUnauthenticatedUploadDenied in CI by @thagikura in #1240

Auth

  • fix(auth): Use configured httpPort instead of random port for OAuth callback server by @CristianMG in #1237
  • feat: Add support for OAuth 2.1 client admin API by @thagikura in #1222
  • Deprecate data property on IDToken.Config by @thagikura in #1249
  • fix(auth): don't emit spurious NotAuthenticated on Android lifecycle onStart by @alexeysfh in #1267

Postgrest

Storage

  • Add url options to download, publicUrl, createSignedUrl... by @jan-tennert in #1263 - Note that the transform builder for some methods has been moved e.g.:
supabase.storage.from("bucket").createSignedUrl(..) {
    transform { } 
}

New Contributors

3.5.0

Choose a tag to compare

@jan-tennert jan-tennert released this 05 Apr 16:33
0bca2b3

Changes

Core

Storage

  • [Fix] Use options parameter in createOrContinueUpload by @vojta-horanek in #1188
  • Add experimental support for vector, analytic buckets & storage, auth improvements by @jan-tennert in #1196
  • do not rewrite signed URL to render endpoint for empty transform object by @jan-tennert in #1212

Postgrest

Auth

Functions

Realtime

Compose Auth

Because I forgot to put it in the previous changelog:

  • The credentials when successfully signing in via native auth are now exposed, so you can access data like name, phone number, etc. This is currently only supported for Native Google Auth on Android and Native Apple Auth on iOS:
is NativeSignInResult.Success -> {
    val credential = result.data.google.credential
    credential.displayName 
    credential.phoneNumber
    // ...
}

New Contributors

3.4.1

Choose a tag to compare

@jan-tennert jan-tennert released this 28 Feb 17:53
d1ddf08

Changes

Core

Realtime

3.4.0

Choose a tag to compare

@jan-tennert jan-tennert released this 25 Feb 17:40
cb47ba3

Changes

Core

Auth

Functions

  • Fix invalid default rest exception in Functions#parseErrorResponse() by @jan-tennert in #1142

Storage

Realtime

3.3.0

Choose a tag to compare

@jan-tennert jan-tennert released this 05 Jan 09:17
fe13c28

Changes

Core

Auth

  • Refactor platform specific auth initialization by @jan-tennert in #1100
  • Add session failsafe and option to require a session for requests by @jan-tennert in #1071
    • When trying to make a request with an expired access token, the client will try to force-refresh the session
    • There is a new option for all plugins to require the user to be authenticated to make requests with that plugin (instead of falling back to the api key as the access token). Note that some methods ignore this option.
  • Add onError parameter to handleDeeplink methods by @jan-tennert in #1136
    This is meant to handle exceptions happening when verifying the PKCE code contained in the deeplink
  • Handle secure email changes in Auth#verify by @jan-tennert in #1130
    Auth#verifyEmailOtp() will now return an OtpVerifyResult, depending on if the response contains a session.
  • Expose Auth#defaultRedirectUrl() by @jan-tennert in #1134
  • Fix infinite recursion for expired sessions by @jan-tennert in #1133
  • Fix a bug causing the sessionStatus to be set earlier than loading from storage by @jan-tennert in #1128
  • Fix redirect_to url parameter for resetPasswordForEmail() and getOAuthUrl() values not being encoded by @jan-tennert in #1125

Realtime

Compose Auth

Postgrest

  • only escape filters inside logical expressions and in lists by @sproctor in #1090

Storage

New Contributors

3.3.0-rc-1

3.3.0-rc-1 Pre-release
Pre-release

Choose a tag to compare

@jan-tennert jan-tennert released this 20 Dec 14:29
d0c6440

Changes

Core

  • Update Kotlin to version 3.3.0
  • fix: Make OS version optional in headers by @rafsanjani in #1088
  • Implement Native Google OAuth iOS in sample by @hieuwu in #1093
  • Mask sensitive information in RestException by @jan-tennert in #1113

Auth

Compose Auth

Postgrest

  • only escape filters inside logical expressions and in lists by @sproctor in #1090

Storage

New Contributors

3.3.0-beta-1

3.3.0-beta-1 Pre-release
Pre-release

Choose a tag to compare

@jan-tennert jan-tennert released this 10 Nov 01:09
ebc2b29

Changes

Publishing a beta version just to get the Native Google Auth on iOS out for testing & I'm not done implementing features for this version

Core

Compose Auth

Postgrest

  • only escape filters inside logical expressions and in lists by @sproctor in #1090

Storage

New Contributors

3.2.6

Choose a tag to compare

@jan-tennert jan-tennert released this 30 Oct 09:47
1278df8

Changes

  • Update Kotlin to version 2.2.21

Postgrest

3.2.5

Choose a tag to compare

@jan-tennert jan-tennert released this 15 Oct 14:32
f2115e6

Changes

Auth

Postgrest

Docs / README

  • Introduce new sample - Supa Sketcher - A realtime-white board application by @hieuwu in #1067

New Contributors