惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
I
InfoQ
Jina AI
Jina AI
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
量子位
月光博客
月光博客
罗磊的独立博客
雷峰网
雷峰网
The Cloudflare Blog
V
V2EX
小众软件
小众软件
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题

Supabase Blog

AI Agents Know About Supabase. They Don't Always Use It Right. Custom OIDC Providers for Supabase Auth 100,000 GitHub stars Supabase docs over SSH Navigating Regional Network Blocks Supabase Joins the Stripe Projects Developer Preview Log Drains: Now available on Pro Supabase Storage: major performance, security, and reliability updates Supabase incident on February 12, 2026 Hydra joins Supabase X / Twitter OAuth 2.0 is now available for Supabase Auth BKND joins Supabase Supabase is now an official Claude connector Supabase PrivateLink is now available Introducing: Postgres Best Practices When to use Read Replicas vs. bigger compute Introducing TRAE SOLO integration with Supabase Supabase Security Retro: 2025 Sync Stripe Data to Your Supabase Database in One Click Building ChatGPT Apps with Supabase Edge Functions and mcp-use Own Your Observability: Supabase Metrics API Introducing iceberg-js: A JavaScript Client for Apache Iceberg Introducing Supabase for Platforms Adding Async Streaming to Postgres Foreign Data Wrappers Build "Sign in with Your App" using Supabase Auth Introducing Seven New Email Templates for Supabase Auth The new Supabase power for Kiro Introducing Supabase ETL Introducing Analytics Buckets Introducing Vector Buckets
supabase-flutter v1 Released
Tyler Shukert · 2022-10-21 · via Supabase Blog

supabase-flutter v1 Released

A few months ago, we announced a developer preview version of supabase-flutter SDK. Since then, we have heard a lot of amazing feedback from the community, and have been improving it. Today, we are happy to announce the stable v1 of supabase-flutter. You can also find the updated quick start guide, documentation and a migration guide from v0.

supabase-flutter v1 focuses on improved developer experience. The new version requires far less boiler plate code as well as it provides more intuitive APIs. Here are some highlights of the update.

No more .execute()#

Previously, for .select(), .insert(), .update(), .delete() and .stream() required execute() to be called at the end. On top of that, errors are thrown, not returned, so you can be sure that you have the query results in the returned value.


_10

// Before

_10

final response = await supabase.from('messages').select().execute();

_10

final data = response.data;

_10

_10

// After

_10

final data = await supabase.from('messages').select();


More predictable auth methods#

Names of the auth methods are more descriptive about what they do. Here are some examples of the new methods:


_10

await supabase.auth.signInWithPassword(email: email, password: password);

_10

_10

await supabase.auth.signInWithOAuth(Provider.github)


Also, onAuthStateChange returns stream, which feels more natural for anyone coding in Dart.


_10

supabase.auth.onAuthStateChange.listen((data) {

_10

final AuthChangeEvent event = data.event;

_10

final Session? session = data.session;

_10

});


Realtime Multiplayer edition support#

During the last launch week, we announced the general availability of Realtime Multiplayer. supabase-flutter now has first class support for the two newly introduced realtime methods, broadcast and presence. Broadcast can be used to share realtime data to all connected clients with low latency. Presence is a way to let other connected clients know the status of the client. You can visit multiplayer.dev to see a quick demo of the feature.


_31

final channel = Supabase.instance.client.channel('my_channel');

_31

_31

// listen to `location` broadcast events

_31

channel.on(

_31

RealtimeListenTypes.broadcast,

_31

ChannelFilter(

_31

event: 'location',

_31

), (payload, [ref]) {

_31

// Do something exciting with the broadcast event

_31

});

_31

_31

// send `location` broadcast events

_31

channel.send(

_31

type: RealtimeListenTypes.broadcast,

_31

event: 'location',

_31

payload: {'lat': 1.3521, 'lng': 103.8198},

_31

);

_31

_31

// listen to presence states

_31

channel.on(RealtimeListenTypes.presence, ChannelFilter(event: 'sync'),

_31

(payload, [ref]) {

_31

// Do something exciting with the presence state

_31

});

_31

_31

// subscribe to the above changes

_31

channel.subscribe((status) async {

_31

if (status == 'SUBSCRIBED') {

_31

// if subscribed successfully, send presence event

_31

final status = await channel.track({'user_id': myUserId});

_31

}

_31

});


These are just tip of the iceberg of all the updates that we shipped in v1. Check out the documentation to see the full list.

It required massive support from the community to bring the supabase-flutter to where it is today. I would like to thank everyone who has contributed to the library, and a special thanks to Bruno and Vinzent, who have been key for this release. We really could not have done it without you!