RepoJournal

$ cat supabase/week/2026-08-31.log

Supabase

Supabase

the week in review · Aug 31 – Sep 6, 2026

Knip gates Studio CI, CLI fixes schema skip

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

♥

Studio now fails CI on dead code, CLI stops skipping colliding schemas, and DuckDB pools connections.

206 commits 208 PRs merged 33 releases 7 briefings covered

all supabase reviews →

What shipped: The Studio codebase now enforces dead-code hygiene in CI with Knip, followed by removal of unused code and dependencies [13][2][1]. The CLI fixed the long-standing bug where colliding schemas were skipped during pushes [5], made the shadow baseline cache opt-out with default ON [6], and added config pull, workers logs, and no-wait deploys [4]. DuckLake matured: it now pools shared DuckDB instances with multiple connections [7], gains deferred durability in SYNC phase [8], and ETL bumped rust-postgres [9]. Postgres 15.14.1.167 [10] and realtime v2.133.0 [11] also shipped.

Why it matters: Installing the new CLI means you no longer lose schema objects that previously collided during push, and CI will reject Studio PRs containing dead code, forcing cleanup before merge [1]. If you run a Studio fork, expect the new lint gate to surface pre-existing dead exports and dependencies [2][1]. The shadow cache now defaults on, which speeds up local migrations but can be disabled via config [6]. Docs now warn on the pgcrypto cipher change, affecting encrypted columns [12]. The postgrest-typegen fix corrects computed-field matching and trigger views [13].

Also: PostgREST typegen dropped pg-format [13], Studio gained an MCP server UI block and registered the missing pitr_archiving_stale lint [14][15], the MCP get_advisors response groups lints [16], supabase-js v2.113.0 shipped [17], and worker deployments gained exposure control and an --instances flag [18][4].

References

  1. [1] chore(studio): gate dead code with knip in CI ↗ supabase/supabase
  2. [2] chore(studio): remove dead code found by knip ↗ supabase/supabase
  3. [3] chore(studio): remove unused dependencies found by knip ↗ supabase/supabase
  4. [4] fix: remove dead cache invalidation in SecretChecker.do_update_credentials (#1151) ↗ supabase/supavisor
  5. [5] fix(cli): stop skipping colliding schemas (CLI-2272) ↗ supabase/cli
  6. [6] feat(cli): make shadow baseline cache opt-out (default ON) (#6403) ↗ supabase/cli
  7. [7] refactor(ducklake): use shared duckdb instances with multiple connections ↗ supabase/etl
  8. [8] feat(ducklake): add deferred durability to ducklake in SYNC phase ↗ supabase/etl
  9. [9] feat(core): Bump to a new version of rust-postgres ↗ supabase/etl
  10. [10] postgres 15.14.1.167 ↗ supabase/slim-services
  11. [11] realtime v2.133.0 ↗ supabase/slim-services
  12. [12] docs: add the missing API key decision information (#49799) ↗ supabase/supabase
  13. [13] chore(studio): remove unused dependencies found by knip ↗ supabase/supabase
  14. [14] fix(studio): register pitr_archiving_stale in the advisor lintInfoMap (#48044) ↗ supabase/supabase
  15. [15] feat(ui-library): add MCP server block (#49573) ↗ supabase/supabase
  16. [16] feat: group lints in `get_advisors` response ↗ supabase/mcp
  17. [17] v2.113.0 ↗ supabase/supabase-js
  18. [18] fix: preserve native BEAM distribution overrides ↗ supabase/slim-services

$ 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 →