Supabase is now used by 10 million developers worldwide!
We want to thank the amazing community we have. We could have done it without all of you!
We will keep striving to provide the best developer platform in the world!
We have a new command in the Supabase CLI to walk you through setting up declarative database schema. It's currently in alpha, so we would like to see how you like it.
Update your Supabase CLI, enable pgdelta from your config.toml file, and try it out!
We hit 200,000 followers 🎉
To celebrate, we're doing a Supabase swag challenge!
Generate an image of your dream Supabase swag and comment below 👇
We will pick our favorite in a week and send the actual swag to you!
Supabase has raised $500M at a $10B valuation
In this round we are giving @supabase employees the opportunity to cash out 25% of their vested options. We have done this in every round since inception.
We do it as a “cashless transaction” so that employees don’t need to front any cash to exercise their options. This is the friendliest way we could design it until we can offer RSUs.
On top of that, we give employees a 10 year exercise window: whether they stay or leave the company. The typical/default window is 3 months. IMO, equity is earned and employees shouldn't be penalized because they don't have the cash to exercise within 3 months of leaving a job (often that's the time they need the cash/certainty the most).
One missing WHERE clause and every user can see every other users' data! 😬
In this video I go through everything you need to know about permissions to avoid that!
→ Multi-tenancy
→ RLS
→ RBAC
→ JWT Claims
Plus the JWT caching gotcha that trips up almost every dev 👇
We have improved the SQL editor experience for the local version of Supabase.
The SQL snippets will now be stored inside the supabase/snippets directory, which you can commit to git and share across teams, or add them to .gitignore, your choice.
We just released Passkeys for @Supabase Auth
i checked in GitHub discussions and this was the 3rd-most upvoted feature request
it's available on all projects now (in Beta)
Using the proper Supabase local development flow is the best way to provide the most accurate context of your Supabase project!
Learn how to get started with Supabase locally in this video:
As part of our effort to move the platform toward declarative code, new tables in the public schema will no longer be automatically exposed to the Data API in new Supabase projects starting May 30th.
Instead, tables will need to be explicitly granted each permission to each role, either through the dashboard or via SQL.
Explicit Postgres grants are reviewable, diffable, and greppable. They also give you per-role control: anon and authenticated need different privileges in most schemas, and an explicit grant makes that difference visible in your migrations. This was always possible; now it's the default.
Heads up: there's currently a typosquatting package on npm pretending to be related to Supabase:
𝗌𝗎𝗉𝖺𝖻𝖺𝗌𝖾-𝗃𝖺𝗏𝖺𝗌𝖼𝗋𝗂𝗉𝗍
This is not an official Supabase package.
Always verify package names before installing dependencies, especially when using AI/codegen tools that may hallucinate package names.
Official packages are published under the @𝗌𝗎𝗉𝖺𝖻𝖺𝗌𝖾/* 𝗌𝖼𝗈𝗉𝖾.
We're actively working to get this package taken down.
@supabase/server is in public beta.
This is a new package that handles auth verification, client setup, request context, and common server-side boilerplate for you. It works across Edge Functions, Cloudflare Workers, Hono and Bun.
https://t.co/xPDwXxs3vH
We're hosting a meetup in Lisbon on May 7!
- Walkthrough of the latest Supabase releases
- Open Q&A with the Supabase team
- Pizza, drinks, and giveaways
https://t.co/Hjdc81Nkvj
Using RPCs (database functions) has become my default way of interacting with @supabase db.
Here are some benefits I get:
✅ Transactions: Everything runs inside the database. If something fails, it rolls back automatically. No need to handle partial failures on the client.
📱 Shared logic across clients: if I'm building a web app and a mobile app for the same product. Both call the same RPC. The business logic lives in one place, the database. No duplication, no drift.
🔒 Security: You can hide your tables entirely and only expose your RPCs to the client. You can configure this easily from the Supabase dashboard (see more on the video).