Changelog

New updates and product improvements

Platform update September 2023

Oct 6, 2023

Broadcast realtime messages via REST API

Broadcast realtime messages via REST API

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!

Broadcast docs

Supavisor is now used for connection pooling in all new projects

Supavisor is now used for connection pooling in all new projects

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.

Learn more

Moving to IPV6 for Database Connection Strings

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.

Learn more

New Foreign Data Wrapper: Airtable

New Foreign Data Wrapper: Airtable

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:


_10
select * from my_airtable_table;
_10
# data from Airtable

Read the Airtable Wrapper docs Learn about Wrappers

Supabase Studio's latest enhancements

Supabase Studio's latest enhancements

Supabase Studio is under constant improvement, here is what’s new:

  • Added UI support for cascade updates
  • Improved JSON previewing and editing
  • Button for toggling Realtime right from the Table Editor
  • See View definition and open it in the SQL Editor to modify
  • UI to view and unban IP addresses to manage banned IPs more conveniently
  • Import CSV files at the table creation stage and a new button to download the table as CSV

Try them out

HNSW Support for Vecs + pgvector

HNSW Support for Vecs + pgvector

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.

Read the HNSW docs

Quick product announcements

  • [PostgREST] JWT caching just landed. API requests are about to get 100ms faster. [PR]
  • [Auth] Added a default in-memory storage mechanism to allow using 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]
  • [Edge Functions] Supports much simpler API for creating functions Deno.serve(req => new Response("ok")). No http standard library dependency needed. (Thanks eifr for contributing with updated CLI templates. [PR]
  • [Edge Functions] You can manage the secrets for your project's Edge Functions via the dashboard. [Try it now]

Platform updates: August 2023

Sep 8, 2023

pgvector v0.5.0: Faster semantic search with HNSW indexes

pgvector v0.5.0: Faster semantic search with HNSW indexes

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.

Blog post

Day 1 - Hugging Face is now supported in Supabase

Day 1 - Hugging Face is now supported in Supabase

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).

Day 2 - Supabase Local Dev: migrations, branching, and observability

Day 2 - Supabase Local Dev: migrations, branching, and observability

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.

Day 3 - Supabase Studio 3.0

Day 3 - Supabase Studio 3.0

Supabase Studio brings some huge new features, including AI SQL editor, Schema diagrams, Wrappers UI, and a lot more!

Day 4 - Supabase Integrations Marketplace

Day 4 - Supabase Integrations Marketplace

With the release of OAuth2 applications, we've made it easier than ever for our partners to extend the Supabase platform with useful tooling.

Day 4 - Vercel Integration 2.0 and Next.js App Router Support

Day 4 - Vercel Integration 2.0 and Next.js App Router Support

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 ▲

Blog post

Day 5 - Supavisor: Scaling Postgres to 1 Million Connections

Day 5 - Supavisor: Scaling Postgres to 1 Million Connections

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.

Community Highlights from the past 4 months

Community Highlights from the past 4 months

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).

Blog post

HIPAA and SOC2 Type 2

One more thing: 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.

Blog post

More product announcements

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:

Platform updates June 2023

Jul 7, 2023

Native Mobile Auth Support for Google and Apple Sign in

Native Mobile Auth Support for Google and Apple Sign in

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.

Learn more

Supabase CLI: what is new?

Supabase CLI: what is new?

It’s been a busy month for the Supabase CLI. We have added a tonne of new features:

See all updates

Revamped billing experience

Revamped billing experience

We have made huge improvements to the billing tooling inside Supabase Studio, including:

  • Easy monitoring of current usage, overage, and plan limits.
  • Streamlined subscription management for upgrades or downgrades.
  • Detailed usage billing breakdowns and compute instance specifications.
  • And more!

New subscription page | New usage page

Login with Kakao

Login with Kakao

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.

Login with Kakao

Quick product updates

  • [Postgres Tooling] Implemented parallel Index build in regular and recovery state into OrioleDB. [PR]
  • [Edge Functions] Edge Functions troubleshooting guide. [Doc]
  • [Storage] Object id is now returned in the response when uploading an object. [PR]
  • [Realtime] A new debugging tool to test your realtime endpoints together with your JWTs and Row Level Security policies. [Realtime Inspector]
  • [Docs] A full guide on database partitions for developers looking to scale up. [Guide]

Launch Week alert: save the date

Launch Week 8 is announced - From Monday 07/08 till Friday 11/08

Platform updates: May 2023

Jun 9, 2023

Supabase Vector: the open source Vector Toolkit for Postgres

Supabase Vector: the open source Vector Toolkit for Postgres

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.

Supabase Vector

Vault is now available for all projects

Vault is now available for all projects

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.

Learn how to use Vault

Auth Helpers now include server-side Auth and full support for the Next.js App Router

Auth Helpers now include server-side Auth and full support for the Next.js App Router

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.

Updated docs

Video course

Improving our dashboard with user feedback

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.

Quick product announcements

  • [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

New Integrations, templates, and examples

  • We worked with Cloudflare on a new integration that makes it super easy to connect your Supabase database from Cloudflare Workers. Doc

- 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

Platform updates: April 2023

May 10, 2023

Day 1 - Supabase Logs: open source logging server

Day 1 - Supabase Logs: open source logging server

Logflare is the hub of analytics streams for Supabase. We are open sourcing it so that you can self-host your own Logging infrastructure.

Blog Post
Video overview

Day 2 - Supabase Edge Runtime: Self-hosted Deno Functions

Day 2 - Supabase Edge Runtime: Self-hosted Deno Functions

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 ⚡

Blog post
Video overview

Day 3 - Storage v3: Resumable Uploads with support for 50GB files

Day 3 - Storage v3: Resumable Uploads with support for 50GB files

Supabase Storage received many of the most requested features from our users: Resumable Uploads, Quality Filters, Next.js support, and WebP support.

Blog post
Video overview

Day 4 - Supabase Auth: SSO, Mobile, and Server-side support

Day 4 - Supabase Auth: SSO, Mobile, and Server-side 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!

Blog post
Video overview

Day 5 - Supabase Studio 2.0 with new AI features

Day 5 - Supabase Studio 2.0 with new AI features

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.

Blog Post
Video overview

Introducing dbdev: PostgreSQL Package Manager

dbdev: PostgreSQL Package Manager

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.

Blog post

More product announcements

  • Trusted Language Extensions for Postgres. [Blog post]
  • What's New in pg_graphql v1.2. [Blog post]
  • GitHub Discussions are now a new knowledge source for search & AI (Troubleshooting category only for now). [Check it out]
  • New API report with routing information for each chart, making it easier to debug API calls.  [PR]
  • Storage permission changes: the developer role is now allowed to update the storage settings (previously was only owner and admin). [PR]

Platform Update February 2023

Mar 9, 2023

GraphiQL editor in the dashboard

GraphiQL editor in the dashboard

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.

Try it now.

Supabase + OpenAI search

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 📎💚

Ask Clippy.

Serve all the functions!

Serve all the functions!

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.

Check the docs.

Smaller Postgres docker images for everyone

Smaller Postgres docker images for everyone

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.

See it yourself

New UI for Postgres Roles

New UI for Postgres Roles

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

Check it out.

API docs in the table editor

API docs in the table editor

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 ✨

Check it out.

Quick product updates

  • 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

  • Realtime: Broadcast only primary key(s) for deleting records when RLS is enabled and replica identity is full. PR

Platform update January 2023

Feb 8, 2023

The first month of the year was very productive here at Supabase. Here is a highlight of what we shipped during January:

Storing OpenAI embeddings in Postgres with pgvector

Storing OpenAI embeddings in Postgres with pgvector

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.

Read the announcement

Meet Supabase Clippy: ChatGPT for Docs

Meet Supabase Clippy: ChatGPT for Docs

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.

Client library reference: Python and C#

Client library reference: Python and C#

We have released extensive reference docs for C# and Python, detailing every object and method. What are you going to build?

pg_graphql now supports Views, Materialized Views, and Foreign Tables

pg_graphql now supports Views, Materialized Views, and Foreign Tables

Views, Materialized Views, and Foreign Tables are three database objects that provide a powerful way to access and organize and transform data without duplication.

Read the docs

Automatic WebP detection for Image Transformation

Automatic WebP detection for Image Transformation

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.

Read the docs

Quick product updates

-  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]

Platform Updates: November 2022

Dec 8, 2022

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.

Launch Week 6 tickets

Launch Week 6 tickets

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).

Get your ticket

Remix Auth Helpers

Remix Auth Helpers

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.

Read the docs

Edgy Edge Functions

Edgy Edge Function

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.

Quick product updates

  • 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)

Platform updates: October 2022

Nov 2, 2022

supabase-js v2 and supabase-flutter v1 released

supabase-js v2 and supabase-flutter v1 released

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

New Next.js quickstart & Next.js 13 example

New Next.js quickstart & Next.js 13 example

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.

Supabase Auth and Server-Side Rendering

Supabase Auth and Server-Side Rendering

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.

Read the docs.

Database Testing with pgTAP

Database Testing with pgTAP

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.

Read the docs.

Edge Functions Update

Edge Functions Update

Functions now support GET requests! Other HTTP verbs such as PUT, PATCH, and DELETE are supported too.

Check this example

Quick Product Updates

  • supabase-py 🐍 now has functions support! PR
  • You can now detect users’ location from Edge Functions easily by using X-Forwarded-For header. Example
  • Return provider_refresh_token along with provider_access_token. PR
  • Added a 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 🙇🏻‍♂️
  • Logging: realtime, storage, postgrest, and pgbouncer released.
  • Trigger a file download by adding the download query parameter to your storage objects. storage-api. PR

Platform updates: September 2022

Oct 7, 2022

Kaizen Week

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:

  • Week 1: QA and testing
  • Week 2: Documentation
  • Week 3: Issue Backlog and Automation

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.

Kaizen Week - Github Chart

Auth UI on Product Hunt

Auth UI on Product Hunt

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.

Check out the launch.

Postgres WASM

Postgres WASM with Snaplet and Supabase

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

Security updates

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.

Review the Security Notice.

Quick product updates

  • Edge functions free plan script size is bumped to 2 MB
  • functions-go was just contributed to supabase-community by Zain Khan
  • A new guide to add captcha to your sign-in, sign-up, and password reset forms
  • New Postgres Extension for monitoring your PostgreSQL database network traffic: pg_netstat
  • Added docs for how caching works in Supabase

Platform Update August 2022

Sep 7, 2022

Launch Week 5 just happened and it was a big one, here is everything we shipped:

Day 1 - Supabase CLI v1 and Admin API Beta

Day 1 - Supabase CLI v1 and Admin API Beta

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.

Blog Post

Video Announcement

Day 2 - supabase-js v2 Release Candidate

Day 2 - supabase-js v2 Release Candidate

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

Blog Post

Video Announcement

Day 3 - Supabase is SOC2 compliant

Day 3 - Supabase is SOC2 compliant

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.

Blog Post

Security at Supabase

Video Announcement

Day 4 - Realtime: Multiplayer Edition

Day 4 - Realtime: Multiplayer Edition

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.

Blog Post

Video Announcement

Day 5 - Community Day and One More Thing

Day 5 - Community Day and One More Thing

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 Blog Post

Community Day Video Announcement

One More Thing Blog Post

Platform Updates

The following changes to the Supabase Platform will take effect from September 11th at 7 pm PDT.

  • HTTP API requests to Supabase will automatically be redirected to HTTPS.
  • The API Key was passed to Supabase both in the 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.

March 2022: Launch Week Special

Apr 4, 2022

The last week of March was our Fourth Launch Week. Here's everything that was launched:

Supabase Edge Functions

unnamed

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.

Read More

GraphQL Support

unnamed

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

Read more

Realtime with Multiplayer Features

unnamed

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.

Read more

GitHub Secret Scanning

unnamed

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.

Read more

Elixir Livebooks

pg-bouncer (1)

We've released Elixir Livebooks for Monitoring, starting with built-in monitoring for PgBouncer, a Postgres connection pooler.

Read more

New OAuth Providers

community-day-auth-providers

We’ve released 4 new OAuth providers, thanks to the contributions of the community:

New Phone providers

community-day-auth-phone

We’ve also added 2 new phone providers:

New Auth helpers

supabase-auth-helpers-nextjs

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

Thanks for all your support while we build the world's most productive developer platform. @supabase

Platform updates: 30 Nov 2021

Nov 30, 2021

System updates

All projects

New projects

  • PostgreSQL updated to v14.1

Manual Changes Required

Update custom auth functions

Details

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.

Affected

  • Any project that have custom auth functions or generally any function that use legacy GUC naming convention to access JWT claims (eg current_setting('request.jwt.claims.XXX', true).
    • This change is required for PostgreSQL 14+.
    • This change is required for Realtime row level security

Unaffected

  • New projects
  • Existing projects who haven't written custom auth functions.

How to update

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

Example

For example, Supabase rewrote the auth.role() functions like this, to handle both legacy and new:


_19
-- PREVIOUSLY
_19
create or replace function auth.role()
_19
returns text
_19
language sql stable
_19
as $$
_19
select current_setting('request.jwt.claim.role', true)::text;
_19
$$;
_19
_19
-- UPDATED FUNCTION TO HANDLE NEW GUC NAMING SCHEME
_19
create or replace function auth.role()
_19
returns text
_19
language sql stable
_19
as $$
_19
select
_19
coalesce(
_19
current_setting('request.jwt.claim.role', true),
_19
(current_setting('request.jwt.claims', true)::jsonb ->> 'role')
_19
)::text
_19
$$;

October Beta 2021

Nov 8, 2021

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.

Slack, Spotify, and MessageBird logins

Thanks to @HarryET and our friends at MessageBird we have 3 new Auth providers this month: Slack, Spotify, and MessageBird phone logins.

supabase-auth-slack

Multi-schema support

Dashboard

Browse data in any database schema using the Schema switcher in the Dashbaord.

multi-schema

API

You can access any schema with your API, after enabling access in the Dashboard. Docs.

supabase-multi-schema-support

Fresh Docs and Guides

We have a TON of new guides, with videos too.

Database Functions

Learn about PostgreSQL Functions. Docs.

https://youtu.be/MJZCCpCYEqk

Auth Overview

Learn about all the exciting feature of Auth within Supabase. Docs.

https://youtu.be/6ow_jW4epf8

API Features

Learn more about the power of PostgREST for RESTful APIs. Docs.

https://youtu.be/rPAJJFdtPw0

And more

launch-ckecklist

September Beta 2021

Oct 4, 2021

Did you know it's been 2 years since the first commit to Realtime, our real-time engine for Postgres? Before we even existed as a company! We spent this month improving docs and content content, improving UX, and onboarding Developer Advocates!

release-sept-2021

Hackathon v2

To kick off Hacktoberfest, another Supabase Hackathon is happening right now. You've got another 7 days to be in to win a limited edition t-shirt.

hacktober

Abort Requests

We added support for AbortController in our Javascript library so that you can abort long-running queries. [Docs]

Supabase_abort_requests

Improved table management

We've made a number of changes to the Dashboard to expose some great features of PostgreSQL including:

Column types

We've improved the column Type field so that it supports your custom types.

types

Is Unique

We've made it simple to add a unique constraint.

is-unique

Edit columns

By popular request, you can now view all columns in a table at a glance and edit them in bulk.

edit-columns

Cross-schema relationships

We updated our grid to support relationships across multiple schemas.

relationships

Improved Auth Docs

We've revamped the Auth docs - The docs are now broken down into Authentication and Authorization, and organized alongside our Deep Dive series.

auth-docs

Low Code demo

Low Code demo, Using Supabase with Clutch.io - @_dijonmusters ran a session at General Assembly showing how to use these two tools together to create apps using a low code approach.

https://youtu.be/5fsKMTeBKKY

August Beta 2021

Sep 13, 2021

We've raised $30M and shipped a bunch of features. Let's dive into what's been happening at Supabase during the month of August.

This is also available as a blog post and a video demo.

We raised $30 million

We raised our Series A. We'll use the funds to do more of the same - ship features and hire open source developers. We'll release more details soon. Read more on TechCrunch.

supabase-series-a

Realtime Security, codename: WALRUS

If you've been waiting for Row Level Security to land in Postgres subscriptions, then you're going to love our new repo: Write Ahead Log Realtime Unified Security (WALRUS). The name might be a bit forced, but the security design is deliberate. It's not in production yet, but we're making the repo public for comments using an RFC process.

walrus

Custom SMS templates

If you're using SMS login in Auth v2, you can now customize the SMS which is sent to your users. Read more in the docs.

custom-sms

Dart and Flutter Docs

Thanks entirely to @dshukertjr, we now have in-depth reference Dart documentation for CRUD, Auth, Realtime and more!

supabase-flutter

We launched the South Korea region

We added another region for those wanting to host their data and APIs in Seoul. We now have 12 regions to choose from

south-korea

Table creation is even easier

You can now create columns while creating your table. We've also added improvements for composite primary keys and foreign key creation.

create-tables

Unbreakable CSV Imports

Our previous importer would choke on CSV files which were too large. Not any more!

csv-imports

Connection strings

We now provide a handy copy utility for various database connection strings because we were so tired of looking them up on Stack Overflow.

connection-strings

We released a primer on Row Level Security

RLS can be a bit foreign for developers getting started with Postgres. This video by @_dijonmusters demystifies it. If you find the video a useful medium for learning, consider subscribing to our channel.

https://www.youtube.com/watch?v=Ow_Uzedfohk

Dependency contributions

GoTrue (Auth)

PostgREST (APIs)

pg_net (Function Hooks)

July Beta 2021

Aug 12, 2021

Supabase is gearing up for another Launch Week on July the 26th. Until then, here's a few new things to try.

This is also available as a blog post and a video demo.

Launch Week II: The SQL

Following the success of our first Launch Week in March, we finished the July with "Launch Week II: The SQL". The community has been sieving through a slew of bad puns and retro memes to discover the new feature announcements.

supabase-launch-the-sql

Auth v2 with Phone Auth

Your users can now log in with SMS based mobile auth! We have a Twilio integration (Guide Here) and will be adding more providers soon.

Other Auth updating include, Twitch logins, and the ability to generate invite, recovery, confirmation, and magic links via the API, for people who want more control over the email templating flow. Read the blog post here.

verify-phone

Storage is now in Beta

Storage updates include Media Streaming, Public Buckets, Directory Uploads, and a Performance Improvements.

Streaming Media in particular opens up a whole new host of potential use cases, learn more about the updates here.

storage

Dashboard v2

We made some major new additions to the dashboard including usage statistics, a new project home, and tons of database insights. Check the post here on what you get and how we built it.

dashboards

PostgreSQL 13

All new Supabase projects will be launched with PostgreSQL 13.3, and we're working on a migration path for old projects. This gives you looooaads of new stuff out the box.

postgres-13

PostgREST v8.0

We worked with our friends at PostgREST to make some huge improvements. For those of you who don't know, every Supabase instance comes with a dedicated PostgREST server by default, which provides the auto-generated CRUD API that we wrap with supabase-js.

postgrest-8

Flutter/Dart support

Our community driven libs for the fasted growing mobile and web framework are now in beta. Learn more by following the Quickstart guide.

dart

Hooks & Functions

We made an announcement on the progress of functions, and even shipped a few preliminary components, try them out and give us feedback as we continue to move towards this next major milestone. Read the latest updates here.

hooks

June Beta 2021

Jul 4, 2021

Supabase is gearing up for another Launch Week on July the 26th. Until then, here's a few new things to try.

This is also available as a blog post and a video demo.

Vercel integration

Vercel just released their new integrations, which means you can now deploy a Postgres database on Supabase directly from your Vercel account. Check it out! vercel.com/integrations/supabase

supabase-vercel

Discord logins are now available

Building a community? There's almost no better tool than Discord (we're even trialling it ourselves). If you're building a community product, Discord logins are the perfect option.

supabase-discord

New Guides

We spent the month building up a new Guides section in our Docs. Here are a few highlights:

Ever wanted to build a Search Engine? We just released a guide which shows you how to implement Full Text Search using Postgres.

postgres-fts

OAuth Guides

We released step-by-step guides to help you set up OAuth with Apple, Bitbucket, Facebook, GitHub, GitLab, Google, and Twitter.

apple-developer-portal

Javascript + Postgres

Did you know that you can use Javascript inside your Postgres database? Here's how, with the plv8 extension.

supabase-plv8

Public Storage Buckets

Want to share all your favourite memes? Now it's even easier with Public Storage Buckets. Simply mark a bucket as "Public" and the content will be accessible without a login.

Storage upserts

Supabase Storage now supports upsert. Shoutout to @ankitjena for this Pull Request.

supabase-storage-upsert

Server restarts

When things go wrong, sometime the best thing you can do is reboot. We released a restart button in the Dashboard, the first of many debugging tools we'll be releasing over the next few months.

server-restarts

Policy editor

We added a new Table Policy Editor which makes Row Level Security even easier. We even included a few templates to get you started.

policy-editor

External contributions

PostgREST

Auth0

  • We fixed a XSS bug in the Auth0 Next.js library. GitHub Credit to @inian and Ishan Patel (a Supabase community member)

May Beta 2021

Jun 10, 2021

Apple & Twitter Logins, Supabase Grid, Go & Swift Libraries. Lots of great stuff to try out this month.

This is also available as a blog post and a video demo.

Apple logins are now available

Did you know: if you ship an app to the App Store with any third-party logins, you're required to enable Apple logins as well? Now you can with Supabase Auth.

 in Supabase

Twitter logins are now available

You can also use Twitter as an OAuth provider with Supabase Auth. Twitter has a very archaic OAuth impletementation, so this one took awhile.

supabase-twitter-login

New storage policy editor

We shipped a new Policy Editor for managing Row Level Security on your Storage. We provide some templates to simplify the process for new developers.

storage-policies

Supabase Grid

We are still working on Open Sourcing our Dashboard, and took another step closer by publicly releasing a new Supabase Grid. It's not ready to use outside of the Supabase ecosystem, but over time we hope to make it usable with any Postgres Database.

table-grid

Japan (Tokyo) 🇯🇵 is now available as a region

There are a huge number of Supabase developers in Japan and China, and at their request we've launched Tokyo as a region.

japan-region

Return data as CSV

You can now retrieve your data as Comma Separated Values. Thanks to @andreivreja for the awesome PR.

return-data-as-csv

New Go Libraries

The community started developing the Go libraries. postgrest-go is completed, @Yusuf_Papurcu and @muratmirgun are working on the remaining libraries.

supabase-go-support

New Swift Libraries

The community started developing the Swift libraries too. @satishbabariya is making huge progress on storage-swift, gotrue-swift, realtime-swift, and supabase-swift.

supabase-swift-support

April Beta 2021

May 5, 2021

This month was a "gardening" month for Supabase. The team focused on stability, security, and community support. Check out what we were working on below, as well as some incredible Community contributions.

This is also available as a blog post and a video demo.

Light Mode

We're a developer tool, which means that Dark Mode is extremely popular.

This poll on twitter shows that 78.5% of our developer base use Dark Mode for the IDE

While Dark mode is great, for some people it's not an option. Dark Mode is difficult to use for developers with astigmatisms, or even just working in brightly-lit environments.

So today we're shipping Light Mode. Access it in the settings of your Dashboard.

image

Translations

With the help of the community, we started internationalizing our main repository:

map

OpenAPI spec for Storage

We released Storage Api docs built using OpenAPI (swagger).

storage-openapi

Stripe Sync Engine (Experimental)

We open-sourced a server which keeps any Postgres database in sync with Stripe. This is experimental only. We're evaluating other tools such as Singer, which provide a more general solution (but are less "realtime"), and we're opening it up here to gather feedback.

stripe-sync-engine

March Beta 2021

Apr 6, 2021

Launch week, Storage, Supabase CLI, Connection Pooling, Supabase UI, and Pricing. Here's what we released last month.

This is also available as a blog post and a video demo.

Supabase Storage

Need to store images, audio, and video clips? Well now you can do it on Supabase Storage. It's backed by S3 and our new OSS storage API written in Fastify and Typescript. Read the full blog post.

ph-1

Connection Pooling

The Supabase API already handles Connection Pooling, but if you're connecting to your database directly (for example, with Prisma) we now bundle PgBouncer. Read the full blog post.

pgbouncer-thumb

React UI Component Library

We open sourced our internal UI component library, so that anyone can use and contribute to the Supabase aesthetic. It lives at ui.supabase.io . It was also the #1 Product of the Day on Product Hunt.

supabase-ui

CLI

Now you can run Supabase locally in the terminal with supabase start. We have done some preliminary work on diff-based schema migrations, and added some new tooling for self-hosting Supabase with Docker. Blog post here.

supabase-cli

OAuth Scopes

Thanks to a comunity contribution (@_mateomorris and @Beamanator), Supabase Auth now includes OAuth scopes. These allow you to request elevated access during login. For example, you may want to request access to a list of Repositories when users log in with GitHub. Check out the Documentation.

oauth-scopes

Kaizen

  • You can now manage your PostgREST configuration inside the Dashboard.
  • Our website has been redesigned. Check out our new Homepage and Blog, and our new Database, Auth, and Storage product pages.
  • We refactored some of our Filter methods to make them even easier to use. Check out the Full Text Search refactor.
  • We have added several new sections to our Docs including: Local Dev, Self Hosting, and Postgres Reference docs (all still under development).

February Beta 2021

Mar 2, 2021

Supabase is an open source Firebase alternative. We've now been building for one year. Here's what we released last month.

This is also available as a blog post and a video demo.

Dashboard Sidebars

We've improved the UX of our Dashboard with sidebars in every section, including the Table view, the Auth section, and the SQL Editor.

Our dashboard has sidebars

SQL Autocomplete

Writing SQL just got 10x easier. We added autocomplete to the SQL editor, including table & column suggestions.

autocomplete

Auth Redirects

Redirect your users to specific route within your site on signIn() and signUp().

Redirect your users after sign up

Learning Resources

We've released a new Resources section in our docs, as well as two new Auth modules: GoTrue Overview and Google OAuth.

Our dashboard has sidebars

New Region

Launch your database in South Africa.

Launch your database in South Africa

Kaizen

January Beta 2021

Feb 2, 2021

New year, new features. We've been busy at Supabase during January and our community has been even busier. Here's a few things you'll find interesting.

This is also available as a blog post and a video demo.

Count functionality

Anyone who has worked with Firebase long enough has become frustrated over the lack of count functionality. This isn't a problem with PostgreSQL! Our libraries now have support for PostgREST's exact, planned, and estimated counts. A massive thanks to @dshukertjr for this adding support to our client library.

Supabase now supports count functionality

New Auth Providers

We enabled 2 new Auth providers - Facebook and Azure. Thanks to @Levet for the Azure plugin, and once again to Netlify's amazing work with GoTrue to implement Facebook.

Supabase now supports Azure and Facebook Oauth providers

Auth Audit Trail

We have exposed the audit trail directly in the dashboard, as well as the GoTrue logs. Great for security and debugging.

Supabase exposes the Auth Audit trail on the dashboard

Auth UI widget

In case our Auth endpoints aren't easy enough already, we've built a React Auth Widget for you to drop into your app and to get up-and-running in minutes.

Supabase has released a React Auth widget

New auth.email() function

We added a helper function for extracting the logged in user's email address.

Supabase added an email function for using with Policies

New Regions

Launch your database in London or Sydney!

Launch your database in London or Sydney

Copy rows as Markdown

You can now copy SQL results as Markdown - super useful for adding to blogs and issues.

Copy query results as markdown

React server components

If you're excited by React Server components then check out the Supabase + Server Components experimental repo. https://github.com/supabase/next-server-components

Use supabase with React Server components

Learn

We know that Auth can be a bit daunting when you're just starting out, so we have created some intro videos to get you up to speed in no time:

Kaizen

  • Performance: We migrated all of our subdomains to Route53, implementing custom Let's Encrypt certs for your APIs. As a result, our read benchmarks are measuring up 12% faster.
  • Performance: We upgrade your databases to the new GP3 storage for faster and more consistent throughput.

December Beta 2020

Jan 3, 2021

After 10 hectic months of building, Supabase is now in Beta.

This is also available as a blog post and a video demo.

Supabase is now in Beta

We spent months working on Performance, Security, and Reliability. Read more on our Beta Page.

This image shows our Beta Page

Improve your docs inline

Add comments and descriptions to your Tables directly from our auto-generated docs.

update-docs

Table View now has realtime changes

Any updates that happen to your database are reflected in the Table View immediately.

realtime-updates

Table Pagination

Our table view now has pagination - better for working with large data sets.

table-pagination

Supabase raised a Seed Round

We raised $6M from Y Combinator, Mozilla, and Coatue. You can read more on TechCrunch.

Kaizen

  • Supabase is now 26% faster in regions which support Graviton (1460 reqs/s up from 1167 reqs/s)
  • We launched a new region in Sao Paulo.
  • Postgres Array Support. You can now edit Native Postgres array items in the grid editor or the side panel.
  • We added better support for your custom Database Types.
  • Fixed some buggy keyboard commands. We're continuously improving key commands in the Table editor.

Alpha November 2020

Dec 1, 2020

We've been building for 9 months now, are we're getting even closer to Beta.

This is also available as a blog post and a video demo.

Add users

You can now add users manually from your dashboard.

This image shows how to invite a new user directly from the dashboard.

User admin

You can also perform admin functions on existing users - send password reset emails, magic links, and delete users.

This image shows how to delete a user directly from the dashboard

Even more powerful SQL Editor

Last month we announced an improved SQL Editor, and this month we've taken it even further. The SQL Editor is now a full Monaco editor, like you'd find in VS Code. Build your database directly from the browser.

This image shows our improved SQL Editor

Status page

We added a Status Page which tracks the uptime and latency of the Supabase platform.

This image shows our new status page

Kaizen

  • We completed a security audit by DigitalXRAID.
  • Email confirmations now enabled by default for signups.
  • Updated Benchmarking Suite to include more realistic workloads, on various different servers (results published soon).
  • You can now set/edit/remove Foreign Keys via the table editor.

Alpha October 2020

Nov 3, 2020

We're now 8 months into building Supabase. We're focused on performance, stability, and reliability but that hasn't prevented us from shipping some great features.

This is also available as a blog post and a video demo.

Supabase.js 1.0

In the lead-up to our Beta launch, we've released supabase-js version 1.0 and it comes with some major Developer Experience improvements. We received a lot of feedback from the community and we've incorporated it into our client libraries for our 1.0 release.

Check out the blog post to learn more.

More powerful SQL Editor

Although it was only intended to be a temporary feature, the SQL Editor has become one of the most useful features of Supabase. This month we decided to make give it some attention, adding Tabs and making it full-screen. This is the first of many updates, we've got some exciting things planned for the SQL Editor.

This image shows a SQL Editor with tabs. Originally our SQL editor was very basic, but we're moving towards something very powerful.

Keyboard shortcuts for Power Users

For the heavy table editor users, we've gone ahead and added a bunch of key commands and keyboard shortcuts so you can zip around and manipulate your tables faster than ever.

This image shows some of the keyboard shortcuts we introduced on the table editor.

One of the most requested Auth features was the ability to send magic links that your users can use to log in. You can use this with new or existing users, and alongside passwords or stand alone.

This image shows a template where developers can edit the magic links email which is sent to their users on sign up.

Kaizen

  • We have new and improved docs.
  • We converted realtime-js to TypeScript.
  • Dashboard Performance: we heavily optimised our dashboard routes.
  • With the help of the community, we closed a lot of issues during Hacktoberfest.
  • We have started benchmarking all the open source tools we use. We'll publish the results this month.

Alpha September 2020

Oct 8, 2020

This is also available as a blog post.

Third-party logins

We've released OAuth logins! You can now enable third-party logins on your app for Bitbucket, GitHub, GitLab, or Google.

This is a picture of the supabase dashboard with OAuth logins

Clone tables

You can duplicate your tables, just like you would inside a spreadsheet.

duplicate-tables

Enable and disable extensions

Extensions are easier to use. You can enable Postgres extensions with the click of a button.

toggle-extensions

Save your favorite queries

The SQL editor now stores your query history in your browser. You can also save your favorite queries to run later!

favourites

GitHub Discussions

Supabase was given access to GitHub Discussions! This is the place for you to ask questions or show off what you've built with Supabase.

This is a screenshot of our GitHub Discussions, a new feature by GitHub

Kaizen

Alpha August 2020

Sep 7, 2020

This is also available as a blog post.

We're 6 months into building our hosted database platform and we've made some major improvements to our auth system and table view.

Easily create tables

Set up tables and columns directly from the table view.

Create tables from the dashboard

Invite your team

You can now invite team members to your organisation.

Invite team members to Supabase

Auth: Email Confirmations

You can now enable Email Confirmations for new users. This can be toggled on or off and the template for this email can be edited via the dashboard.

Email templates

Typescript support

The biggest communty contribution to date, @thorwebdev added Typescript support to Supabase. He even live streamed the process.

This gif shows how TypeScript makes it even easier to use Supabase, through VSCode's intellisense

Kaizen

We have a number of small improvements:

Alpha July 2020

Aug 5, 2020

Supabase July Alpha Updates

This is also available as a full blog post with videos.

After 5 months of building, we're releasing one of our most anticipated features: Supabase Auth.

Auth

This month, we're ecstatic to announce a feature we think you'll love: Supabase Auth. It's too big to fit into a monthly update so look out for a full update in the next few days.

We want to make it easy to get started adding Auth to your app, so we've released a simple example and a video tutorial which shows you how to implement a basic auth system using PostgreSQL's Row Level Security.

Table Editor

We've made some massive improvements to our Table Editor that we're excited to share.

Relationship drill down

Last month we made it easy to drill into your table relationships. This month, we make it possible to drill multiple levels deep.

Drill into your releationships

Add, delete, and download rows

We're making it easier to manipulate your data. Next month, you'll be able to add and remove columns directly from the Table view.

Download data as a CSV

New Postgres Extensions

If you launch a new Supabase project, you'll have access to several new Postgres extensions:

  • pgsql-http: HTTP client for PostgreSQL, retrieve a web page from inside the database.
  • pgjwt: PostgreSQL implementation of JSON Web Tokens
  • plpgsql_check: a linter tool for language PL/pgSQL
  • pljava: write Java in your stored procedures, triggers, and functions

Kaizen

We have a number of small improvements:

  • Added Auth documentation to the auto-generated docs in each project
  • Added a new or filter to the client library
  • Table View now remembers which tabs you had open.
  • We have released a lot of new functionality to pg-api, a server for for managing Postgres internals via a REST interface.
  • Performance: the "flash of black" which was appearing on page transition is now gone

Alpha June 2020

Jul 2, 2020

Supabase June Alpha Updates

This is also available as a full blog post with videos.

We're now 4 months into building Supabase, which means another major update. Here's a few things we think you'll love in this release.

View relational data

We're sometimes asked how we will make Postgres as simple as Firebase, since Postgres is a relational database. This month we're making our first steps to prove that relational databases can be even easier to use than document stores. We're releasing an excel-like editing interface which can drill down into your relational data.

image

Manage JSON data

Postgres is an amazing database, giving the flexibility of a document store with the power of a RDBMS. If you use JSON data in Postgres, then we want to make that easy too. Supabase detects when your column is JSON or JSONB, and provides an easy way to edit and view your data. More improvements coming soon for this feature!

image

Choose your region

If you noticed a bit of latency on Supabase, it's because your projects were previously set up in Singapore. It was always our intention that you'd be able to choose your database region, and this month we've delivered it. In the next releases we'll even allow you to go multi-region, instantly replicating your database close to your customers.

image

Backups

A guiding principle at Supabase is zero lock-in. So this month we are exposing your daily database backups on the dashboard, giving you a simple way to migrate off Supabase. We have a lot more to build in this space (WAL-G!), so watch this space.

image

Build in a weekend, scale to millions