Changelog

New updates and product improvements

Paid plan users can now immediately launch projects on larger compute sizes. Previously, paid organizations had to launch projects on the default "Micro" instance and then separately upgrade their instance. You can always up- and downgrade your instance in hindsight.

A quicker way to get your project's connection parameters

We've made retrieving your project's connection parameters more easily accessible by adding a "Connect" button to each projects' homepage. This will show you some quick instructions on how to either connect to your database directly, or connect to your project via some app frameworks and ORMs. Hopefully this will help both new and familiar developers on Supabase to get to building quicker without having to jump around the dashboard to find these information.

PR: https://github.com/supabase/supabase/pull/20328

Link: https://supabase.com/dashboard/project/_

Table Editor side menu revamp

screenshot-2023-12-22-at-13 06 32

We're in the midst of revising the UX around the table editor to ensure that controls aren't sprawled across the page despite us building more and more features - and this is just the first step of more to come. Icons for tables and views have been tweaked to be more minimal, each table has an indicator to whether RLS has been enabled or not, and the search bar has been made a tad sleeker. As an assurance, we definitely hear everyone's feedback about the changes here in particular with the search bar being less visible and are actively looking to improve the experience here! šŸ™

PR: https://github.com/supabase/supabase/pull/19977

Link: https://supabase.com/dashboard/project/_/editor

Table Editor header simplification

Similar to the above, we've updated the layout a little for the Table Editor itself, briefly the changes include

  • Support for enabling RLS from the Table Editor
  • Showing an indication of how many policies the table has
  • Shifting refresh + data/definition toggle to the footer of the grid

All these are tiny steps to allowing us to build more functionality into the Table Editor without turning it into a control panel!

PR: https://github.com/supabase/supabase/pull/18366

Link: https://supabase.com/dashboard/project/_/editor

View auth user details

We've had some feedback from users that they'd want a convenient way to check on their project's users from the UI rather than having to go through the Table Editor or SQL Editor to query the auth.users table, and so we've gone ahead to ship this one.

PR: https://github.com/supabase/supabase/pull/21239

Link: https://supabase.com/dashboard/project/_/auth/users

Other improvements and bug fixes

Table Editor

  • Fix definition view showing empty result if formatting the definition throws an error (PR)

SQL Editor

  • Refocus to code editor after closing destructive query warning modal (PR)

Authentication

  • Fix policies under tables from "protected" schemas not showing RLS disabled/enabled state (PR)
    • Also show "protected" schemas notice when viewing policies of tables under those schemas
  • Clicking "Toggle feature preview" from the new RLS creation UI will show a confirmation dialog if changes were made before closing the panel (PR)

Storage

  • Renaming a file will just highlight the name of the file without the extension, similar to MacOS (PR)

SQL editor bulk deletes

https://github.com/supabase/supabase/assets/19742402/f50eabbf-9c30-4828-8f5f-0efeef67a025

We hear you! This has been a very popular request by everyone and we're happy to make the first step to improving the UX around your SQL snippets. You can now delete your queries in bulk - gone are the days of rows full with Untitled queries šŸ˜„ Fret not, we're also aware that everyone is also requesting for better organization of snippets (specifically folders) - we're actively figuring out how best to bring that UX into the dashboard for everyone so be sure to watch this space šŸ˜‰

PR: https://github.com/supabase/supabase/pull/20927

Link: https://supabase.com/dashboard/project/_/sql/new

Query performance updates

Unoptimized queries are a major cause of poor database performance - which is why the query performance report was initially built. We're equipping this page with better tooling, allowing users to:

  1. Search by query or role
  2. Sort results by latency
  3. Expand results to view the full query that was run

As always, if there's anything more we can do for you, feel free to give us a shout in the feedback widget up top šŸ™‚

PR: https://github.com/supabase/supabase/pull/20907

Link: https://supabase.com/dashboard/project/_/reports/query-performance

Logs Explorer face lift

In an effort to make our UI more consistent + coherent across all products, we've revamped the Logs Explorer to look just like the SQL Editor in hopes that there's less UI for users to learn, and users can just stay focused on doing what they want to do.

PR: https://github.com/supabase/supabase/pull/21055

Link: https://supabase.com/dashboard/project/_/logs/explorer

Support for composite foreign keys in table editor

The previous UI for managing foreign keys in the table editor had functional limitations as it assumed single column relations for foreign keys (overly simplified). We've thus shifted the management of foreign keys into the table side panel editor instead. You can manage all foreign keys across all columns on the table in one place, rather than going into each column individually to do so.

PR: https://github.com/supabase/supabase/pull/21078

Link: https://supabase.com/dashboard/project/_/editor

Other improvements and bug fixes

Table Editor

  • Fixed duplicating a table not saving it's description (PR)
  • Fixed viewing a reference row in the table editor from the grid not updating the selected schema if referenced row is in another schema (PR)
  • Fixed errors from adding data via spreadsheet/CSV text not surfacing as toasts (PR)

SQL Editor

  • Fixed long errors getting cut off / not horizontally scrollable (PR)
  • Fixed deleting a query that's not saved throws an error (PR)

Logs Explorer

  • Inserting a source will insert the value after the FROM command (PR)

Database

  • Fixed enumerated types side panel input fields not resetting after saving (PR)
  • Fixed roles side panel input fields not resetting after saving (PR)

Misc

  • Support page is now mobile responsive (PR)

Supavisor replaces PgBouncer for database connection pooling

We’re deprecating PgBouncer and migrating all projects to our Supavisor connection pooler. Go grab the pooler connection string in your project’s Database Settings.

Learn more

Direct database connection resolve only to IPv6

[ACTION REQUIRED] AWS is deprecating IPv4, so we’ve migrating your project to IPv6. If your network supports IPv6 and/or you’re using PostgREST then you don’t need to make any changes. Otherwise, you need to update any connections to Supavisor’s connection pooler. We’ve also made IPv4 addresses available to purchase (passing on the cost from AWS).

Learn more

Supabase Studio's latest enhancements

Improved text editing in Table Editor, with Markdown previews

We’ve made it much better for you to edit text in the Table Editor, including Markdown previews so you can preview your changes with ease. [PR]

Preview HTML email templates right from the dashboard

We’ve added the ability to preview your HTML email templates right from the dashboard. [PR]

Preview SQL snippets for better discoverability

We’ve added previews to your saved query snippets so you can find the one you’re looking for much faster. [PR]

More Studio updates

Quick product announcements

  • [AI] Added a guide on how to integrate Amazon Bedrock SDK with Supabase Vecs, our vector client for Postgres. [Guide]
  • [Auth] Improved guide on implementing Server-Side Auth for Next.js. [Guide]
  • [Auth] Fixed the cookie chunking issue in @supabase/ssr - shout out to SyntheticGoop from Mobbin. [PR]
  • [Auth] Fixed a bug in using a custom cookie name in @supabase/ssr. [PR]
  • [Edge Functions] Created a guide on custom routing. [Guide]
  • [Edge Functions] Created a guide on how to deploy via CI/CD pipelines on GitHub, GitLab, and Bitbucket. [Guide]
  • [Edge Functions] Edge Runtime now supports Deno 1.39.2. [Learn more]
  • [Edge Functions] Updated quickstart guide. [Video]

Blog Central

How pg_graphql Works

Learn about how we built the GraphQL Postgres extension, written in the Rust programming language, that powers our GraphQL data API.

Learn more

Getting started with Ruby on Rails and Postgres on Supabase

Learn about how you can spin up a Rails app, integrate a Supabase database, and deploy it to Fly.io.

Learn more

Other awesome blog posts

Greater clarity on billing breakdown

new-billing-breakdown

We value transparency here at Supabase and that includes ensuring our users having clear visibility over what they are paying for. We've added some details in the organization billing breakdown section to show what are the "Current costs", on top of the "Projected costs" for the organization, and also added information regarding both of them in the form of tooltips. Compute credits are also shown here to ensure that those are considered in the costs calculation.

PR: https://github.com/supabase/supabase/pull/20498

Link: https://supabase.com/dashboard/org/_/billing#breakdown

SQL Editor preview snippets by hovering over them in the navigation menu

In efforts to hopefully to make it easier to find your queries. We're aware that users are facing difficulty in managing their SQL queries, in particular when the number of queries grow really big - we're actively looking into how to make things better šŸ™ Watch this space!

PR: https://github.com/supabase/supabase/pull/20694

Link: https://supabase.com/dashboard/project/_/sql/new

Table Editor edit text cells with larger real estate

We've seen some users reaching out to us via feedback that they'd like a larger editor to edit their text-based column cells on the table editor - we hear you! And we've also sprinkled in some Markdown preview for those who might need it šŸ™‚

PR: https://github.com/supabase/supabase/pull/20727

Link: https://supabase.com/dashboard/project/_/editor

Auth email templates preview

image

Many users have been requesting for this, and so has the team internally - you may now preview your HTML email templates right here in the dashboard. Gone are the days having to manually check your templates elsewhere, hopefully this will make your development lives a little easier.

PR: https://github.com/supabase/supabase/pull/20681

Link: https://supabase.com/dashboard/project/_/auth/templates

Database enumerated types will show enumerated types only

Shoutout to @Nabhag8848 for the help on this! We always appreciate and look up to any support from the community šŸ™

PR: https://github.com/supabase/supabase/pull/20576

Link: https://supabase.com/dashboard/project/_/database/types

cron schema from the pg-cron extension no longer editable via the GUI

The schema is nonetheless still editable from the SQL editor by writing queries directly. This is in efforts to prevent directly inserting/updating rows on the pg_cron extension's cron.job table as it bypasses security checks that would've been asserted when jobs are scheduled/modified via pg_cron functions. More information here.

PR: https://github.com/supabase/supabase/pull/20664

Link: https://supabase.com/dashboard/project/_/editor

Table Editor fix inability to copy input field values in the row side panel editor

PR: https://github.com/supabase/supabase/pull/20671

Link: https://supabase.com/dashboard/project/_/editor

Updates to the Database Settings page

We're stream-lining the connection UI on the database settings page to be more concise and simpler in hopes to improve the UX around connecting to your project's database, and a push to using the connection pooler as a recommended practice. As always, feel free to drop us feedback via the feedback widget in the navigation bar up top - we promise that we look at every single one of the feedback that comes in.

PR: https://github.com/supabase/supabase/pull/20575

Link: https://supabase.com/dashboard/project/_/settings/database

Network Restrictions now support adding restrictions to IPv6 addresses

PR: https://github.com/supabase/supabase/pull/20548

Link: https://supabase.com/dashboard/project/_/settings/database#network-restrictions

Network Restrictions addresses will be normalized when adding a new restriction

image

PR: https://github.com/supabase/supabase/pull/20514

Link: https://supabase.com/dashboard/project/_/settings/database#network-restrictions

IPv4 add-on now available to allow direct connections to your database via an IPv4 address

You may consider enabling this add-on via the dashboard if you're not planning on using our connection pooler (which still supports IPv4) and your environment does not support IPv6. More information regarding this add-on here.

PR: https://github.com/supabase/supabase/pull/20433

Link: https://supabase.com/dashboard/project/_/settings/addons

Logs Explorer support for updating and deleting queries

PR: https://github.com/supabase/supabase/pull/20343

Link: https://supabase.com/dashboard/project/_/logs/explorer/saved

Table Editor cell dropdown for enum columns will not show NULL option if column is not nullable

image

PR: https://github.com/supabase/supabase/pull/20474

Link: https://supabase.com/dashboard/project/_/editor

Removed deprecated LinkedIn Provider from Auth Providers

The LinkedIn provider was scheduled to be deprecated in favour of the current LinkedIn OIDC provider with a notice set up since November 2023 and a couple of email notifications sent out to our users. The LinkedIn provider is now removed from our Auth Providers page. Please do reach out to us via support if you might have been affected by this!

PR: https://github.com/supabase/supabase/pull/20510

Link: https://supabase.com/dashboard/project/_/auth/providers

Supavisor, our connection pooler, does not support using Network Restrictions at the moment. Support for Network Restrictions will be enabled on the 24th of January 2024.

If you are not using Supavisor, this change does not affect you.

Starting the 24th, projects with existing network restrictions will have their Supavisor configuration automatically updated with the same restrictions. Changes to any project’s network restrictions will also be automatically propagated to Supavisor.

FAQ

If direct connections to your database resolve to a IPv6 address, you need to add both IPv4 and IPv6 CIDRs to the list of allowed CIDRs. Network Restrictions will be applied to all database connection routes, whether pooled or direct. You will need to add both the IPv4 and IPv6 networks you want to allow. There are two exceptions: if you have been granted an extension on the IPv6 migration OR if you have purchased the IPv4 add-on, you need only add IPv4 CIDRs.

On February 1st 2024, AWS will start charging for IPv4 addresses. We're deprecating IPv4 for direct connections.

For more rationale behind the change, please read our blog post: Brace yourself, IPv6 is coming.

If you plan on not using our connection pooler, which still supports IPv4, and your environment does not support IPv6, consider enabling the add-on.

[!NOTE]
You do not need to enable this add-on if you use Supavisor, our new connection pooler!

The add-on is $4 per month - we're simply passing on the AWS costs to you. The add-on is available for all paid plans.

You still need to migrate away from PGBouncer even with this add-on enabled.

You can now enable the IPv4 addon in your project addon settings.

Additionally, we're working on making this even better by offering dedicated IPv4 addresses which help with IP allowlisting and network restrictions. There will be another update once dedicated IPv4 addresses are ready to use.

Column-level privileges management

Manage column-level privileges via the dashboard. This was a long time coming with many users looking forward to the addition of this to the dashboard. Huge shoutout once again to @HTMHell and everyone for their patience while we got this through the gates šŸ™

PR: https://github.com/supabase/supabase/pull/13745

Link: https://supabase.com/dashboard/project/_/auth/column-privileges

Table editor support for copying cells via keyboard shortcut

You can now copy cell values in the Table Editor via Cmd+c and Cmd+v (or Ctrl+c or Ctrl+v)! Hopefully this makes managing your data a little more easier.

PR: https://github.com/supabase/supabase/pull/20261

Link: https://supabase.com/dashboard/project/_/editor

Table editor prevent deleting all rows in a table through the GUI while impersonating a role

We're disabling the "Delete rows" action in the Table Editor when you've selected all rows in a table, and are impersonating a role due to an issue which @jacob-8 found (appreciate your report! šŸ™) The issue mentioned can be found here.

PR: https://github.com/supabase/supabase/pull/20349

Link: https://supabase.com/dashboard/project/_/editor

Storage Explorer support for emptying a bucket

PR: https://github.com/supabase/supabase/pull/20335

Link: https://supabase.com/dashboard/project/_/storage/buckets

Supavisor 1.1.6

Jan 11, 2024

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.

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.

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.

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.

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.

Clone tables

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

Enable and disable extensions

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

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!

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.

Kaizen

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.

Invite your team

You can now invite team members to your organisation.

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.

Typescript support

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

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.

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.

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