The open source Firebase alternative.
APACHE-2.0 License
Bot releases are hidden (Show)
Supabase underwent Consolidation Month™ to focus on initiatives that improve the stability, scalability, and security of our products. We also have exciting product announcements that we can’t wait to share. Let’s dive in!
We kicked off Consolidation Month (no it’s not actually trademarked) during the month of May. During this time, every product team within Supabase addressed outstanding performance and stability issues of existing features. Here’s a small subset of initiatives and product announcements as part of Consolidation Month:
The newly released @supabase/ssr package improves cookie management, developer experience, and handling of edge cases in various SSR and CSR contexts. We’ve added extensive testing to prevent issues that users experienced with the @supabase/auth-helpers package.
pgvector v0.7.0 introduced float16 vectors that further improve HNSW build times by 30% while reducing shared memory and disk space by 50% when both index and underlying table use 16-bit float. The latest version also adds sparse and bit vectors as well as L1, Hamming, and Jaccard distance functions.
The Edge Functions team has significantly reduced the error rate for functions encountering memory issues by implementing better safeguards. This has greatly minimized errors with the 502 status code. Additionally, status codes and limits are now documented separately.
The Supabase Dashboard is now better equipped to handle your projects, regardless of their size. We have implemented sensible defaults for the amount of data rendered and returned in the Table and SQL Editors to prevent browser performance issues while maintaining a snappy user experience.
Realtime now emits standardized error codes, providing descriptions of their meanings and suggested actions. This enhancement improves your error-handling code and helps to narrow down whether the issue lies with the database, Realtime service, or client error.
We’ve improved the prompt and output of our RLS AI Assistant by including best practices found in our RLS docs and upgrading to OpenAI’s newest GPT-4o. We’ve also introduced numerous test scenarios to make sure you’re getting the right security and performance recommendations by comparing parsed SQL with the help of pg_query.
Published by w3b6x9 5 months ago
Here’s everything we shipped during our GA week:
Supabase has moved to General Availability (GA) with over 1 million databases under management and over 2,500 databases launched daily. We’ve been production ready for years and now we are fully confident that we can help every customer become successful, from weekend projects to enterprise initiatives at organizations like Mozilla, 1Password, and PwC.
Full announcement | Video announcement | X space
Supabase Functions has added a native API that makes it easy to run AI models within your functions while removing nasty cold starts. You can use the gte-small
embedding model to generate text embeddings or bring your own Ollama server to tap into many more embedding models and Large Language Models (LLMs) like Llama3 and Mistral. Soon we’ll provide hosted Ollama servers so you won’t have to manage them yourselves for a more seamless experience.
Blog post | Video announcement | X space
Supabase Auth heard your requests and went to work building anonymous sign-ins which enable you to create temporary users that have yet to sign up for your application. This lowers the friction for visitors to use your application while making it easy to convert them to permanent users once they’re hooked.
Blog post | Video announcement | X space
Supabase Storage already has standard and resumable uploads and now supports the industry standard S3 protocol enabling multipart upload and compatibility with a myriad of tools such as AWS CLI, Clickhouse, and Airbyte for a wide array of use cases.
Blog post | Video announcement | X space
Supabase has managed over 1 million databases over the last four years and has seen all manner of use cases with common pitfalls that we’re helping our customers address with our Security, Performance, and Index Advisors. These Advisors will help to surface and fix insecure database configurations and recommend database and query optimizations to keep your database secure and performant for your mission critical workloads.
Blog post | Video announcement | X space
We are delighted that so many high quality projects were submitted but in the end there could only be one Best Overall Project. The decision wasn’t easy but the Supabase panel of judges chose vdbs (vision database SQL) for the honorific. Congratulations 👏 to @xavimonp who will receive the prize of Apple AirPods.
Full list of winners | All the submissions
Just kidding, there’s always more than one. Here’s more awesome things we shipped:
Published by w3b6x9 7 months ago
We’re making a Special Announcement on April 15th with a few more surprises throughout the week. Claim your ticket today so you don’t miss out and enter for a chance to win a set of AirPods Max.
We’ve increased the Supavisor client connection limits, the number of concurrent clients that can connect to your project’s pooler, for projects on Small, Medium, Large, and XL compute instances while pricing remains unchanged.
Introducing a conversational AI assistant in the SQL Editor to help you write and iterate on your queries. This is currently under a feature preview and can be enabled with instructions here.
We’re simplifying Supavisor connection pooler ports and modes so that port 6543 is only transaction mode and port 5432 continues to be only session mode. If you have pool mode set to session we recommend you switch to pooler port 5432 and set the mode to transaction.
You may have noticed improved performance from your database over the last couple of weeks. We made some architectural changes to free up resources for your Postgres instance by removing Storage, Realtime, and Pgbouncer from your instance and each are replaced with an equivalent multi-tenant solution, including our new Supavisor connection pooler.
In this post we'll be creating a Python project to implement semantic image search featuring Amazon Bedrock and Amazon Titan’s multimodal model to embed images and Supabase Vecs client library for managing embeddings in your Supabase database with the pgvector extension.
Published by w3b6x9 8 months ago
Learn about how OpenAI’s newest text embeddings models, text-embedding-3-small and text-embedding-3-large, are able to truncate their dimensions with only a slight loss in accuracy.
Connect to Supabase from any framework or ORM with our new “Connect” panel in Studio. This displays simple setup snippets that you can copy and paste into your application. We’ve started with a selection of popular frameworks and ORMs and you can request more by feature request or pull request.
PostgREST v12 has been released, and with it, comes the release of the highly requested aggregate functions, avg()
, count()
, sum()
, min()
, and max()
, that is used to summarize data by performing calculations across groups of rows.
We’ve created an official Supabase Provider for Terraform to version-control your project settings in Git. You can use this provider in CI/CD pipelines to automatically provision projects and branches and keep configuration in code.
We've shifted the management of foreign keys into the Table Editor’s side panel so you can easily see all foreign keys pertaining to a table as well as referencing columns to composite foreign keys.
Learn about how we built a movie listing app that recommends another movie based on the movie that a user is currently viewing built with Supabase, Flutter, and OpenAI.
Performance testing evaluates a system's compliance with its performance requirements. It reveals your app’s ability to handle user load, unexpected spikes, or recover from stressful workloads. In this blog post you will learn about how we automated our performance testing.
Published by RamiroND 11 months ago
Number 10! A week of launches, and this time we are shipping multiple things every day. Make sure to get your ticket for the chance to snag some beautiful LWX swag.
With Resumable Uploads, you can continue uploading a file from where you left off, even if you lose internet connectivity or accidentally close your browser tab while uploading. We have now made Resumable Uploads available for all projects on the Pro Plan. You can now upload files as large as 50GB.
Logging in the CLI is as simple as typing supabase login
. Using the browser instead of copying the API keys from the dashboard manually. Small tweak to the flow, huge DX improvement!
We needed a way for the Elixir servers to "discover" each other. Elixir has an excellent library for this called "libcluster". We use Postgres as the common substrate between all the nodes in our Realtime service and created a Postgres strategy for libcluster.
Published by RamiroND 12 months ago
We've released @supabase/ssr
, which makes it super easy to use cookies for storing user sessions. We’ve updated npx create-next-app -e with-supabase
to use @supabase/ssr
and made it compatible with Next.js 14.
pgvector is becoming the vector store of choice for developers. We’ve put it to the test against Pinecone and found that it performs better on cost and query throughput, without sacrificing accuracy.
You can now manage Storage buckets with the Supabase CLI:
supabase storage ls -r
: show all buckets and objectssupabase cp -r readme.md ss:///bucket
: upload local files to bucketsupabase cp -r ss:///bucket
: download objects from bucketsupabase rm -r ss:///bucket
: delete files from bucketManaging Storage buckets with CLI works best if there are less than 100k objects in your bucket and each of them is smaller than 20MB. Reference docs are here.
Supabase Studio is improved many times per day, here is some of what's new:
Secure your Supabase account with Multi-Factor Authentication. You can now add a time-based one-time password (TOTP), managed by apps such as 1Password, Authy, Google Authenticator or Apple's Keychain.
Published by RamiroND about 1 year ago
You can now broadcast Realtime messages to all your connected users by simply using a REST API call, removing the need to connect to a WebSocket. This will be especially useful with our Edge Functions!
Less than two months ago, we announced Supavisor, our own Postgres connection pooler that handles millions of connections. It’s now available in all new projects. You can continue using pgbouncer alongside Supavisor, however, it will be deprecated effective January 15th, 2024.
With IPv4 addresses becoming increasingly scarce and cloud providers starting to charge for it, we won’t be assigning IPv4 addresses to Supabase projects from January 15th, 2024. [db.projectref.supabase.co](http://db.projectref.supabase.co)
will start resolving to a IPv6 address instead. If you plan on connecting to your database directly, you must ensure that your network can communicate over IPv6. Supavisor will continue to return IPv4 addresses, so you can update your applications to connect to Supavisor instead.
Introducing the latest addition to our Wrappers lineup: Airtable! You can use it to query data from your Airtable bases and tables directly from Postgres:
select * from my_airtable_table;
# data from Airtable
Read the Airtable Wrapper docs
Learn about Wrappers
Supabase Studio is under constant improvement, here is what’s new:
Added HNSW support inside Vecs, our Python library for pgvector
. Vecs automatically creates schemas and collections inside your database, making it one of the easiest ways to get started with pgvector
.
supabase-js
in these environments to fall back to use this default storage mechanism now. Upgrade to supabase-js v2.36.0 or gotrue-js v2.54.0 for the latest changes. [PR]Deno.serve(req => new Response("ok"))
. No http
standard library dependency needed. (Thanks eifr for contributing with updated CLI templates. [PR]Published by RamiroND about 1 year ago
pgvector v0.5.0 adds Hierarchical Navigable Small World (HNSW), a new type of index that ensures lightning-fast vector searches, especially in high-dimensional spaces and embeddings.
We are all about open source collaboration, and Hugging Face is one of the open source communities we admire most. That’s why we've added Hugging Face support in our Python Vector Client and Edge Functions (Javascript).
The CLI received some serious upgrades including observability tools, streamlined backups, and enhanced migrations. But that's not all – the big game-changer is the introduction of Supabase branching which we’re rolling out to selected customers.
Supabase Studio brings some huge new features, including AI SQL editor, Schema diagrams, Wrappers UI, and a lot more!
With the release of OAuth2 applications, we've made it easier than ever for our partners to extend the Supabase platform with useful tooling.
The New Supabase x Vercel integration streamlines the process of creating, deploying, and maintaining web applications with several enhancements. Plus, it fully supports the App Router in Next.js ▲
Supavisor is a scalable, cloud-native Postgres connection pooler written in Elixir. It has been developed with multi-tenancy in mind, handling millions of connections without significant overhead or latency. We’re rolling it out to every database on our platform.
Launch Week is an event for our community, so it’s a good time to look back at what happened in the last months (spoiler: a lot).
HIPAA and SOC2 Type 2
Supabase is officially SOC2 Type 2 and HIPAA compliant! In this write-up, we offer insights into what you can expect if you’re planning to go through the same process.
Shipping doesn’t stop here at Supabase! We are back in full shipping mode and already thinking about the next LW. These are some of the things we’ve been working on:
Published by RamiroND over 1 year ago
Supabase Auth now has full native support for Sign in with Apple and Google, which means it can now be used with one-tap sign in methods like Sign in with Apple JS, Sign in with Google for Web, or even in Chrome extensions.
It’s been a busy month for the Supabase CLI. We have added a tonne of new features:
usage
flag for monitoring key Postgres statistics.We have made huge improvements to the billing tooling inside Supabase Studio, including:
New subscription page | New usage page
Added the popular social platform Kakao as new social provider. Allow your users to effortlessly sign in using their Kakao accounts and make authentication a breeze while expanding your app's reach to a wider audience.
Published by RamiroND over 1 year ago
Storing vector embeddings in Postgres with 'pgvector' is becoming increasingly popular for AI applications, so we're building out a collection of tools to store, index, and query embeddings at scale.
Vault is a Postgres extension and accompanying Supabase UI that makes it safe and easy to store encrypted secrets and other data in your database.
We have updated the Next.js Auth Helpers package to make it available across the client and server of the App Router. They also now implement server-side auth by default with PKCE - meaning the entire auth flow is now possible server-side.
As we plan the next few months of Dashboard development, we're reaching out to users to see all the different ways people use the Dashboard in their work.
Last month, we opened up a public RFC for the Dashboard SQL Editor. It's been amazing to see how people use this tool to build their projects. If you're a heavy user of the SQL Editor, we'd love to get your feedback.
We also started doing user interviews to understand how users use the Dashboard. Our goal is to build the best possible Dashboard for all of our users, and you can help! Reach out to Terry you would like to share your experience.
[Auth] You can now use Turnstile as a Captcha provider. Doc
[Auth] How to send a password reauthentication nonce. Doc
[Dashboard] Supabase Wrappers UI that supports pulling data in from Firebase, Stripe, S3, and Clickhouse. Create a Wrapper
[Edge Functions] Support for deploying all Edge Functions via CLI. Doc
[Edge Functions] Custom domains and vanity domains support for Edge Functions. PR
[Storage] Image Transformation is now out of Beta. Doc
[Postgres Extensions] pg_cron 1.5.2 (new projects only) now supports sub-minute schedules. PR
- Deno Fresh Starter: ChatGPT-style doc search. Template
Vector Similarity Search in Bubble using Supabase Vector. Integration
Our friends from 1Password announced Passage and wrote an integration guide with Supabase. Doc
Supabase Vecs: a vector client for Postgres. Blog post
ChatGPT plugins now support Postgres & Supabase. Announcement
Building ChatGPT Plugins with Supabase Edge Runtime. Template
Published by RamiroND over 1 year ago
Logflare is the hub of analytics streams for Supabase. We are open sourcing it so that you can self-host your own Logging infrastructure.
You can now self-host Edge Functions and run them in local development using our new Edge Runtime. We published a guide showing how to self-host Edge Functions with Fly and what more is coming ⚡
Supabase Storage received many of the most requested features from our users: Resumable Uploads, Quality Filters, Next.js support, and WebP support.
On day 4, we introduced SSO with SAML 2.0, PKCE, and Sign in with Apple for iOS. It felt like acronym day, but it was actually Auth day!
Supabase Studio got a major upgrade that goes from redesigns to improved developer experience, and new tools. We have the features people have been asking for and new capabilities that will change the way you work.
database.dev fills the same role for PostgreSQL as npm
for JavaScript or pip
for Python, it enables publishing libraries and applications for repeatable deployment. Our goal is to create an open ecosystem for packaging and discovering SQL.
Published by RamiroND over 1 year ago
The most popular GraphQL IDE/API explorer is now built into the dashboard! You can now explore and query your GraphQL API produced by pg_graphql
.
We've updated our Docs search functionality to use pgvector
+ OpenAI. Still no cease and desist from Microsoft, so you can continue to ask Clippy any Supabase-specific questions 📎💚
Do you use multiple Edge Functions in your project? Then celebrate! Supabase CLI 1.36+ now supports serving multiple Edge Functions at the same time.
To enable the feature, just run supabase functions serve
in your project.
We rewrote the Postgres Dockerfile with multi-stage builds so that each extension is compiled in its own separate stage. This reduces the size of the image from 1.3GB to 250MB, enabling a much faster boot time.
We've improved database role management. You can create, update, and delete database roles through the dashboard. Just one small step towards column-level security
API docs got a light touchup and were moved to the table editor. You can now look up API methods and generate & download type files right there ✨
Postgres Extensions: We're rolling out some fixes for several Postgres extensions. Check your Dashboard notifications to see if you need to take any actions.
Auth: Added full OpenAPI 3.0 spec which provides a comprehensive overview of the API with documentation on each request. PR
Database: supabase-js now infers the response type from your query. If the inferred type is incorrect, you can use .returns<MyType>()
to override it. Doc
Dashboard: Improved database roles management, you can now create, update and delete database roles through the dashboard. Dashboard
Dashboard: We've provided a reference panel showing all available paths that can be queried from each respective source that improves the Logs Explorer experience. Dashboard
- Edge Functions: upgraded to Deno 1.30.3, that supports TypeScript 4.9.x and introduces satisfies
. Thanks to Benjamin Dobell 🙏. PR
Published by RamiroND over 1 year ago
The first month of the year was very productive here at Supabase. Here is a highlight of what we shipped during January:
pgvector is a popular PostgreSQL extension for storing embeddings and performing vector similarity search. It was one of the most requested extensions by the AI/ML community and is now available thanks to gregnr.
Greg wasted no time and took pgvector for a spin, he combined it with OpenAI to build Supabase Clippy, a next-generation doc search. The first implementation is a 1-week MVP and fully open source, so you can build on top of it.
We have released extensive reference docs for C# and Python, detailing every object and method. What are you going to build?
Views, Materialized Views, and Foreign Tables are three database objects that provide a powerful way to access and organize and transform data without duplication.
WebP is a modern image format that provides superior lossless and lossy compression for images on the web. We are enabling format conversion by default for anyone who has Image Transformations. You can opt out by including format: origin in the transformation parameters.
- Postgres Extension: Another powerful and time-tested extension, pg_repack, is added to Supabase. [PR]
- Auth: Multi-tab session support using the new browser BroadcastChannel API. If a user logs out on one tab, they will now be logged out on all tabs. [PR]
- Postgres: Superior speed with lz4 database compression. [PR]
- Postgres: Use ICU locales and collations for text attribute ordering in database queries. [PR]
- Docs: New guide on scheduling functions with pg_cron. [Guide]
- Edge Functions: You can now download source codes of deployed edge functions from the CLI. [Doc]
Published by RamiroND almost 2 years ago
Launch Week 6 is just around the corner! We’re saving most of November’s updated as a surprise for Launch Week, but we still had time to ship some goodies this month.
Next week, we go all out for LW6. It’s 5 days of shipping, including major features requested by the community. You don’t want to miss a thing, so make sure to claim your free ticket (and you might win some very special SupaSwag).
It’s here! The much-awaited Remix Auth Helpers make server-side auth even easier and with a better experience. Up to date with supabase-js V2 and can be used with Typescript.
We launched a new YouTube series, Edgy Edge Functions, where we take a deep look at a new function every week.
Plus, we published three new functions examples: Generate OG Images, Build API servers using Oak, and Generate Screenshots using Puppeteer.
NextAuth Supabase Adapter. Docs. This allows you to run NextAuth as your authentication server while storing user and session data in a dedicated next_auth
schema in your Supabase Database. Complete with support for RLS. Do note that NextAuth is a standalone Authentication server that does not interface with Supabase Auth and therefore provides a different feature set.
Fixed two issues with the supabase.auth.signOut
function: cookies not clearing properly and session not removed.
You can now customize magic links by providing access to the {{ .TokenHash }}
. PR
Now you can do redirects from your functions. PR
Conda support (conda install -c conda-forge supabase
and everything else in py)
Published by kiwicopple almost 2 years ago
The new versions of our two most popular SDKs have been fully released. It couldn’t have happened without our amazing community, thanks to everyone involved. Now, it’s time to build 🛠
Try supabase-js V2
Try flutter-supabase V1
Next.js is all the rage right now 🔥
Next.js Conf raised the bar for dev conferences. We had the honor of being a Gold Sponsor, so we revamped our Next.js Quickstart guide to include our pre-built Auth UI and Auth Helpers.
And Next.js 13 was announced! Making it extremely easy to fetch and cache data from our Serverless API. So we put together an example to try it out.
The Auth team published an in-depth doc explaining how Supabase Auth supports server-side rendering. Includes an explanation of the authentication flow and answers to some of the more common questions.
Do you have 100% code coverage? Probably not, because that’s usually the last thing you think of, but definitely not if you don’t have database tests. We just shipped a framework for Database Tests which makes it incredibly easy to test your database using pgTAP an pg_prove.
Functions now support GET requests! Other HTTP verbs such as PUT, PATCH, and DELETE are supported too.
X-Forwarded-For header
. Example
provider_refresh_token
along with provider_access_token
. PR
refreshSession
method to allow users to forcefully refresh a session instead of waiting for it to autorefresh upon expiry. Thanks to @j4w8n for the PR 🙇🏻♂️Published by RamiroND about 2 years ago
We did something a bit strange during September - we didn't work on features. Quite the opposite. After Launch Week we did three subsequent weeks of Kaizen, a term we use internally to deliver constant and incremental improvement. Each week had a different focus:
It's pretty rare for a company to stop feature development altogether, but luckily we're just a bunch of developers so we all know the pain of technical debt. After 5 Launch Weeks, working on testing and backlogs feels like a bit of a relief.
We saw a lot of progress across our Open Issues - closing over 250 issues and 50 Pull Requests.
We launched the new Auth UI on Product Hunt! Auth UI is a pre-built React component for authenticating users with Supabase Auth. It supports custom themes and extensible styles to match your brand and aesthetic.
If you've ever wondered, "can I run Postgres inside a browser, using an embeddable Linux Virtual Machine?", wonder no longer. With our friends at Snaplet, we've released an open source Postgres WASM.
Read the blog post
Comment on Hacker News
Visit the repo: Snaplet | Supabase
We're making some changes to the way the Dashboard interacts with your database. These changes simplify the database permissions so that it's easier for you to migrate in and out of Supabase, and they reduce the security surface area considerably. The change will be applied automatically in November, or you can run it today via the Dashboard.
Published by RamiroND about 2 years ago
Launch Week 5 just happened and it was a big one, here is everything we shipped:
The Supabase CLI is now in v1.0 (including the ability to generate TypeScript types 🎉). We also released the Admin API Beta, a REST API that opens the door to a whole new suite of integrations (Zapier, Terraform, Pulumi, you name it). Full programmatic control of your projects and orgs is on the way.
supabase-js v2 focuses on "quality-of-life" improvements for developers and includes Type Support, new Auth Methods, async Auth overhaul, improvements for Edge Functions, and more. We couldn't have done this without our amazing Community, so thanks a lot to everyone who contributed.
Try it out by running npm i @supabase/supabase-js@rc
Our customers can rest assured knowing their information is secure and private 🔒. The blog post explains the process we went through to get there and is very useful for anyone building a SaaS product.
Next level Realtime is here ⚡️. Presence and Broadcast are two key blocks developers can use to build the digital experiences users want. All projects now have access to these features. Try it out in combination with supabase-js v2.
We wrapped Launch Week 5 with contributors, partners, and friends and the traditional One More Thing... that was actually SIX more things: Supabase Vault, Auth UI, Dashboard permissions, JSON schema validation, pg_graphql v0.4.0, MFA early-access.
Community Day Video Announcement
The following changes to the Supabase Platform will take effect from September 11th at 7 pm PDT.
Authorization
header and in a separate apiKey
header. This led to confusion among new users of Supabase who used the API directly. It is no longer required to send the anon key or service key via the apiKey
header. If you are using Supabase via our client libraries, no change is required from your side.Published by kiwicopple over 2 years ago
The last week of March was our Fourth Launch Week. Here's everything that was launched:
The one we've all been waiting for. You can now deploy Javascript & Typescript functions to Supabase. You can develop and test locally, link a project, and deploy globally to the edge in a matter of seconds.
You can now query your Supabase database with GraphQL. We built this as a postgres extension, so it's portable, open source, and solves some of the problems that exist in other GraphQL implementations
Supabase Realtime now supports multiplayer and presence, so you can build collaborative applications like Figma and Google Docs with Supabase. Come and have some fun on our demo application.
We're now an official GitHub secret scanning partner, meaning that if you accidentally push your service_role key to GitHub, you'll get a notification email, and your keys will automatically be rolled on Supabase. For private repos you can disable this.
We've released Elixir Livebooks for Monitoring, starting with built-in monitoring for PgBouncer, a Postgres connection pooler.
We’ve released 4 new OAuth providers, thanks to the contributions of the community:
We’ve also added 2 new phone providers:
We’ve released supabase-auth-helpers, a collection of framework-specific auth utilities that make working with Supabase Auth a pleasant experience, no matter what framework you’re using.
Thanks for all your support while we build the world's most productive developer platform. @supabase
Published by kiwicopple almost 3 years ago
The PostgREST release notes document some changes to the way GUC variables are handled here.
Supabase has created a config flag in the Dashboard to ensure that this will not be a breaking change. These changes are required before you can upgrade to PostgreSQL 14+, or use Realtime RLS.
Supabase has already updated all the default auth functions (auth.uid()
, auth.role()
and auth.email()
), however we have no way of updating functions which we have not written ourselves.
auth
functions or generally any function that use legacy GUC naming convention to access JWT claims (eg current_setting('request.jwt.claims.XXX', true)
.
auth
functions.You need to update all functions that are using the legacy GUC naming convention (current_setting('request.jwt.claims.XXX', true)
) to use the new convention (current_setting('request.jwt.claims', true)::json->>'XXX'
).
After you have made this change, you can safely
For example, Supabase rewrote the auth.role()
functions like this, to handle both legacy and new:
-- PREVIOUSLY
create or replace function auth.role()
returns text
language sql stable
as $$
select current_setting('request.jwt.claim.role', true)::text;
$$;
-- UPDATED FUNCTION TO HANDLE NEW GUC NAMING SCHEME
create or replace function auth.role()
returns text
language sql stable
as $$
select
coalesce(
current_setting('request.jwt.claim.role', true),
(current_setting('request.jwt.claims', true)::jsonb ->> 'role')
)::text
$$;
Published by kiwicopple almost 3 years ago
Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week.
Let's dive into what's been happening at Supabase during the month of October.
This is also available as a blog post and a video demo.
Thanks to @HarryET
and our friends at MessageBird
we have 3 new Auth providers this month: Slack, Spotify, and MessageBird phone logins.
Browse data in any database schema using the Schema switcher in the Dashbaord.
You can access any schema with your API, after enabling access in the Dashboard.
Docs.
We have a TON of new guides, with videos too.
Learn about PostgreSQL Functions. Docs.
Learn about all the exciting feature of Auth within Supabase. Docs.
Learn more about the power of PostgREST for RESTful APIs. Docs.