The Wire · Showcase
SUPABASE CLI SHIPS TYPESCRIPT TEST COMMANDS, BREAKS DATA API DEFAULTS
By RepoJournal · Filed · About Supabase
The CLI v2.106.0 flips the switch on schema exposure: new public tables no longer surface through the Data API by default, matching hosted project behavior and forcing a migration decision on every team running local stacks.
This is the moment local development stops mirroring production-like behavior by accident. The breaking change [1] affects every project using the local CLI: `api.auto_expose_new_tables` now defaults to `false`, which means fresh schema objects stay hidden until you explicitly expose them. Deploy this during your next scheduled CLI upgrade, not in the middle of a sprint.
The CLI also landed a major internal win: native TypeScript ports of `supabase test db` and `supabase test new` [2] replace the Go proxies in the stable channel, giving you parity with the Phase-0 tooling without the runtime cost. The `test new` command writes pgtap templates to `supabase/tests/<name>_test.sql` with matching exit codes and relative paths; `test db` supports `--db-url`, `--local`, and `--linked` modes.
Two operational fixes landed alongside v2.106.0: local bucket seeding now treats vector service unavailability as non-fatal [3], warning and continuing instead of failing the entire `supabase start`. Custom hostname validation records are also now optional in the Management API schema [4], fixing domain command failures when the backend response drifts from the contract.
Realtime v2.107.0 [5] ships secret rotation for `API_JWT_SECRET`, addressing operational pain around key rotation cycles. The ReplicationPoller [6] also got smarter: it now only creates replication slots when publications have actual subscribers, cutting waste slot creation when postgres_changes joins trigger unnecessary startup.
Studio's replication UX got a major overhaul [7]: new destination picker split by location, improved lag metrics for debugging, and clearer copy across the flow. Snowflake replication is now in the destination selection [8], gated behind `etlEnableSnowflakePrivateAlpha` in staging and prod. Two bug fixes landed: filter bars [9] no longer choke on columns named `group`, and cron job headers [10] with commas or parentheses now parse correctly.
Action items
- → Upgrade CLI to v2.106.0 and audit public schema exposure defaults before next deploy supabase/cli [immediate]
- → Test TypeScript test commands locally; migrate from Go proxies if using Phase-0 tooling supabase/cli [plan]
- → Deploy Realtime v2.107.0 to enable JWT secret rotation in your environment supabase/realtime [plan]
- → Monitor Studio replication UI and validate Snowflake destination config in staging supabase/supabase [monitor]
References
- [1] v2.106.0 ↗ supabase/cli
- [2] feat(cli): port supabase test db and test new (#5522) supabase/cli
- [3] fix(cli): skip unavailable local vector storage ↗ supabase/cli
- [4] fix(api): allow missing custom hostname validation records ↗ supabase/cli
- [5] v2.107.0 ↗ supabase/realtime
- [6] fix: ReplicationPoller consumes slot if publication is not empty ↗ supabase/realtime
- [7] ref(replication): Improve replication copy and UI ↗ supabase/supabase
- [8] feat(studio): add Snowflake replication destination ↗ supabase/supabase
- [9] fix(FilterBar): prevent column named 'group' from creating nested filter group ↗ supabase/supabase
- [10] fix(studio): preserve cron HTTP headers containing commas or parentheses ↗ supabase/supabase
FAQ
- What changed in Supabase on June 12, 2026?
- The CLI v2.106.0 flips the switch on schema exposure: new public tables no longer surface through the Data API by default, matching hosted project behavior and forcing a migration decision on every team running local stacks.
- What should Supabase teams do about it?
- Upgrade CLI to v2.106.0 and audit public schema exposure defaults before next deploy • Test TypeScript test commands locally; migrate from Go proxies if using Phase-0 tooling • Deploy Realtime v2.107.0 to enable JWT secret rotation in your environment
- Which Supabase repositories shipped on June 12, 2026?
- supabase/cli, supabase/realtime, supabase/supabase