supabase 2.6.1 copy "supabase: ^2.6.1" to clipboard
supabase: ^2.6.1 copied to clipboard

A dart client for Supabase. This client makes it simple for developers to build secure and scalable products.

2.6.1 #

  • FIX(realtime_client): Prevent sending expired tokens (#1095). (1bb034f0)
  • FIX(realtime_client): Consolidate realtime subscription for stream (#1096). (4e351155)

2.6.0 #

2.5.0 #

2.4.0 #

  • FIX: Better stream and access token management (#1019). (4a8b6416)
  • FEAT: Broadcast auth events to other tabs on web (#1005). (8f473f1a)

2.3.0 #

  • FIX: Upgrade web_socket_channel for supporting web: ^1.0.0 and therefore WASM compilation on web (#992). (7da68565)
  • FEAT: Add third-party auth support (#999). (c68d44d1)

2.2.7 #

  • Update a dependency to the latest release.

2.2.6 #

  • Update a dependency to the latest release.

2.2.5 #

  • FIX: Add error messages for when the session or expiresAt was missing while making API requests. (#976). (a25993cb)

2.2.4 #

  • Update a dependency to the latest release.

2.2.3 #

  • Update a dependency to the latest release.

2.2.2 #

  • Update a dependency to the latest release.

2.2.1 #

  • Update a dependency to the latest release.

2.2.0 #

  • FEAT: Allow setting timeout of RealtimeClient. (#932). (dba8bae0)

2.1.3 #

  • Update a dependency to the latest release.

2.1.2 #

  • Update a dependency to the latest release.

2.1.1 #

  • Update a dependency to the latest release.

2.1.0 #

  • FIX: Don't send access token in rest broadcast (#881). (01a10c97)
  • FEAT(gotrue,supabase_flutter): New auth token refresh algorithm (#879). (99931681)

2.0.9 #

  • Update a dependency to the latest release.

2.0.8 #

  • REFACTOR: Deprecate eventsPerSecond on Realtime (#838). (42383873)

2.0.7 #

  • Update a dependency to the latest release.

2.0.6 #

  • Update a dependency to the latest release.

2.0.5 #

  • Update a dependency to the latest release.

2.0.4 #

  • Update a dependency to the latest release.

2.0.3 #

  • Update a dependency to the latest release.

2.0.2 #

  • Update a dependency to the latest release.

2.0.1 #

  • Update a dependency to the latest release.

2.0.0 #

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

2.0.0-dev.4 #

  • FIX: realtime ordering on double (#741). (f20faef7)
  • REFACTOR: make schema variable private and rename useSchema() to schema() (#737).

2.0.0-dev.3 #

  • Update a dependency to the latest release.

2.0.0-dev.2 #

  • Update a dependency to the latest release.

2.0.0-dev.1 #

  • Update a dependency to the latest release.

2.0.0-dev.0 #

Note: This release has breaking changes.

  • FIX: stream with a different schema (#661). (c8fc2482)
  • FIX(gotrue,supabase): allow refreshSession after exception (#633). (8853155f)
  • FEAT(supabase_flutter): use SharedPreferences for access token (#608). (9d72a59d)
  • FEAT(postgrest): immutability (#600). (95256697)
  • DOCS: update readme to v2 (#647). (514cefb4)
  • BREAKING REFACTOR: rename is_ and in_ to isFilter and inFilter (#646). (1227394e)
  • BREAKING REFACTOR: create package specific configs (#640). (53cd3e09)
  • BREAKING REFACTOR: many auth breaking changes (#636). (7782a587)
  • BREAKING REFACTOR: use Dart 3 (#598). (02c4071a)
  • BREAKING FIX(supabase): make Supabase credentials private in SupabaseClient (#649). (fa341bfe)
  • BREAKING FEAT(postgrest): stronger type system for query building (#624). (951ce89e)
  • BREAKING FEAT: use Object? instead of dynamic (#606). (0c6caa00)

1.11.11 #

  • Update a dependency to the latest release.

1.11.10 #

  • FIX: make Supabase client work in Dart Edge again (#675). (53530f22)
  • FIX(gotrue,supabase): allow refreshSession after exception (#633). (8853155f)

1.11.9 #

  • Update a dependency to the latest release.

1.11.8 #

  • Update a dependency to the latest release.

1.11.7 #

  • Update a dependency to the latest release.

1.11.6 #

  • Update a dependency to the latest release.

1.11.5 #

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

1.11.4 #

  • Update a dependency to the latest release.

1.11.3 #

  • Update a dependency to the latest release.

1.11.2 #

  • Update a dependency to the latest release.

1.11.1 #

  • FIX(realtime_client,supabase): pass apikey as the initial access token for realtime client (#596). (af8e368b)

1.11.0 #

  • FEAT: add logLevel parameter to RealtimeClientOptions (#592). (76e9fc20)

1.10.0 #

  • FEAT(postgrest,supabase): add useSchema() method for making rest API calls on custom schema. (#525). (40a0f090)

1.9.9 #

  • Update a dependency to the latest release.

1.9.8 #

1.9.7 #

  • Update a dependency to the latest release.

1.9.6 #

  • Update a dependency to the latest release.

1.9.5 #

  • Update a dependency to the latest release.

1.9.4 #

  • Update a dependency to the latest release.

1.9.3 #

  • REFACTOR: bump minimum Dart SDK version to 2.17.0 (#510). (ed927ee0)
  • FIX(supabase): add stackTrace on stream exception (#509). (c8c3ace2)
  • FIX: Add errors from .subscribe() to .stream() streamController (#506). (a4cb4c53)

1.9.2 #

  • REFACTOR(supabase): simplify functions url (#496). (21e9fc1b)

1.9.1 #

  • FIX: Update http dependency constraints (#491). (825d0737)
  • DOCS(supabase): update comment docs on stream (#482). (5de84c24)

1.9.0 #

  • FEAT: update dependency constraints to sdk < 4.0.0 (#474). (7894bc70)

1.8.1 #

  • chore: move the repo into supabase-flutter monorepo

[1.8.0] #

  • feat: make the headers property editable #185
    // Add custom headers using the `headers` setter
    supabase.headers = {'my-headers': 'my-value'};
    

[1.7.0] #

  • feat: add async storage as parameter to support pkce flow #190
  • fix: use onAuthStateChangeSync to set auth headers #193

[1.6.4] #

  • fix: race condition for passing auth headers for rest client #192

[1.6.3] #

  • fix: copy headers value on from() call #189

[1.6.2] #

  • fix: handle onAuthStateChange errors silently #187
  • fix: persist a single postgrest client #186

[1.6.1] #

  • fix: update storage to v1.2.3
    • add setAuth() function
  • fix: keep one storage and functions instance to persist auth #182

[1.6.0] #

  • feat: update gotrue to v1.5.1
    • add support for signInWithIdToken
  • feat: update functions_client to v1.1.0
    • add method parameter to invoke() to support all GET, POST, PUT, PATCH, DELETE methods

[1.5.1] #

  • fix: reuse isolate for .rpc() call #177

[1.5.0] #

  • feat: add realtimeClientOptions to SupabaseClient #173
  • fix: add missing options parameter to rpc #174
  • fix: update postgrest to v1.2.2
    • improve comment docs
    • deprecate returning parameter of .delete()
  • fix: update storage to v1.2.2
    • properly parse content type

[1.4.0] #

  • feat: use single isolate for functions and postgrest and add isolate parameter to SupabaseClient #169
  • fix: update gotrue to v1.4.1
    • onAuthStateChanged now emits the latest AuthState
    • downgrade minimum collection version to support wider range of Flutter SDK versions
  • fix: update storage to v1.2.1
    • correct path parameter documentation

[1.3.0] #

  • fix: handle update and delete on record that wasn't found properly using stream #167
  • feat: update gotrue to v1.4.0
    • 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
    • paginate admin.listUsers()
      auth.admin.listUsers(page: 2, perPage: 10);
      
  • feat: update postgrest to v1.2.1
  • fix: update realtime to v1.0.2
    • export realtime presence
  • feat: update storage to v1.2.0
    • add transform option to createSignedUrl(), getPublicUrl(), and .download() to transform images on the fly
      final signedUrl = await storage.from(newBucketName).createSignedUrl(uploadPath, 2000,
                  transform: TransformOptions(
                    width: 100,
                    height: 100,
                  ));
      final publicUrl = storage.from(bucket).getPublicUrl(path,
              transform: TransformOptions(width: 200, height: 300));
      final file = await storage.from(newBucketName).download(uploadPath,
              transform: TransformOptions(
                width: 200,
                height: 200,
              ));
      

[1.2.0] #

  • feat: add storage retry option to enable storage to auto retry failed upload attempts (#163)
    // The following will initialize a supabase client that will retry failed uploads up to 25 times,
    // which is about 10 minutes of retrying.
    final supabase = SupabaseClient('Supabase_URL', 'Anon_key', storageRetryAttempts: 25);
    
  • feat: update storage to v1.1.0
  • feat: update gotrue to v1.2.0
    • add createUser(), deleteUser(), and listUsers() to admin methods.

[1.1.2] #

  • fix: enable listening to the same stream multiple times (#161)

[1.1.1] #

  • fix: update postgrest to v1.1.1
  • fix: implement asyncMap and asyncExpand (#159)

[1.1.0] #

  • fix: stream filter other than eq is not properly applied. (#156)
  • fix: update examples (#157)
  • feat: update gotrue to v1.1.1
    • fail to getSessionFromUrl throws error on onAuthStateChange
      supabase.onAuthStateChange.listen((data) {
        // handle auth state change here
      }, onError: (error) {
        // handle error here
      });
      
  • feat: update postgrest to v1.1.0
    • feat: add generic types to .select()
      // data is `List<Map<String, dynamic>>`
      final data = await supabase.from<List<Map<String, dynamic>>>('users').select();
      
      // data is `Map<String, dynamic>`
      final data = await supabase.from<Map<String, dynamic>>('users').select().eq('id', myId).single();
      

[1.0.1] #

  • fix: update sample code on readme.md

[1.0.0] #

  • chore: v1.0.0 release 🚀
  • BREAKING: set minimum SDK of Dart at 2.15.0 (#150)
  • BREAKING: .stream() now takes a named parameter primaryKey instead of a positional argument.
    supabase.from('my_table').stream(primaryKey: ['id']);
    
  • feat: .stream() has 5 additional filters: neq, gt, gte, lt, lte (#148)
  • chore: update postgrest to v1.0.0
  • chore: update realtime to v1.0.0
  • chore: update storage to v1.0.0
  • chore: update functions to v1.0.0
  • BREAKING: update gotrue to v1.0.0
    • 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.9] #

  • fix: update realtime to v1.0.0-dev.5
    • fix: sends null for access_token when not signed in (#53)

[1.0.0-dev.8] #

  • fix: recreate a PostgrestClient with proper auth headers when calling .rpc() (#143)
  • fix: allow custom headers to be set for SupabaseClient (#144)
  • fix: stream error will emit the entire exception and the stack trace (#145)
  • fix: update realtime to v1.0.0-dev.4
    • fix: bug where it throws exception when listening to postgres changes on old version of realtime server

[1.0.0-dev.7] #

  • BREAKING: update relatime to v1.0.0-dev.3
    • update payload shape on old version of realtime server to match the new version
  • fix: update gotrue to v1.0.0-dev.4
    • fix: encoding issue with some languages
  • fix: update postgrest to v1.0.0-dev.4
    • fix: update insert documentation to reflect new returning behavior

[1.0.0-dev.6] #

  • fix: .stream() method typing issue

[1.0.0-dev.5] #

  • BREAKING: update realtime to v1.0.0-dev.2
  • deprecated: .execute() and .stream() can be used without it
  • BREAKING: filters on .stream() no longer takes the realtime syntax. .eq() method should be used to apply eq filter on .stream().
// before
supabase.from('my_table:title=eq.Supabase')
  .stream(['id'])
  .order('created_at')
  .limit(10)
  .execute()
  .listen((payload) {
    // do something with payload here
  });

// now
supabase.from('my_table')
  .stream(['id'])
  .eq('title', 'Supabase')
  .order('created_at')
  .limit(10)
  .listen((payload) {
    // do something with payload here
  });

[1.0.0-dev.4] #

  • fix: update storage to v1.0.0-dev.3
  • fix: add web_socket_channel to dev dependencies since it is used in tests
  • fix: add basic postgrest test
  • BREAKING: update gotrue to v1.0.0-dev.3

[1.0.0-dev.3] #

[1.0.0-dev.2] #

  • feat: custom http client

[1.0.0-dev.1] #

[0.3.6] #

  • fix: Calling postgrest endpoints within realtime callback throws exception
  • feat: update gotrue to v0.2.3

[0.3.5] #

  • fix: update gotrue to v0.2.2+1
  • feat: update postgrest to v0.1.11
  • fix: flaky test on stream()

[0.3.4+1] #

  • fix: export type, SupabaseRealtimePayload

[0.3.4] #

  • fix: update gotrue to v0.2.2

[0.3.3] #

[0.3.2] #

[0.3.1+1] #

  • feat: exporting classes of functions_client

[0.3.1] #

  • feat: add functions support

[0.3.0] #

  • BREAKING: update gotrue_client to v0.2.0

[0.2.15] #

  • chore: update gotrue_client to v0.1.6

[0.2.14] #

  • chore: update gotrue_client to v0.1.5
  • chore: update postgrest to v0.1.9
  • chore: update realtime_client to v0.1.15
  • chore: update storage_client to v0.0.6+2

[0.2.13] #

  • chore: update realtime_client to v0.1.14

[0.2.12] #

  • fix: changedAccessToken never initialized error when changing account
  • fix: stream replaces the correct row

[0.2.11] #

  • feat: listen for auth event and handle token changed
  • chore: update gotrue to v0.1.3
  • chore: update realtime_client to v0.1.13
  • fix: use PostgrestFilterBuilder type for rpc
  • docs: correct stream method documentation

[0.2.10] #

  • fix: type 'Null' is not a subtype of type 'List

[0.2.9] #

  • feat: add user_token when creating realtime channel subscription
  • fix: typo on Realtime data as Stream on readme.md

[0.2.8] #

  • chore: update gotrue to v0.1.2
  • chore: update storage_client to v0.0.6
  • fix: cleanup imports in supabase_stream_builder to remove analysis error

[0.2.7] #

  • chore: update postgrest to v0.1.8

[0.2.6] #

  • chore: add X-Client-Info header
  • chore: update gotrue to v0.1.1
  • chore: update postgrest to v0.1.7
  • chore: update realtime_client to v0.1.11
  • chore: update storage_client to v0.0.5

[0.2.5] #

  • chore: update realtime_client to v0.1.10

[0.2.4] #

  • chore: update postgrest to v0.1.6

[0.2.3] #

  • chore: update realtime_client to v0.1.9

[0.2.2] #

  • fix: bug where stream() tries to emit data when StreamController is closed

[0.2.1] #

  • chore: update realtime_client to v0.1.8

[0.2.0] #

  • feat: added stream() method to listen to realtime updates as stream

[0.1.0] #

  • chore: update gotrue to v0.1.0
  • feat: add phone auth

[0.0.8] #

  • chore: update postgrest to v0.1.5
  • chore: update storage_client to v0.0.4

[0.0.7] #

  • chore: update realtime_client to v0.1.7

[0.0.6] #

  • chore: update realtime_client to v0.1.6

[0.0.5] #

  • chore: update realtime_client to v0.1.5

[0.0.4] #

  • chore: update realtime_client to v0.1.4

[0.0.3] #

  • chore: update storage_client to v0.0.3

[0.0.2] #

  • chore: update gotrue to v0.0.7
  • chore: update postgrest to v0.1.4
  • chore: update storage_client to v0.0.2

[0.0.1] #

  • chore: update storage_client to v0.0.1
  • Initial Release

[0.0.1-dev.27] #

  • chore: update realtime to v0.1.3

[0.0.1-dev.26] #

  • chore: update gotrue to v0.0.6

[0.0.1-dev.25] #

  • chore: update realtime to v0.1.2

[0.0.1-dev.24] #

  • fix: export postgrest classes

[0.0.1-dev.23] #

  • chore: update realtime to v0.1.1

[0.0.1-dev.22] #

  • chore: update gotrue to v0.0.5

[0.0.1-dev.21] #

  • chore: update realtime to v0.1.0

[0.0.1-dev.20] #

  • chore: update gotrue to v0.0.4

[0.0.1-dev.19] #

  • chore: update gotrue to v0.0.3

[0.0.1-dev.18] #

  • chore: update gotrue to v0.0.2
  • chore: update postgrest to v0.1.3
  • chore: update storage_client to v0.0.1-dev.3

[0.0.1-dev.17] #

  • chore: update realtime to v0.0.9
  • chore: update postgrest to v0.1.2

[0.0.1-dev.16] #

  • chore: update storage_client to v0.0.1-dev.2
  • chore: update gotrue to v0.0.1

[0.0.1-dev.15] #

  • chore: update postgrest to v0.1.1
  • chore: update gotrue to v0.0.1-dev.11

[0.0.1-dev.14] #

  • refactor: use storage_client package v0.0.1-dev.1

[0.0.1-dev.13] #

  • fix: package dependencies

[0.0.1-dev.12] #

  • feat: implement Storage API
  • chore: update postgrest to v0.1.0
  • chore: update gotrue to v0.0.1-dev.10

[0.0.1-dev.11] #

  • fix: aligned exports with supabase-js

[0.0.1-dev.10] #

  • chore: migrate to null-safety

[0.0.1-dev.9] #

  • fix: rpc to return PostgrestTransformBuilder
  • chore: update postgrest to v0.0.7
  • chore: expose gotrue User as AuthUser
  • chore: expose 'RealtimeSubscription'
  • chore: update lib description

[0.0.1-dev.8] #

  • fix: rpc method missing param name

[0.0.1-dev.8] #

  • chore: update postgrest ^0.0.6

[0.0.1-dev.6] #

  • chore: update gotrue v0.0.1-dev.7
  • chore: update realtime_client v0.0.7

[0.0.1-dev.5] #

  • refactor: SupabaseRealtimePayload variable names

[0.0.1-dev.4] #

  • fix: export SupabaseEventTypes
  • chore: include realtime supscription code in example

[0.0.1-dev.3] #

  • fix: SupabaseRealtimeClient client and payload parsing bug
  • update: realtime_client to v0.0.5

[0.0.1-dev.2] #

  • fix: builder method not injecting table in the url

[0.0.1-dev.1] #

  • Initial pre-release.
547
likes
160
points
116k
downloads

Publisher

verified publishersupabase.io

Weekly Downloads

A dart client for Supabase. This client makes it simple for developers to build secure and scalable products.

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

functions_client, gotrue, http, logging, postgrest, realtime_client, rxdart, storage_client, yet_another_json_isolate

More

Packages that depend on supabase