Bot releases are hidden (Show)
Published by jan-tennert over 1 year ago
Published by jan-tennert over 1 year ago
Published by jan-tennert over 1 year ago
watchosArm64
, watchosX64
, watchosSimulatorArm64
tvosArm64
, tvosX64
, tvosSimulatorArm64
Published by jan-tennert over 1 year ago
SupabaseClientBuilder#defaultSerializer
implementation("io.github.jan-tennert.supabase:serializer-moshi:VERSION")
val client = createSupabaseClient(url, key) {
defaultSerializer = MoshiSerializer()
}
implementation("io.github.jan-tennert.supabase:serializer-jackson:VERSION")
val client = createSupabaseClient(url, key) {
defaultSerializer = JacksonSerializer()
}
PlatformTargets
: MACOS
, WINDOWS
, LINUX
, WASM
PlatformTarget
: WEB
-> JS
, DESKTOP
-> JVM
SupabaseInternal
and SupabaseExperimental
from annotiations
to annotations
Napier
logging with Kermit
(just rename Napier
to Logger
, syntax is the same)MemorySessionManager
(default for linux)MemoryCodeVerifierCache
(default for linux)ResumableCache.Disk
-> SettingsResumableCache
ResumableCache.Memory
-> MemoryResumableCache
Published by jan-tennert over 1 year ago
SupabaseSerializer#encodeToJsonElement
method using the wrong function (resulting in a serialization error) (fixes #211)Published by jan-tennert over 1 year ago
Requires Repository: https://maven.pkg.jetbrains.space/public/p/ktor/eap
SupabaseClientBuilder#defaultSerializer
implementation("io.github.jan-tennert.supabase:serializer-moshi")
val client = createSupabaseClient(url, key) {
defaultSerializer = MoshiSerializer()
}
implementation("io.github.jan-tennert.supabase:serializer-jackson")
val client = createSupabaseClient(url, key) {
defaultSerializer = JacksonSerializer()
}
Published by jan-tennert over 1 year ago
Requires Repository: https://maven.pkg.jetbrains.space/public/p/ktor/eap
Published by jan-tennert over 1 year ago
Requires Repository: https://maven.pkg.jetbrains.space/public/p/ktor/eap
PlatformTargets
: MACOS
, WINDOWS
, LINUX
, WASM
PlatformTarget
: WEB
-> JS
, DESKTOP
-> JVM
SupabaseInternal
and SupabaseExperimental
from annotiations
to annotations
Napier
logging with Kermit
(just rename Napier
to Logger
, syntax is the same)MemorySessionManager
(default for linux)MemoryCodeVerifierCache
(default for linux)ResumableCache.Disk
-> SettingsResumableCache
ResumableCache.Memory
-> MemoryResumableCache
Published by jan-tennert over 1 year ago
Requires Ktor Repository: https://maven.pkg.jetbrains.space/public/p/ktor/eap
Published by jan-tennert over 1 year ago
Published by jan-tennert over 1 year ago
Published by jan-tennert over 1 year ago
Published by jan-tennert over 1 year ago
Note: I don't consider this release more stable than the previous releases as I'm still one person, but I think its pretty much feature-complete in comparison to the JavaScript SDK. As always, when finding bugs or if you have a suggestion/feature request feel free to open an issue.
GoTrue#modifyUser
: You don't specify a Provider anymore, you can just use the builder to modify everything.GoTrue#resendEmail
GoTrue#resendPhone
GoTrue#importAuthToken
parameters: jwt
renamed to accessToken
, added optional refreshToken
, autoRefresh
and retrieveUser
startAutoRefresh(session)
use importSession
insteadGoTrue#currentUserOrNull()
autoSaveToStorage
to GoTrueConfig
GoTrue#invalidateSession
in favor of GoTrue#logout
AdminApi#logout(jwt)
data
property to Email/Phone providersdata
parameter to sendOtpTo
& add overload for specifying a serializable valuechannel
property to Phone.Config
to support sending OTPs to WhatsAppAdminApi
LinkType.EmailChangeNew
GoTrue#invalidateAllRefreshTokens()
. Use logout
instead.GoTrue#retrieveUserForCurrentSession
not saving the session correctly.MfaApi#isMfaEnabled
to only return true when a verified factor is available.GoTrue#updateCurrentUser()
. Use retrieveUserForCurrentSession(updateSession = true)
instead.client.gotrue.loginWith(SSO.withProvider("providerId"))
client.gotrue.loginWith(SSO.withDomain("domain"))
Works same as oauth, deeplinking used for mobile and http callback server on desktopGoTrue#retrieveSSOUrl(type)
//change the login flow to PKCE in the GoTrue configuration
val client = createSupabaseClient(url, key) {
install(GoTrue) {
flowType = FlowType.PKCE
}
}
Note: You can customize the way the code verifiers get saved in the GoTrue config
GoTrue#exchangeCodeForSession(code)
GoTrue#parseFragmentAndImportSession(fragment)
, so you don't have to parse all this by yourself when using a custom OAuth implementationGoTrue#oAuthUrl(provider)
, to easily get the oauth url when using a custom implementationscopes
& queryParams
properties to OAuth configuration:
client.gotrue.loginWith(Google) {
scopes.add("email")
queryParams["key"] = "value"
}
providerToken
& providerRefreshToken
PostgrestFilterBuilder
likeAll
, likeAny
, ilikeAll
, ilikeAny
(which are not yet supported in supabase)Realtime.Config#customRealtimeURL
. Use customUrl
instead.Realtime#removeChannel(channel)
Realtime#removeAllChannels
RealtimeChannel#join
: blockUntilJoined
. If this parameter is set to true, this method will block until the RealtimeChannel actually joined, so you call broadcast
and track
without any problems directly after join
BucketApi#list
Storage#updateBucket
methodStorage#changePublicStatus
use updateBucket
insteadBucketApi#createUploadSignedUrl
to BucketApi#createSignedUploadUrl
Published by jan-tennert over 1 year ago
Published by jan-tennert over 1 year ago
autoRefresh
paramter to GoTrue#importAuthToken()
Published by jan-tennert over 1 year ago
GoTrue#resendEmail
GoTrue#resendPhone
PostgrestFilterBuilder
likeAll
, likeAny
, ilikeAll
, ilikeAny
(which are not yet supported in supabase)Published by jan-tennert over 1 year ago
GoTrue#importAuthToken
parameters: jwt
renamed to accessToken
, added optional refreshToken
and retrieveUser
startAutoRefresh(session)
use importSession
insteadGoTrue#currentUserOrNull()
autoSaveToStorage
to GoTrueConfig
Published by jan-tennert over 1 year ago
Realtime#subscriptions
Published by jan-tennert over 1 year ago
AdminApi
LinkType.EmailChangeNew
GoTrue#invalidateAllRefreshTokens()
. Use logout
instead.GoTrue#retrieveUserForCurrentSession
not saving the session correctly.MfaApi#isMfaEnabled
to only return true when a verified factor is available.GoTrue#updateCurrentUser()
. Use retrieveUserForCurrentSession(updateSession = true)
instead.Realtime.Config#customRealtimeURL
. Use customUrl
instead.Published by jan-tennert over 1 year ago
GoTrue#invalidateSession
in favor of GoTrue#logout
AdminApi#logout(jwt)
data
property to Email/Phone providersdata
parameter to sendOtpTo
& add overload for specifying a serializable valuechannel
property to Phone.Config
to support sending OTPs to WhatsApprange
parameter in PostgrestFilterBuilder
to Pair<Any, Any>
instead of LongRange
to support other rangesPostgrestFilterBuilder
Realtime#removeChannel(channel)
Realtime#removeAllChannels
RealtimeChannel#join
: blockUntilJoined
. If this parameter is set to true, this method will block until the RealtimeChannel actually joined, so you call broadcast
and track
without any problems directly after join
BucketApi#list