RepoJournal

$ cat supabase/week/2026-10-19.log

Supabase

Supabase

the week in review · Oct 19 – Oct 25, 2026

Realtime patches cross-tenant channel leak via delimiter injection

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

etl separately drops a compromised eMudhra root CA and OpenSSL, moving its images to Debian 13; the CLI warns ahead of the v3 local-target default.

256 commits 256 PRs merged 38 releases 1 security advisories 7 briefings covered

all supabase reviews →

Unsanitized delimiter injection enables cross-tenant access to private channels supabase/realtime

Unsanitized delimiters let a crafted request reach private channels belonging to another tenant. Audit any deployment where clients control channel names or broadcast payloads before assuming channel isolation holds.

v2.147.0 supabase/realtime

by realtime-release-bot[bot]

The 2.147.0 release also updates castore so realtime is not affected by the compromised root, alongside the presence latency metric from 2.145.0. Both are patch-level pulls.

Drop OpenSSL and move images to Debian 13 (#1145) supabase/etl

by Jordan McQueen

The image moves to Debian 13 with no OpenSSL dependency, paired with a webpki-roots bump to 1.0.10 and rustls-webpki 0.103.16. That bump removes emSign ECC Root CA - G3 and rejects the eight compromised eMudhra intermediate keys, tracked as RUSTSEC-2026-0381/0382/0383 and CVE-2026-111943; the release is marked breaking.

feat(replication): Add support for TEMPORARY replication slots (#1084) supabase/etl

by akselbor

ReplicationSlotConfig gains a persistence field, and PgReplicationClient::create_slot and create_slot_with_transaction now take a &ReplicationSlotConfig. Downstream callers need to update call sites; the change ships as breaking.

feat(realtime)!: collapse RealtimeClient and RealtimeChannel into actors on one executor supabase/supabase-swift

by grdsdev

The Swift client collapses RealtimeClient and RealtimeChannel onto a single executor, one isolation domain per client, as step two of the Realtime v3 concurrency rewrite. Client code holding both types across actor boundaries will need to re-check its concurrency annotations.

feat(cli): warn before the v3 switch to a local default target (#7186) supabase/cli

by Colum Ferry

v3, landing on next, makes the local stack the default target for every command that can run against either surface, with a single --remote flag to reach a hosted project. The warning lands first so scripts that assume a hosted target can be found before the default flips.

feat(cli): lock and override service versions in stack mode (#7195) supabase/cli

by Julien Goux

Stack mode can now pin or override any service version slim-services has published, match a hosted project's versions after supabase link, and reproduce the whole stack from one committed file. That makes local environments reproducible across a team, not hand-configured per machine.

fix(mcp): don't split an UPDATE on a semicolon inside a quoted value supabase/mcp

by kevin9327

Alongside: the MCP UPDATE guard now ignores semicolons inside quoted values, studio's pipeline wizard validates destination credentials and publication settings and confirms before navigating away from unsaved work, realtime re-owns only new partitions, and etl added fuzz targets and property tests for its decode and sink paths.

$ ls supabase/week/ # the briefings behind this review

Keep up with Supabase in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

all supabase reviews →