You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+73Lines changed: 73 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,78 @@
1
1
# Changelog
2
2
3
+
### 3.2.0 - June 25, 2025
4
+
5
+
### All modules
6
+
7
+
- Update to Kotlin `2.2.0`
8
+
- Update to Ktor `3.2.0`
9
+
- Don't swallow `CancellationException` by @sproctor in #895
10
+
- Only catch serialization exceptions in `bodyOrNull` by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/904
11
+
- Fix simple warnings by @sproctor in https://github.com/supabase-community/supabase-kt/pull/915
12
+
- Use Dispatchers.IO by default on multi-threaded platforms by @sproctor in https://github.com/supabase-community/supabase-kt/pull/905
13
+
- Configurable default dispatcher `SupabaseClientBuilder#coroutineDispatcher`, defaulting to `Dispatchers.IO` on supported targets.
14
+
- Deprecated `AuthConfig#coroutineDispatcher`, replaced by the new client wide dispatcher.
15
+
16
+
### Core
17
+
18
+
* Add new standard headers by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/927
19
+
20
+
### Auth
21
+
22
+
* Add new event system, add support for error code in OTP links by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/912
23
+
```kotlin
24
+
supabase.auth.events.collect {
25
+
when(it) {
26
+
isAuthEvent.OtpError-> {
27
+
println(it.errorCode)
28
+
}
29
+
isAuthEvent.RefreshFailure->TODO()
30
+
}
31
+
}
32
+
```
33
+
New event system which exists next to the `sessionStatus`, but works independently. Currently there are two events:
34
+
-`AuthEvent.OtpError(...)` - will be emitted if an error code was found in a OTP link (deeplink on Android/iOS, URL on JS and Desktop)
35
+
-`AuthEvent.RefreshFailure(cause)` - will be emitted if a session refresh failed (regardless if the session is still valid)
36
+
37
+
This PR also changes the `SessionStatus.RefreshFailure(cause)`:
38
+
- The `cause` parameter/property is deprecated (use the event for the cause)
39
+
- This status will only get set, if the session expired.
40
+
41
+
--> If a refresh failed, an event will always be emitted, but the session status will only get updated if the session also expired. Planning to rename the status in the future to something like `SessionStatus.NeedsRefresh`
42
+
43
+
Additional changes:
44
+
- Error related parameters will now be removed from the history when used
45
+
* (JS, WASM JS) Add an option to disable automatic url checking by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/96
46
+
```kotlin
47
+
install(Auth) {
48
+
disableUrlChecking =true//Default: false
49
+
}
50
+
```
51
+
* Add support for providing a custom url launcher by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/933
52
+
You can now provide a custom `UrlLauncher` for opening URLs in the OAuth flow:
53
+
```kotlin
54
+
install(Auth) {
55
+
urlLauncher =UrlLauncher { supabase, url ->
56
+
println("Opening URL: $url")
57
+
}
58
+
}
59
+
```
60
+
* Deprecate NativeSignInResult.NetworkError as it isn't used by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/952
61
+
* Deprecate minimalSettings in favor of minimalConfig by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/916
62
+
* Fix null result when sign up with Email provider by @hieuwu in https://github.com/supabase-community/supabase-kt/pull/922
63
+
- Fix OAuth server listener resuming coroutine twice by @jan-tennert in #893
64
+
A Desktop app using OAuth should no longer produce an exception when exiting the app after using `signInWith(OAuthProvider)`
65
+
- Add missing error codes by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/909:
- (JS/Wasm JS) Fix exception on non-session hash parameters and only consume used parameters by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/911
68
+
Previously, all URL parameters / hash parameter were removed after successfully authenticating, this is no longer the case.
69
+
- Fix session expiration check by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/913
70
+
The session will now also be refreshed when the current date time is under a certain threshold (20% before the actual expiration), instead of only after session expiration
71
+
72
+
### Postgrest
73
+
74
+
* Fix serialization exception occurring when `PostgrestRestException#details` is not a String by @jan-tennert in https://github.com/supabase-community/supabase-kt/pull/956
-[Apollo GraphQL integration](/plugins/ApolloGraphQL) - Creates an [Apollo GraphQL Client](https://github.com/apollographql/apollo-kotlin) for interacting with the Supabase API.
122
-
-[Compose Auth](/plugins/ComposeAuth) - Provides easy Native Google & Apple Auth for Compose Multiplatform targets.
123
-
-[Compose Auth UI](/plugins/ComposeAuthUI) - Provides UI Components for Compose Multiplatform.
124
-
-[Coil Integration](/plugins/CoilIntegration) - Provides a [Coil2](https://github.com/coil-kt/coil) Integration for displaying images stored in Supabase Storage. Only supports Android.
125
-
-[Coil3 Integration](/plugins/Coil3Integration) - Provides a [Coil3](https://github.com/coil-kt/coil) Integration for displaying images stored in Supabase Storage. Supports all Compose Multiplatform targets.
126
-
-*[Compose-ImageLoader Integration](/plugins/ImageLoaderIntegration) - Deprecated. Use Coil 3 or create your own integration*
123
+
There are several plugins available to extend the functionality of supabase-kt. They can be installed in the `createSupabaseClient` function.
124
+
125
+
Some highlights include:
126
+
127
+
-[Apollo GraphQL integration](https://github.com/supabase-community/supabase-kt-plugins/tree/main/ApolloGraphQL) - Creates an [Apollo GraphQL Client](https://github.com/apollographql/apollo-kotlin) for interacting with the Supabase API.
128
+
-[Compose Auth](https://github.com/supabase-community/supabase-kt-plugins/tree/main/ComposeAuth) - Provides easy Native Google & Apple Auth for Compose Multiplatform targets.
129
+
-[Compose Auth UI](https://github.com/supabase-community/supabase-kt-plugins/tree/main/ComposeAuthUI) - Provides UI Components for Compose Multiplatform.
130
+
-[Coil3 Integration](https://github.com/supabase-community/supabase-kt-plugins/tree/main/Coil3Integration) - Provides a [Coil3](https://github.com/coil-kt/coil) Integration for displaying images stored in Supabase Storage. Supports all Compose Multiplatform targets.
131
+
132
+
For more information, checkout [supabase-kt-plugins](https://github.com/supabase-community/supabase-kt-plugins).
127
133
128
134
### Miscellaneous
129
135
-[Supabase Edge Functions Kotlin](https://github.com/manriif/supabase-edge-functions-kt) - Build, serve and deploy Supabase Edge Functions with Kotlin and Gradle.
0 commit comments