Changelog

New updates and product improvements

Combined View for Logs#

Group

In the upcoming days, we'll be releasing a new interface on the dashboard for logs with a unified view across all your services, along with improved filtering and real-time updates! You no longer need to find a specific collection that you'd want to look for logs from, and can now conveniently query through a single interface, which will also provide a better top-level view of your project ๐Ÿ™‚

This is very much a heavy work in progress, but we'd be keen to hear your thoughts on what you love, what's missing, and anything at the top of your mind! Sign up here for early access to give it a try!

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 find logs
  • Feel free to leave any feedback in this thread too!

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.

Build in a weekend, scale to millions