151 wires and counting

$ follow Supabase

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.

$ status

wire 2026-09-24
stories 112

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

SCRAM channel binding restored over TLS, C# array parsing fixed

By RepoJournal · Filed · About Supabase · Composed from the cited sources · methodology

Supabase's ETL connector repaired a SILENT TLS regression that had switched off SCRAM channel binding, while the C# client stopped mangling Postgres array literals and the remote MCP server got a new home.

fix(postgres): restore SCRAM channel binding over TLS supabase/etl

by farazdagi

The TLS adapter parsed complete certificates as `TbsCertificate`, so channel binding was silently disabled on every TLS connection. It now parses `Certificate` and hashes the original DER using its signature algorithm, and drops the unsupported Ed25519 digest assumption while keeping the existing fallback policy.

fix: reject empty source TLS trust bundles supabase/etl

by farazdagi

Blank TLS trust bundles are now rejected during config validation and before pipeline startup, and bundles containing no certificates are rejected when the replication TLS config is built. SQLx store connections keep their default trust roots, so a misconfigured bundle fails loudly instead of quietly downgrading trust.

fix(realtime): parse postgres array literals instead of splitting on commas supabase/supabase-csharp

by fresh55

`IntArrayConverter` and `StringArrayConverter` used to split literals on commas, so `{"a,b",c}` came back as `["\"a", "b\"", "c"]` and `{NULL,a}` as `["NULL", "a"]`; they now parse the literal the way supabase-flutter does, yielding `["a,b", "c"]` and `[null, "a"]`.

fix(postgrest): allow null reference values in Set supabase/supabase-csharp

by PhuocOng

`Set(row => row.Data, null)` rejected reference-type columns other than `string` before sending a request, because the null guard used `Nullable.GetUnderlyingType`, which only applies to value types. The guard now applies only to value types, so `JObject`, `JsonObject` and nullable list columns can be cleared.

chore: fix nuget package descriptions, tags and repository urls supabase/supabase-csharp

by fresh55

Every nuget.org package now gets a one-sentence Description, 4 to 9 search tags covering auth, postgres, realtime and storage, and corrected RepositoryUrl and project urls; Title, Summary and Owners are dropped because `pack` ignores Summary and Owners and nuget.org indexes Title without showing it.

feat(sandbox): stage Docker-less local stacks via a docker option supabase/evals

by Coly010

`dockerAwareLocalStackRuntime` dissolves into `localStackRuntime`, so any experiment can request `docker: 'absent'` and stage a Docker-less local stack; `docker` defaults to `'available'`, which is the existing code path. Elsewhere in evals, `upload-braintrust` turns `results/` into Braintrust experiments, `cli` lands as an eval and experiment suite, the custom claims and RBAC guide gets covere...

Quick answers

What shipped in Supabase on September 24, 2026?
Supabase's ETL connector repaired a SILENT TLS regression that had switched off SCRAM channel binding, while the C# client stopped mangling Postgres array literals and the remote MCP server got a new home. In total, 52 commits, 50 pull requests, and 10 releases landed.
Who contributed to Supabase on September 24, 2026?
13 developers shipped this update, including supabase-evals-releaser, czenko, mattrossman, Coly010, Andrew Valleteau, github-actions[bot], Mert YEREKAPAN, and Steven Eubank, and 5 more.
What were the notable Supabase updates?
fix(postgres): restore SCRAM channel binding over TLS, fix: reject empty source TLS trust bundles, and fix(realtime): parse postgres array literals instead of splitting on commas.