Changelog

New updates and product improvements

As part of our ongoing commitment to providing a secure and reliable experience for all developers, we will drop support for Node.js 18 in accordance with our Support Policy.

Affected libraries

Timeline

Deprecation Notice Issued: July 16, 2025 End of Support for Node.js 18: October 31, 2025

Why?

Node.js 18 reached its official end of life on April 30, 2025 and no longer receives security updates or critical fixes. Continuing to support unsupported runtimes introduces risks for both developers and end users.

What You Need to Do

Please upgrade to a supported Node.js version (20 or later) before October 31, 2025 to ensure continued compatibility with future releases of our libraries.

Thank you for your attention and continued support. If you have any questions, feel free to reach out through GitHub Discussions or our community channels.

Realtime Settings

Jul 11, 2025

Overview

We're going to roll out a Realtime Settings screen that will allow you to setup parameters for your Realtime account.

Usage

In the Realtime section of the Dashboard, under Settings, you will find the settings you can change.

Screenshot 2025-07-11 at 11 04 53

Currently we're giving you control over:

  • Channel restrictions - Control wether you allow public access to your channels. Public access means that you can use Private and Public channels. As a reminder, Private channels are the ones to which you have setup Realtime Authorization.
  • Database connection pool size - The amount of connections allocated to Realtime Authorization RLS checking. This will impact your join rate by being able to increase the rate of checks for your private channels. Be aware this will consume more direct connections from your database available connections
  • Max concurrent clients - If you have disabled the spending cap you are able to increase the number of concurrent clients and change your Rate Limit for this specific flag.

Edge Functions are executed in the region closest to the user making the request. This helps to reduce network latency and provide faster responses to the user.

However, if your Function performs many database or storage operations, invoking the Function in the same region as your database may provide better performance. Some situations where this might be helpful include:

  • Bulk adding and editing records in your database
  • Uploading files

Previously, the region could only be set via the x-region header in the request. However, in some instances (e.g., CORS requests, Webhooks), the headers set in the request cannot be controlled. Considering these limitations, we've also made it possible to set the region via the forceFunctionRegion query parameter.


_10
# https://supabase.com/docs/guides/functions/deploy#invoking-remote-functions
_10
curl --request POST 'https://<project_ref>.supabase.co/functions/v1/hello-world?forceFunctionRegion=eu-west-3' \
_10
--header 'Authorization: Bearer ANON_KEY' \
_10
--header 'Content-Type: application/json' \
_10
--data '{ "name":"Functions" }'

Please check the Regional Invocations guide for more details.

A couple of months ago, we started migrating our Edge Functions platform to use Deno 2.1. Deno 2 bridges the gap between Node and Deno by supporting Node's built-in APIs, npm modules, and package.json. This would make it easy to migrate existing Node apps to run in the Edge Functions platform.

Previously, we announced that you can start testing Deno 2.1 locally for your Edge Functions. Thanks to everyone who tried and gave us feedback.

Today, we give you the option to preview Deno 2.1 on our hosted platform. You should try running your existing Edge Functions with Deno 2.1 and report any bugs/issues.

You can first run deno lint locally on your Edge Functions code with no-deprecated-deno-api rule to find any breaking changes in Deno 2.

Once you have updated your functions, you can test them in our hosted platform as follows:

How to test for Deno 2 compatibility

There are two ways to force your functions to run on the Deno 2 preview cluster.

  • Add query parameter forceDenoVersion=2 to your function requests

_10
https://project-ref.supabase.co/functions/v1/hello-world?forceDenoVersion=2

  • Add x-deno-version: 2 header in requests

_10
curl --request POST \
_10
--url https://project-ref.supabase.co/functions/v1/hello-world \
_10
--header 'content-type: application/json' \
_10
--header 'x-deno-version: 2' \
_10
--data '{
_10
"name": "test"
_10
}

Note: Deno 2 Preview cluster traffic will be served from us-east-2 region. You don't need to set the region explicitly.

Also, in the next couple of days, we will notify projects currently using deprecated APIs via email to update their functions to use Deno 2.

When are we fully rolling out Deno 2.1?

Based on the feedback and issues we discover in this preview, we will decide the timeline on making Deno 2.1 the default runtime in our hosted platform. Current ETA is within 3-6 weeks.

The upcoming release of Supabase Platform will use Postgres 17. The Postgres 17 bundle will no longer include the following Postgres extensions:

  • timescaledb
  • plv8
  • plls
  • plcoffee
  • pgjwt

Existing projects will NOT be immediately impacted - the extensions will continue to be supported on Supabase Postgres 15, until the Supabase Platform β€œend of life” of Postgres 15 in approximately 1 year (May 2026). However, the extensions will not receive further updates and fixes. Existing projects will need to drop the extensions before they can upgrade to Postgres 17.

This decision to deprecate these extensions was not made lightly, however these extensions are more complex than β€œstandard” Postgres extensions and require additional support/testing that did not match the usage we see on the platform.

To address the capability gaps left by deprecating plv8 and timescaledb, we plan to include the pg_partman extension in a future Postgres 17 release and will provide documentation to help migrate Timescale hypertables to native Postgres partitioning at that time. For plv8 we recommend porting the logic to Edge Functions, which offer greater scalability and flexibility. These changes are part of our ongoing efforts to streamline our platform, reduce operational complexity, and ensure long-term support for features that align closely with our user base.

If you have additional use-cases for these deprecated extensions, please reach out to us and our Success team will work with you to find a solution.

[!NOTE] This change has now been fully rolled out - thank you everyone for the feedback! πŸ™

Tabs for Table and SQL Editor

For those who've been with us since the very beginning, you might remember that we used to have tabs in the Table Editor which we eventually removed πŸ˜‰ We're bringing this nifty UX back with a better UX too, and also introducing this into the SQL Editor as well! Conveniently go between tables across schemas, or flip between snippets without having to navigate through your list of queries (especially if you've got tons of them!)

These are currently behind their own feature previews at the moment, which you can access by clicking on your Profile picture in the top navigation bar, but we're going to be looking into an incremental rollout for everyone! Feel free to let us know what you think! πŸ™

What we'd like to know from you

  • Any bugs or issues that you might have run into while using the new UI
  • Any ideas or suggestions that you reckon will improve the DX based on how you use these 2 editors
  • Feel free to leave any feedback in this thread too!

Rollout plan

  • Changes are behind a feature preview in the dashboard
  • Starting from 12th May 2025, we will roll out to the hosted platform first as incremental % rollout where users will be opted into the feature preview by default
  • If you might want opt out of the changes, you may disable the changes via the feature previews which you can access through the user dropdown in the header here:

Here’s everything that happened with Supabase in the last month:

Project scoped roles

Project scoped rolesΒ are now available for all Supabase Team plans. Each member in the organization can be assigned a role scoped to the organization or to specific projects.

[GitHub]

MCP Server now works with VS Code

Set up the Supabase MCP server to work with Visual Studio Code.

[Twitter]

MCP Server can now create and deploy Edge Functions

Use the Supabase MCP server to build Edge Functions.

[Twitter]

Supabase UI Library now includes Infinite Query block

React hook for infinite lists that fetches data from Supabase. Use it for infinite scroll.

[Link] [Twitter]

Supabase UI Library now includes Social Auth

A block to quickly create authentication UI for all supported social logins.

[Link] [Twitter]

Quick Product Announcements

  • The new Supabase SOC 2 report is available. [Link]
  • We published comprehensive documentation about our security processes and controls. [Docs]

Made with Supabase

  • Web application for creating and editing AI-generated avatars using OpenAI's DALL-E API. Built with React, TypeScript, and Supabase. [GitHub]
  • Data transformation systems engineered for your needs [GitHub] [Website]
  • Command line for finding lines that have specific keywords in Rust . [GitHub]

Community Highlights

  • Create a Reusable Team component for your application using Next.js, Supabase, and Shadcn [Article]
  • Grocery Tracker App using Vue JS and Supabase [Article]
  • Use Supabase MCP in VSCode and Cursor [Article]
  • Supabase WordPress Integration - SupaWP Plugin [Article]
  • Implementing multi-tenancy into a Supabase app with Clerk [Article]
  • Build This Self-Expanding YouTube-Powered AI Agent Knowledge Base (n8n + Supabase) [YouTube]
  • Custom SMTP for Supabase Email Authentication | Complete Setup + Testing [YouTube]
  • AI Chatbot That Remembers You! (n8n + Supabase + WhatsApp) [YouTube]
  • Building a MCP-Powered Task Manager Agent with Agno and Supabase: A Step-by-Step Guide [Article]
  • How to Build an App From SCRATCH with Lovable + Supabase [YouTube]

This discussion was created from the release Developer Update - April 2025.

Sort columns in the Table Editor through the column header

Screenshot 2025-05-05 at 14 35 13

We've integrated the sorting functionality into the column menu - and these will dynamically update based on the current sort state of the column!

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

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

Ability to add billing address when creating or upgrading an organization

Screenshot 2025-04-21 at 21 28 39

You can now set your billing address when creating or upgrading your organization, and also set a billing name that diverges from your organization name! In hopes of alleviating a common request where invoices needed to be amended as there wasn't a billing address set πŸ™‚πŸ™

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

Link: https://supabase.com/dashboard/new

Other bugs fixes and improvements

General

  • Add reset database password callout to Connect modal (PR)

Table Editor

  • (Feature Preview) Fix searching in table editor unintentional clears all tabs (PR)
  • (Feature Preview) Fix tabs order not persisting when a tab is closed (PR)
  • (Feature Preview) Sync tab labels whenever reopening table editor (SQL Editor too) (PR)
  • Fix table editor rendering multiple columns if the column has multiple identical constraints on it (PR)
  • Fix inability to export data when all rows are selected (PR)

SQL Editor

  • (Feature Preview) Fix snippets being renamed by AI not updating it's tab label (PR)

Storage Explorer

  • Fix footer in list view unintentionally hiding last item (PR)

Edge Functions

  • Fix logs refresh button not pulling latest data when "Last n" option is selected (PR)

Logs

  • Fix datepicker overriding copy events (PR)

Integrations

  • Add link to foreign table in table editor from wrappers (PR)

Custom Reports

  • Fix missing labels on SQL blocks (PR)

Project scoped roles are now available for all Supabase Team plans.

With project scoped roles, you can:

  • Restrict team member access to specific projects
  • Set different permission levels for different projects
  • Maintain better security boundaries within your organization
  • Simplify compliance requirements, including HIPAA

Each member in the organization can be assigned a role scoped to the organization or to specific projects. If the member has a role at the organization level, they will have the equivalent permissions for that role across all current and future projects in the organization.

With project scoped permissions, you can assign members to roles scoped to specific projects within your organization.

To get started with project scoped roles visit your organization's team settings page to add users and manage their roles. If you're adding project scoped roles for a new user, you can only select one project when sending the invite. You can assign roles to multiple projects after the user accepts the invite.

(Upcoming) Dashboard layout update for organizations

We've updated the layout of the dashboard in hopes to improve the UX for managing team members and billing for organizations, as well as to clearly show the relationship between organizations and their projects. The home page of the dashboard is now scoped to a selected organization instead of showing all projects across all organizations, and accessing organization settings are now in individual links in the side navigation bar.

This isn't publicly available just yet, but we're looking to incrementally roll this out to everyone in batches over the next few weeks, starting as a feature preview initially where you can opt in to experience the updated layout. We'd also love to hear any thoughts or feedback that you might have - do feel free to reach out to us! We're just a message away from the Feedback button at the top right corner of the dashboard πŸ™πŸ™‚

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

Link: https://supabase.com/dashboard

Revamped billing breakdown in organization settings

Screenshot 2025-04-09 at 19 35 37

As with our commitment to making billing as transparent as possible, we've made a number of improvements to the billing breakdown section under your organization settings, such as adding individual documentation links to each usage items charged, adding separate items for read replicas / branching, and more! Read more details about the changes if you might be interested in the attached PR below πŸ™‚

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

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

Add Database upgrade logs

image image

We've added the ability to browse logs relating to database upgrade operations as a way to troubleshoot failed upgrades. Unsuccessful database upgrades are reflected with an alert on the project's home page which now also includes a link to the database upgrade logs along with the exact time interval when the upgrade took place. πŸ› οΈ 🚧

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

Link: https://supabase.com/dashboard/project/_/logs/pg-upgrade-logs

Feature previews are now available on local / self-hosted Studio

Feature previews have always been available only for the hosted version of the dashboard, but we've decided to make it available for local / self-hosted version of the dashboard too!(Studio) Only feature previews that are relevant to the project will be present, so you'll be able to start using the Tabs interfaces for the Table Editor and SQL Editor soon once we've cut a new release πŸ˜‰

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

Other bug fixes and improvements

Table Editor

  • Clean up filters and sorts if applied on a column that has been deleted (PR)
  • Optimize row retrieval with CTE to improve load times by almost 30x on larger tables (PR)

SQL Editor

  • (Feature Preview) Persist scroll position when switching between snippet tabs (PR)
  • Fix missing styles when multiple snippets are selected via shift click (PR)

Reports

  • Support dragging a SQL chart from the Assistant into an empty custom report (PR)

Logs

  • Consolidate date picker in logs to a single UI (PR)
  • Add "Last 3 hours" option (PR)
  • Add "Copy as JSON" button when view log details (PR)
  • Add hint and query details to Postgres Logs (PR)
  • Fix cmd+z undo behaviour in logs explorer (PR)

Integrations

  • Add meters table for Stripe FDW (PR)
  • Add Slack FDW (PR)
  • Add Cloudflare D1 FDW (PR)
  • Add Hubspot FDW (PR)
  • Add Orb FDW (PR)

Build in a weekend, scale to millions