Changelog

New updates and product improvements

RSS

Copy as Markdown

Breaking Change: Tables not exposed to Data and GraphQL API automatically

Apr 28, 2026

database GraphQL breaking-change

New tables in the public schema will no longer be exposed to the Data API automatically.

When this change takes effect #

  • Starting today (April 28, 2026), you can create new Supabase projects where tables in the public schema are not exposed to the Data API and GraphQL API by default. You can enable this setting at project creation.
  • On May 18, 2026, pg_graphql will not be enabled by default. More details here.
  • On May 30, 2026 this setting becomes the default for all new projects.
  • On October 30, 2026 the setting will be applied it to all existing projects.

Once the change is rolled out to your project, new tables you create in public schema require an explicit opt-in (via a Postgres grant ) before the Data API can see them. Existing tables are not affected in your project, they keep their current grants and stay reachable. This change applies to projects that use the Data API, Supabase's auto-generated REST and GraphQL layer, which is what supabase-js and our other client libraries call. If your app reads and writes Postgres over a direct connection (via psql, ORM or an app server with a connection string), this change will not affect you.

What's changing #

Previously, when you create a Supabase project with default settings, select, insert, update, and delete are granted to every table in the public schema to the anon, authenticated and service_role roles. Every table you create becomes reachable via the Data API on creation.

From today, the project creation screen includes a setting to opt out of those default grants. When the “Automatically expose new tables” checkbox is unchecked, you opt-in to the new behavior and tables aren’t exposed to the Data API by default. On May 30, 2026 the opt-out becomes the default for all new projects.

RLS behavior remains unchanged. Grants are a separate layer: they control whether a role can access a table at all, while RLS controls which rows that role can see.

If a grant is missing, PostgREST returns a clear error rather than a silent failure:

`{

"code": "42501",

"message": "permission denied for table your_table",

"hint": "Grant the required privileges to the current role with: GRANT SELECT ON public.your_table TO anon;"

}

`

The hint shows you which role is missing which privilege, along with the GRANT needed to fix it.

Before → After #

Step Before After
Create table in public Table is reachable via Data API on creation Table exists but is not reachable via Data API
grant to anon / authenticated / service_role Implicit, via default privileges Required, explicit grant statement
alter table ... enable row level security Remains the same Remains the same
create policy ... Remains the same Remains the same

Why #

When Supabase launched, a human reviewed each schema change and enabled RLS on new tables as they went. The default grants made this convenient: create a table, and it showed up in your client.

That model doesn’t scale, and it’s easy to accidentally expose new tables before you’ve secured them.Today, agents, CLI scripts, and AI platforms create tables too, and many of those operations do not have a human reviewing the diff.

Explicit grants make access a deliberate, code-level decision. The PostgREST error response above includes a precise hint, so an agent can self-correct when a grant is missing instead of producing a broken request.

Without a grant, the API cannot see the table, regardless of how you created it (SQL editor, migrations, Management API, MCP, CLI, or an AI coding tool). Postgres enforces this at the role layer, so the guarantee holds regardless of the creation path.

We’re moving the platform toward declarative code. Explicit Postgres grants are reviewable, diffable, and greppable. They also give you per-role control: anon and authenticated need different privileges in most schemas, and an explicit grant makes that difference visible in your migrations. This was always possible, now it's the default.

Currently, the default grants expose every table in public over the Data API on creation, including tables a developer forgot to protect.

This is the next step in a series of platform default changes we have shipped over the past quarter:

Who is affected #

You are unaffected if you only talk to your database over a direct Postgres connection--you can stop reading.

You need to act if any of the following is true:

  1. Your app reads or writes tables in the public schema via the Data API (PostgREST, GraphQL, supabase-js, any of the client libraries, or direct HTTP to /rest/v1/ or /graphql/v1 )
  2. Your migrations or provisioning flow create tables in public without explicit GRANT statements.
  3. Your AI coding tool, CLI script, or Management API call creates tables and expects them to be reachable over the Data API on creation.

The change reaches you on one of three dates:

  • From Today, if you opt out of the "Automatically expose new tables and functions" setting during project creation.
  • May 30, 2026, when the new behavior becomes the default for all new projects.
  • October 30, 2026, when the new behavior is enforced on all existing projects.

Between now and then, Security Advisor will flag affected tables, and we’ll email active projects so you can review access, add grants, and verify your app.

What to do #

For new tables you want to expose via the Data API, make explicit grants part of your table-creation flow. Without an explicit GRANT , a role will not have access to the created table.

Treat these three steps as a unit. If the grant is missing, Postgres rejects the query before RLS comes into play.

`-- 1. Grant the privileges the role needs

grant select on public.your_table to anon;

grant select, insert, update, delete on public.your_table to authenticated;

grant select, insert, update, delete on public.your_table to service_role;

-- 2. Enable RLS

alter table public.your_table enable row level security;

-- 3. Add the policies you need

create policy "users can read their own rows"

on public.your_table

for select

to authenticated

using (auth.uid() = user_id);

`

If you use an AI coding tool to create tables, update its system prompt or adopt the Supabase agent skill, which includes the grants step, and which we keep updated as the platform changes. Skills are easy to install, and handle grants correctly by default. Agents can self-correct from the PostgREST error hint returned as well.

If you run your own migration framework, or a platform that provisions Supabase projects for your own customers, bundle the GRANT statements alongside your ENABLE ROW LEVEL SECURITY and policy statements in the same migration.

Opting in on existing projects #

You do not have to wait for October 30. To adopt the new behavior on an existing project today, run the same revoke statements the dashboard runs at project creation.

Open the SQL Editor for your project and run:

`-- Stop Postgres from granting default privileges on future objects in public

alter default privileges for role postgres in schema public

revoke select, insert, update, delete on tables from anon, authenticated, service_role;

alter default privileges for role postgres in schema public

revoke usage, select on sequences from anon, authenticated, service_role;

`

These four statements change the defaults for future tables and sequences that the postgres role creates in the public schema.

Existing objects keep their current grants, so your running app stays reachable.

From this point on, new tables you create in the public schema need explicit GRANT statements before the Data API can see them.

If you also want to tighten grants on existing tables you do not want reachable via the Data API, revoke them per table:

`revoke all on table public.your_table from anon, authenticated, service_role;

`

The Data API exposure badge in the Table Editor and the Security Advisor list the tables worth reviewing.

FAQ #

Does this affect tables in the storage, auth, realtime, or custom schemas?

No. The change touches default privileges in the public schema. Tables in storage, auth, realtime, and any custom schemas you expose via the Data API keep their current grants and their current defaults.

I opted in on an existing project, created new tables, and my app is broken. How do I roll back?

Open the SQL Editor and run two blocks.

1) Restore defaults for future tables

Future tables will now behave as they did before the revoke:

`alter default privileges for role postgres in schema public

grant select, insert, update, delete on tables to anon, authenticated, service_role;

alter default privileges for role postgres in schema public

grant usage, select on sequences to anon, authenticated, service_role;

`

2) Fix existing tables

alter default privileges only affects future objects, so tables you created since the revoke stay without grants. Grant them in bulk:

`grant select, insert, update, delete on all tables in schema public to anon, authenticated, service_role;

grant usage, select on all sequences in schema public to anon, authenticated, service_role;

`

After running both blocks, your project matches the pre-revoke state. If you added tables you want to keep private, revoke those individually after the bulk grant:

`revoke all on table public.your_private_table from anon, authenticated, service_role;

`

Rollout timeline #

Date Milestone User action
2026-04-28 Changelog published; opt-in toggle available at project creation; docs updated Try it on a test project; adapt your provisioning flow
2026-05-30 New behavior becomes the default for all new projects New-project workflows must include explicit GRANT statements
2026-10-30 New behavior enforced on all existing projects Migration must be complete; tables without explicit grants stop being reachable via the Data API

Communications timeline #

We email owners and admins of every active project, including projects with no Security-Advisor-flagged tables today.

After October 30, any new table created in public without an explicit grant stops being reachable via the Data API, so a project with no flagged tables today still breaks the first time someone adds a new one.

From today through October 30, the Security Advisor flags affected tables per project and shows the remediation SQL, so you do not have to hunt for them yourself.

Date Channel Audience
2026-04-28 This changelog post Public
2026-05-07 April monthly newsletter All subscribers
2026-05-13 Email: first notice of the May 30 change for new projects Owners and admins of all active projects
2026-05-27 Email: final reminder before the May 30 change for new projects Owners and admins of all active projects
2026-09-23 Email: five-week notice before the October 30 change for existing projects Owners and admins of all active projects
2026-10-23 Email: final notice, one week before change for existing projects Owners and admins of all active projects

If you have a question, create a support ticket here.

Feature Preview: RLS Tester

Apr 24, 2026

dashboard

Verify the correctness of your RLS policies with the RLS tester #

Verifying the correctness of your RLS policies set up has always been a gap, as highlighted by a number of GitHub discussions like here and here. As such, we're piloting a dedicated UI for RLS testing (using role impersonation as the base), in which you'll be able to

  • Run a SQL query as a user (not logged in / logged in - this is the role impersonation part)
  • See which RLS policies are being evaluated as part of the query
  • And hopefully be able to debug which policies are not set up correctly
  • (Side note) We also added partial support for testing client library code instead of just SQL
    • This is powered by the AI Assistant which will then infer the code into SQL
    • e.g const { data } = await client.from('colors').select('*')
    • Given that this is by AI, as always do verify the output!

Note: Only SELECT queries are supported for now to simplify things. Testing mutation queries (INSERT, UPDATE, DELETE) could trigger side effects such as triggering a database trigger, especially if it involves an external request such as an edge function or HTTP call - we're keeping them out of this preview while we work out a safe way to support them.

Changes are currently set as a feature preview which you can access by clicking on your Profile picture in the top navigation bar . We'll iterate as we get feedback from everyone so please do let us know what you think! 🙂🙏

Related PR: https://github.com/supabase/supabase/pull/45121

What we'd like to know from you #

  • Any bugs or issues that you might have run into while using the RLS tester
  • Any ideas or suggestions that you reckon will improve the DX based on how you currently verify the correctness of your RLS policies
  • Feel free to leave any feedback in this thread too! (Both good and bad!) 🙂🙏

Automatic PostgREST retries for transient errors

Apr 20, 2026

supabase-py supabase-js supabase-flutter supabase-swift

All official Supabase client libraries now automatically retry failed database queries when they encounter transient network errors — no code changes required.

What changed #

When a GET or HEAD request to PostgREST fails with a transient error (HTTP 520, HTTP 503, or a network-level failure), the client transparently retries the request up to 3 times with exponential backoff (1s → 2s → 4s, capped at 30s). Each retry includes an X-Retry-Count header so server-side logs can observe retry behavior.

Only idempotent methods (GET and HEAD) are retried. POST, PATCH, PUT, and DELETE requests are never retried automatically.

Versions #

Library Version
supabase-js v2.102.0
supabase-swift v2.43.0
supabase-flutter (postgrest_dart) v2.7.0 (supabase_flutter v2.12.2+)
supabase-py v2.29.0

Configuration #

Retries are enabled by default. You can opt out globally or per-request:

JavaScript

`// Disable globally

const supabase = createClient(url, key, {

db: { retryEnabled: false }

})

// Disable per request

const { data } = await supabase.from('table').select().retry(false)

`

Swift

`// Disable globally

let client = PostgrestClient(url: url, headers: headers, retryEnabled: false)

// Disable per request

let data = try await client.from("table").select().retry(enabled: false).execute()

`

Flutter/Dart

`// Disable globally

final client = PostgrestClient(url, retryEnabled: false);

// Disable per request

final data = await supabase.from('table').select().retry(enabled: false);

`

Python

`# Disable per request

data = supabase.table("table").select("*").retry(False).execute()

`

2026

2026

Upcoming: Tax Collection on Supabase Invoices

Apr 17

billing

[Public Alpha] Declarative Schema Management with pg-delta

Apr 16

cli

Developer Update - April 2026

Apr 9

docs dashboard branching multigres

Edge Functions rate limits on recursive/nested Edge Functions calls

Mar 11

edge functions

Developer Update - March 2026

Mar 5

docs edge functions storage analytics multigres

Breaking Change: Removing access to OpenAPI spec via the anon key

Feb 17

postgREST breaking-change

Developer Update - February 2026

Feb 5

security edge functions ai

Queue table Inserts, edits and deletes on the table editor

Feb 4

dashboard

Breaking Change: pg_graphql no longer enabled automatically (within approx 3 weeks from today)

Jan 26

breaking-change

SQL snippets can now be saved in local Studio

Jan 21

cli self-hosted

Developer Update - January 2026

Jan 8

docs security dashboard supabase-py ai

2025

2025

Data API upgrade to PostgREST v14

Dec 11

postgREST

Developer Update - December 2025

Dec 10

edge functions auth ai analytics infra etl

[Public Alpha] Manage Vector Buckets from the dashboard

Nov 26

ai

Dashboard Updates (101125 - 251125)

Nov 24

dashboard

Notify users about security-sensitive actions on their accounts

Nov 11

security auth

[Public Alpha] Manage Analytics Buckets from the dashboard

Nov 3

dashboard storage analytics

Dashboard Updates (201025 - 031125)

Nov 3

dashboard

Enhanced Type Inference for Embedded Functions (Computed Relationships)

Oct 22

supabase-js

Dashboard Updates (061025 - 201025)

Oct 21

dashboard

Supabase Remote MCP server

Oct 10

mcp

Potential breaking change in pgmq from 1.4.4 to 1.5.1 and temporary halt on upgrade for existing projects

Oct 8

postgres

Dashboard Updates (220925 - 061025)

Oct 6

dashboard

Supabase JS Client Libs: Migration to Monorepo

Oct 2

supabase-js

Dashboard Updates (080925 - 220925)

Sep 24

dashboard

Changes to Custom JWT and Signing Keys issue resolution

Sep 16

postgREST

Dashboard Updates (180825 - 010925)

Sep 1

dashboard

Personal Access Tokens: Expiration & Usage Tracking

Aug 27

security

3x cheaper egress for cache hits

Aug 22

storage billing

OAuth 2.1 Server Capabilities for Supabase Auth

Aug 19

auth

All regions now run Deno 2.1 compatible release

Aug 15

edge functions

Change in `realtime-js` affecting Node.js < 22

Aug 12

realtime persist-in-search

Deprecation Notice: Dropping support for python's gotrue and supafunc

Aug 8

supabase-py

Dashboard Navigation Updates: Project Settings

Aug 4

dashboard

supabase v17.4.1.062 was withdrawn

Jul 23

supabase-js

Coming Soon: Combined View for Logs

Jul 17

dashboard

Deprecation Notice: Dropping Support for Node.js 18

Jul 16

supabase-js

Realtime Settings

Jul 11

realtime

Update to Edge Functions Regional Invocations

Jul 2

edge functions

Deno 2.1 Preview - Hosted Environment

Jul 1

edge functions

Forthcoming Postgres 17 Release Notes

May 22

infra

Feature Preview: Tabs for Table and SQL Editor

May 13

dashboard

Developer Update - April 2025

May 7

security dashboard mcp

Dashboard Updates [210425 - 050525]

May 6

dashboard

Project scoped roles now available in Team plans

Apr 21

security

Dashboard Updates [070425 - 210425]

Apr 21

dashboard

Developer Update - March 2025

Apr 8

dashboard mcp postgres

Dashboard Updates [240225 - 070425]

Apr 7

dashboard

Supabase Management API `GET` Logs Restrictions

Apr 1

infra

Upcoming Change: Improved Experimental Routing for Read Replica Load Balancers

Mar 27

infra

Dedicated Pooler with PgBouncer

Mar 25

infra

Restricting Access on Auth, Storage, and Realtime Schemas on April 21, 2025

Mar 18

auth storage realtime

Developer Update - February 2025

Mar 7

dashboard edge functions ai billing postgres

Deno 2.1 Preview **local only**

Mar 7

edge functions

Greatly increased Third-Party Auth MAU quota for Free and Paid Plans

Mar 3

billing

Dashboard Updates [10/02/25 - 24/02/25]

Feb 25

dashboard

Deploy and update Edge Functions using the Management API

Feb 19

edge functions

Feature Preview: Inline Editor

Feb 18

dashboard

Upcoming breaking change to Dashboard Navigation

Feb 17

dashboard breaking-change

Deploy Edge Functions from CLI without needing Docker + import files outside of supabase directory

Feb 14

cli edge functions

Dashboard Updates [27/01/25 - 10/02/25]

Feb 11

dashboard

Developer Update - January 2025

Feb 7

dashboard auth ai analytics

Deprecation of Fly.io Postgres Managed by Supabase on April 11, 2025

Feb 7

infra

Dashboard Updates [13/01/25 - 27/01/25]

Jan 28

dashboard

Relaxing Database Size limit on Free Plan - 0.5 GB Database Size per project

Jan 27

billing

Developer Update - December 2024

Jan 23

security dashboard ai

Enhanced Type Inference for JSON Fields in supabase-js

Jan 20

supabase-js

Add static files to Edge Functions

Jan 15

edge functions

Supabase Connection Pooler Deprecating Session Mode on Port 6543 on February 28, 2025

Jan 13

infra

Dashboard Updates [30/12/24 - 13/01/25]

Jan 13

dashboard

Credit Balance Top Up

Jan 13

billing

Type validation for query filter values in supabase-js

Jan 9

supabase-js

Use a custom NPM registry for Edge Function dependencies

Jan 7

edge functions

2024

2024

Dashboard Updates [09/12/24 - 23/12/24]

Dec 23

dashboard

Dashboard Updates [18/11/24 - 09/12/24]

Dec 10

dashboard

Slack V1 OAuth Provider Deprecated in favour of Slack (OIDC)

Dec 1

auth

Removal of app.settings.jwt_secret from the database

Nov 22

security

Dashboard Updates [04/11/24 - 18/11/24]

Nov 18

dashboard

`supabase-js` release candidate `2.46.2-rc.3` incoming types inferences for PostgREST fixes and feedbacks

Nov 6

postgREST supabase-js

Write Edge Functions in pure JavaScript instead of using TypeScript

Nov 5

edge functions

Use `deno.json` configuration file in Edge Functions

Nov 5

edge functions

Dashboard Updates [21/10/24 - 04/11/24]

Nov 4

dashboard auth

Import NPM packages from private registries in Edge Functions

Oct 29

edge functions

Dashboard Updates [07/10/24 - 21/10/24]

Oct 21

dashboard

Developer Update - September 2024

Oct 10

dashboard edge functions

Improved docs information architecture

Oct 9

docs

Dashboard Updates [23/09/24 - 07/10/24]

Oct 7

dashboard

XHTML responses are only allowed with a Custom Domain enabled

Oct 1

infra

Supabase Platform Access Control: Project Permissions Breaking Changes on October 15, 2024

Sep 24

security breaking-change

Dashboard Weekly Updates [16/09/24 - 23/09/24]

Sep 23

dashboard

Projects on XL and larger compute add-ons can now create up to 5 Read Replicas.

Sep 22

infra

Supabase Auth: Changes to default email provider

Sep 18

auth

Developer Update - August 2024

Sep 16

postgREST auth realtime supabase-py ai wrappers analytics

Supabase Auth: Asymmetric Keys support in 2025

Sep 13

auth

Upcoming changes to Supabase API Keys

Sep 12

breaking-change persist-in-search

Dashboard Weekly Updates [02/09/24 - 09/09/24]

Sep 12

dashboard

Edge Functions are now Deno 1.45 compatible

Sep 10

edge functions

Dashboard Weekly Updates [26/08/24 - 02/09/24]

Sep 2

dashboard

Dashboard Weekly Updates [26/08/24 - 30/08/24]

Aug 30

dashboard

Moving to hourly usage-based billing for databases, based on disk consumption

Aug 23

billing

Threshold for transitioning projects to physical backups lowered to 15GB

Aug 19

infra

Developer Updates - July 2024

Aug 9

billing infra postgres

Let's Encrypt cross-signed chain will no longer be used for Custom Domains after September 9, 2024

Aug 8

breaking-change infra

Improved invoices and more timely usage data

Aug 8

billing

Moving to hourly usage-based billing for IPv4, Custom Domain and Point-in-time recovery

Aug 7

billing

Moving to hourly billing for Storage Size

Aug 2

billing

Wrappers Wasm FDW is on Public Alpha

Jul 30

wrappers

Developer Updates - June 2024

Jul 23

docs dashboard edge functions billing analytics

DigiCert no longer being used as the CA for Supabase HTTP APIs

Jul 22

security breaking-change

Edge Functions: Deploy More Functions at No Extra Cost

Jul 18

billing

Supabase Platform Access Control: Organization Permissions Breaking Changes on July 26, 2024

Jul 15

breaking-change

Dashboard Weekly Updates [08/07/24 - 15/07/24]

Jul 15

dashboard

Postgres 13 Deprecation Notice

Jul 12

postgres

Dashboard Weekly Updates [01/07/24 - 08/07/24]

Jul 9

dashboard

Dashboard Weekly Updates [17/06/24 - 24/06/24]

Jun 24

dashboard

Paused Free Plan projects are restorable for 90 days

Jun 24

infra

Edge Functions are now Deno 1.43 compatible

Jun 18

edge functions

Developer Updates - May 2024

Jun 17

dashboard edge functions auth realtime ai

Dashboard Weekly Updates [03/06/24 - 10/06/24]

Jun 11

dashboard

@supabase/ssr updates and roadmap towards v1.0.0

Jun 5

auth

Log Drains Private Alpha

May 22

analytics

Updated deployment instructions for supabase-grafana monitoring application

May 16

analytics

Dashboard Weekly Updates [06/05/24 - 13/05/24]

May 15

dashboard

Developer Updates - April 2024

May 7

security auth storage ai infra

JSR modules are supported in Edge Functions & Edge Runtime

May 7

edge functions

Dashboard Weekly Updates [22/04/24 - 29/04/24]

Apr 30

dashboard

Dashboard Weekly Updates [15/04/24 - 22/04/24]

Apr 22

security dashboard auth storage wrappers

Platform Updates: March 2024

Apr 5

infra

Realtime Broadcast and Presence Authorization

Apr 4

realtime

Increased Supavisor Client Connection Limits Across Paid Plans

Apr 3

infra

Dashboard Weekly Updates [18/03/24 - 25/03/24]

Mar 25

dashboard

Migration to v2 platform architecture

Mar 20

infra

Dashboard Weekly Updates [04/03/24 - 11/03/24]

Mar 12

dashboard

Platform Updates: February 2024

Mar 6

postgREST ai infra

Dashboard Weekly Updates [26/02/24 - 04/03/24]

Mar 4

dashboard

Dashboard Weekly Updates [19/02/24 - 26/02/24]

Feb 26

dashboard

Paid organizations can now launch projects on bigger compute immediately

Feb 20

billing infra

Dashboard Weekly Updates [12/02/24 - 19/02/24]

Feb 19

dashboard

Dashboard Weekly Updates [05/02/24 - 12/02/24]

Feb 13

dashboard

Platform Updates: January 2024

Feb 5

dashboard edge functions storage infra

Dashboard Weekly Updates [22/01/24 - 29/01/24]

Jan 30

dashboard

Dashboard Weekly Updates [15/01/24 - 22/01/24]

Jan 22

dashboard

Supavisor starts enforcing Network Restrictions

Jan 17

infra

IPv4 addon for projects available

Jan 17

infra

Dashboard Weekly Updates [08/01/24 - 15/01/24]

Jan 15

dashboard

Supavisor 1.1.6

Jan 11

infra

Platform Updates December 2023

Jan 11

infra

Supavisor 1.1.5

Jan 10

infra

Dashboard Weekly Updates [01/01/24 - 01/08/24]

Jan 8

dashboard

Supavisor v1.1.2 - allow_list and client_heartbeat_interval

Jan 5

infra

Threshold for transitioning projects to physical backups lowered to 40GB

Jan 2

infra

2023

2023

Dashboard Weekly Updates [11th Dec - 18th Dec]

Dec 18

dashboard

Supavisor 1.0

Dec 13

infra

Improved usage insights and transparency

Dec 5

billing

Dashboard Weekly Updates [27th - 4th Dec]

Dec 4

dashboard

Directly updating rows in the `cron.job` table is no longer allowed

Nov 29

database breaking-change

Dashboard Weekly Updates [20th Nov - 27th Nov]

Nov 27

enhancement dashboard

LinkedIn OAuth Provider deprecated in favour of LinkedIn (OIDC) Provider

Nov 24

auth breaking-change

Edge Functions secrets should now get updated upon resetting DB password or JWT secret

Nov 14

edge functions

Improved Realtime reliability when migrations fail for a project

Nov 9

realtime

Column Encryption is SQL-only now

Nov 9

dashboard

Connections to Postgres directly from an edge function are secured with SSL

Nov 9

enhancement edge functions

Platform updates: October 2023

Nov 6

security dashboard auth storage ai

Large databases now use daily physical backups

Nov 2

infra

Postgres 12 Deprecation Notice

Oct 14

postgres

Platform update September 2023

Oct 6

edge functions auth realtime ai wrappers infra

PGBouncer and IPv4 Deprecation

Sep 29

infra

Platform updates: August 2023

Sep 8

security dashboard ai billing infra

Moving to Org-based billing

Aug 31

billing

Platform updates June 2023

Jul 7

cli auth storage realtime billing postgres

Platform updates: May 2023

Jun 9

security dashboard edge functions auth storage ai postgres

Platform updates: April 2023

May 10

dashboard edge functions auth storage GraphQL analytics postgres

Platform Update February 2023

Mar 9

dashboard cli edge functions database supabase-js postgres

Platform update January 2023

Feb 8

docs auth storage supabase-py ai postgres

2022

2022

Platform Updates November 2022

Dec 8

auth auth-helpers

Platform updates: October 2022

Nov 2

edge functions auth storage database supabase-js supabase-flutter postgres

Platform Update September 2022

Oct 7

security edge functions auth postgres

Security Patch Notice

Oct 4

security

2021

2021

Platform updates: 30 Nov 2021

Nov 30

postgREST auth storage realtime postgres

October Beta 2021

Nov 8

dashboard postgREST auth self-hosted supabase-js

September Beta 2021

Oct 4

auth database supabase-js postgres

August Beta 2021

Sep 13

dashboard auth realtime supabase-flutter infra

July Beta 2021

Aug 12

dashboard postgREST auth storage supabase-flutter postgres

June Beta 2021

Jul 4

auth storage database postgres

April Beta 2021

May 5

dashboard storage wrappers

YCombinator —  Summer 2020

Build in a weekend, scale to millions

Start your project Request a demo