gotrue 2.8.0 copy "gotrue: ^2.8.0" to clipboard
gotrue: ^2.8.0 copied to clipboard

A dart client library for the GoTrue API.

2.8.0 #

  • FIX(gotrue): Signing in does not remove the session unless the operation succeeds. (#945). (b2854c56)
  • FEAT: Add zoom as a OAuth provider (#944). (98718b13)

2.7.0 #

  • FEAT(goture): Allow OAuthProvider.kakao for signInWithIdToken (#922). (e21db454)

2.6.1 #

  • FIX: Add newEmail to admin generateLink method (#904). (5697e206)
  • FIX: Weak password throws AuthWeakPasswordException. (#897). (4f5b853c)

2.6.0 #

  • FIX: Typos in gotrue_client.dart (#882). (54a0b979)
  • FEAT(gotrue): Add signInAnonymously() method (#883). (2e636131)
  • FEAT(gotrue,supabase_flutter): New auth token refresh algorithm (#879). (99931681)

2.5.1 #

  • FIX: Correct the id value passed to .unlinkIdentity() method (#841). (0585cdde)
  • FIX(gotrue,supabase_flutter): Throw error when parsing auth URL that contains an error description. (#839). (afc4ce51)

2.5.0 #

2.4.1 #

  • FIX(gotrue): Set _currentUser when setting initial session (#806). (042f3c6d)

2.4.0 #

  • FEAT(gotrue,supabase_flutter): Add signInWithSSO method (#798). (87c16327)

2.3.0 #

2.2.0 #

  • FIX(gotrue): Fix the issue where verfiyOTP emits signIn instead of passwordRecovery auth event. (#774). (fc426134)
  • FEAT(gotrue,supabase_flutter): Add identity linking and unlinking methods. (#760). (6c0c922d)

2.1.0 #

  • FEAT: add getUser() method. (62dcb8c6)

2.0.0 #

  • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.

2.0.0-dev.2 #

  • FIX: PKCE flow not emitting password recovery event (#744). (65859bd2)
  • FIX: sign out on already used refresh token (#740). (72ffb9ee)
  • FIX(gotrue): signing in with pkce flow fires two signedIn auth event (#734). (6dee1660)
  • FEAT(gotrue): add Figma to OAuth provider. (#743). (f5b72d47)

2.0.0-dev.1 #

  • FIX(gotrue): allow empty session response for verifyOtp method (#680). (dc6146dc)

2.0.0-dev.0 #

Note: This release has breaking changes.

  • FIX: token refresh doesn't block on ClientException (#660). (a5ef8b71)
  • FIX(gotrue,supabase): allow refreshSession after exception (#633). (8853155f)
  • FEAT(supabase_flutter): use SharedPreferences for access token (#608). (9d72a59d)
  • BREAKING REFACTOR: many auth breaking changes (#636). (7782a587)
  • BREAKING REFACTOR: use Dart 3 (#598). (02c4071a)

1.12.6 #

  • FIX(gotrue): allow empty session response for verifyOtp method (#680). (dc6146dc)

1.12.5 #

  • FIX(gotrue): remove import of dart:io from gotrue_client.dart (#659). (7280b490)
  • FIX: compile with webdev (#653). (23242287)
  • FIX(gotrue,supabase): allow refreshSession after exception (#633). (8853155f)

1.12.4 #

  • FIX(gotrue): remove import of dart:io from gotrue_client.dart (#659). (7280b490)

1.12.3 #

1.12.2 #

  • FIX(gotrue,supabase): allow refreshSession after exception (#633). (8853155f)

1.12.1 #

  • FIX(gotrue): export everything in constants.dart and hide what we want to hide instead of using show (#617). (24df174f)

1.12.0 #

  • FEAT(gotrue): add WhatsApp support for OTP login (#613). (40da5be2)

1.11.2 #

1.11.1 #

  • FIX(supabase): get jwt on http call (#540). (e044d3ca)
  • FIX(gotrue): remove OtpType deprecation and add assertion to check type for resend method (#567). (d4509de3)

1.11.0 #

  • FEAT(gotrue): add reauthenticate and resend method (#517). (35a924b9)

1.10.0 #

1.9.0 #

  • FEAT(gotrue): add accessToken to signInWithIdToken method (#520). (4dcd5968)

1.8.4 #

  • FIX(gotrue): Add missing members on User json serialization (#512). (70cc835b)
  • FIX(gotrue): only remove session in otp verification if it's not email change or phone change (#514). (23bed82c)

1.8.3 #

  • REFACTOR: bump minimum Dart SDK version to 2.17.0 (#510). (ed927ee0)

1.8.2 #

  • FIX(gotrue): catch some errors in signOut (#501). (03fa8be7)

1.8.1 #

  • FIX: Update http dependency constraints (#491). (825d0737)

1.8.0 #

  • FIX: reformat Provider type to be ordered alphabetically (#471). (c3a1dbb3)
  • FEAT: update dependency constraints to sdk < 4.0.0 (#474). (7894bc70)
  • FEAT: Add kakao provider enum type (#470). (9a1bb334)

1.7.1 #

  • chore: move the repo into supabase-flutter monorepo

[1.7.0] #

  • chore: export mfa types #140
  • feat: add synchronous onAuthStateChange for internal use #139
  • feat: add pkce flow support #135

[1.6.0] #

  • feat: expose headers as a getter #137
  • fix: prevent signedIn event from firing for passwordRecovery event #136
  • fix: pass missing catchaToken parameter on the request of signInWithPassword #138

[1.5.7] #

  • fix: prevent onAuthStateChange emitting null session when signed in #133

[1.5.6] #

  • fix: sign out users silently when refresh token is invalid #126
  • fix: correct expiry margin #130
  • fix: pass recoverSession errors to onAuthStateChanged #131

[1.5.5] #

  • fix: less sign in event #127
  • fix: add default value to auth response #128

[1.5.4] #

  • fix: lower the version of meta to v1.7.0 to match the requirement for Flutter 2.8.0

[1.5.3] #

  • fix: properly reset refresh retry count #122

[1.5.2] #

  • fix: make Factor.friendlyName nullable #121

[1.5.1] #

  • fix: downgrade meta to support minimum Flutter version.

[1.5.0] #

  • feat: add support for signInWithIdToken.

[1.4.2] #

  • fix: onAuthStateChanged now emits the latest AuthState #116

[1.4.1] #

  • fix: downgrade minimum collection version to support wider range of Flutter SDK versions

[1.4.0] #

  • feat: add support for MFA
    // Start the enrollment process for a new Multi-Factor Authentication (MFA) factor
    final res = await client.mfa
      .enroll(issuer: 'MyFriend', friendlyName: 'MyFriendName');
    
    // Prepares a challenge used to verify that a user has access to a MFA factor.
    final res = await client.mfa.challenge(factorId: factorId1);
    
    // Verifies a code against a challenge.
    final res = await client.mfa
            .verify(factorId: factorId1, challengeId: challengeId, code: getTOTP());
    
    Read more about MFA with Supabase here

[1.3.0] #

  • feat: paginate admin.listUsers()
    auth.admin.listUsers(page: 2, perPage: 10);
    

[1.2.1] #

  • fix: allow nullable role and updatedAt in User.fromJson() #108

[1.2.0] #

  • feat: add createUser(), deleteUser(), and listUsers() to admin methods. #106

[1.1.1] #

  • fix: use correct token for refreshing #104

[1.1.0] #

  • fix: redirect_to double URL encoding issue #102
  • fix: avoid positive lookbehind in snake case extension (#100)
  • fix: reset token retry count on session remove #98
  • feat: fail to getSessionFromUrl throws error on onAuthStateChange #99
    supabase.onAuthStateChange.listen((data) {
      // handle auth state change here
    }, onError: (error) {
      // handle error here
    });
    

[1.0.2] #

  • fix: verify otp exception on successful verification (#95)
  • fix: query parameter format for redirect_to when making request (#96)
  • fix: reset token retry count on session remove (#98)

[1.0.1] #

  • fix: a bug where emailRedirect does not work properly (#92)

[1.0.0] #

  • chore: v1.0.0 release 🚀
  • BREAKING: update the public API to match JS library (#90)
    • signUp() now uses named parameters
      // Before
      final res = await supabase.auth.signUp('example@email.com', 'password');
      // After
      final res = await supabase.auth.signUp(email: 'example@email.com', password: 'password');
    
    • signIn() is split into different methods
      // Magic link signin
      // Before
      final res = await supabase.auth.signIn(email: 'example@email.com');
      // After
      final res = await supabase.auth.signInWithOtp(email: 'example@email.com');
    
      // Email and password signin
      // Before
      final res = await supabase.auth.signIn(email: 'example@email.com', password: 'password');
      // After
      final res = await supabase.auth.signInWithPassword(email: 'example@email.com', password: 'password');
    
    • onAuthStateChange is now a stream
      // Before
      supabase.auth.onAuthStateChange((event, session) {
        // ...
      });
      // After
      final subscription = supabase.auth.onAuthStateChange().listen((data) {
        final AuthChangeEvent event = data.event;
        final Session? session = data.session;
      });
      // Don't forget to cancel the subscription when you're done
      subscription.cancel();
    
    • update() is renamed to updateUser()
      // Before
      final res = await supabase.auth.update(
          UserAttributes(
            email: 'new@email.com',
            data: {
              'username': 'new_username',
            },
          ),
      );
      // After
      final res = await supabase.auth.updateUser(
          UserAttributes(
            email: 'new@email.com',
            data: {
              'username': 'new_username',
            },
          ),
      );
    

[1.0.0-dev.4] #

  • fix: encoding issue with some languages(#89)

[1.0.0-dev.3] #

  • BREAKING: data property of GotrueSessionResponse is renamed to session(#87)
  • fix: bug where siningup with email verification throwed an exception(#87)

[1.0.0-dev.2] #

  • BREAKING: rename GotrueError to GoTrueException

[1.0.0-dev.1] #

  • chore: Update lints to v2.0.0
  • feat: Add .generateLink() method(#83)
  • fix: Nullable type error if signInWithEmail is used twice(#84)

[0.2.3] #

  • feat: Able to update phone number with auth.update method(#81)

[0.2.2+1] #

  • fix: type casting of phone auth response(#79)

[0.2.2] #

  • fix: OpenIDConnectCredentials's nonce parameter optional
  • fix: use completer in the retry logic to return value when token refresh is complete(#75)

[0.2.1] #

  • fix: Retry access token refresh when offline (#63)
  • feat: Can add custom http client(#69)
  • feat: Show statuscode in GotrueResponse(#69)

[0.2.0] #

  • BREAKING: user will be returned when signing up with auto confirm off (#63)
  • feat: Slack and Shopify as login providers(43)
  • fix: Adds missing keys - phone, phone_confirmed_at, emailed_confirmed_at to User.toJson()(43)

[0.1.6] #

  • fix: fetch the user, if missing, on /verify (#29)
  • feat: add JWT headers when refreshing token (#53)
  • feat: add signInWithOpenIDConnect (#61)

[0.1.5] #

  • feat: add toString method to GotrueErrorclass

[0.1.4] #

  • fix: trigger signedIn event on recoverSession

[0.1.3] #

  • feat: add tokenRefreshed auth event
  • feat: add slack, spotify and twitch Auth providers
  • fix: update currentSession.user when GoTrueClient.update is called
  • chore: export missing types

[0.1.2] #

  • feat: setAuth() method for setting the session with a provided jwt
  • fix: improve client tests

[0.1.1] #

  • chore: add X-Client-Info header

[0.1.0] #

  • feat: add support for phone auth

[0.0.7] #

  • fix: stop refreshToken timer on session removed
  • fix: close http.Client on request done
  • chore: update External OAuth Providers
  • chore: add example code block

[0.0.6] #

  • fix: export gotrue_response classes

[0.0.5] #

  • BREAKING CHANGE: rename 'ProviderOptions' to 'AuthOptions'
  • feat: support redirectTo option
  • fix: handle jwt expiry less than 60 seconds

[0.0.4] #

  • fix: session refresh timer

[0.0.3] #

  • fix: wrong timestamp value

[0.0.2] #

  • fix: persistSessionString with wrong expiresAt

[0.0.1] #

  • fix: URL encode redirectTo

[0.0.1-dev.11] #

  • fix: parsing provider callback url with fragment #12

[0.0.1-dev.10] #

  • fix: parses provider token and adds oauth scopes and redirectTo
  • fix: expiresAt conversion to int and getUser resolving JSON
  • fix: signOut method

[0.0.1-dev.9] #

  • fix: User nullable params
  • fix: Session nullable params
  • fix: lint errors

[0.0.1-dev.8] #

  • chore: Migrate to Null Safety

[0.0.1-dev.7] #

  • fix: Password and other attributes defaulting to email field.
  • chore: export UserAttributes

[0.0.1-dev.6] #

  • chore: export Provider class

[0.0.1-dev.5] #

  • fix: updateUser bug
  • fix: http success statusCode check
  • fix: stateChangeEmitters uninitialized value

[0.0.1-dev.4] #

  • fix: email verification required on sign up

[0.0.1-dev.3] #

  • chore: export Session and User classes

[0.0.1-dev.2] #

  • fix: session and user parsing from json
  • chore: method to get persistSessionString

[0.0.1-dev.1] #

  • Initial pre-release.