• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 26437531959
64%

Build:
DEFAULT BRANCH: develop
Ran 26 May 2026 07:04AM UTC
Jobs 1
Files 219
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 May 2026 07:02AM UTC coverage: 63.795% (+0.009%) from 63.786%
26437531959

push

github

web-flow
feat(config,stack): add auto_expose_new_tables configuration option (#5239)

Adds a new `[api].auto_expose_new_tables` configuration option to
control whether newly-created tables, views, sequences, and functions in
the `public` schema are reachable through the Data API roles (`anon`,
`authenticated`, `service_role`) without explicit GRANTs.

## Why

Cloud now exposes a "Default privileges for new entities" toggle
(supabase/supabase#45329). When it is off, Studio revokes the default
GRANTs on `public` at project creation so the Data API surface is opt-in
per entity. Local Supabase had no equivalent: bootstrap always installed
the default GRANTs, forcing users who opted in on cloud to either keep
their local schema out of sync or ship a project-specific revoke
migration. This adds a first-class `config.toml` flag and applies the
same revoke SQL Studio runs.

## Migration design — tri-state field

The field is intentionally optional today so the rollout can flip the
implicit default without losing track of users who made an explicit
choice:

| State | Today's behaviour | 2026-05-30 | 2026-10-30 |
| --- | --- | --- | --- |
| unset (`init` default) | auto-expose (current local behaviour) | flips
to revoke (new cloud default) | flag removed |
| explicit `true` | auto-expose | auto-expose with deprecation warning |
flag removed |
| explicit `false` | revoke | revoke | flag removed |

- Go: `api.AutoExposeNewTables` is `*bool` with `omitempty`, so unset
round-trips as a missing key. `NewConfig` does not seed a value;
`ApplyApiPrivileges` treats `nil` and `true` identically and runs the
revoke SQL only when an explicit `false` is set.
- TS: `api.auto_expose_new_tables` is
`Schema.optionalKey(Schema.Boolean)` with no decoding default. The
single read site (`start.command.ts`) uses `?? true`, so today's
nil-as-true semantics live in one place.
- The `init` config.toml template ships the field commented out with a
brief timeline so users discover it without havi... (continued)

10026 of 15716 relevant lines covered (63.79%)

7.06 hits per line

Coverage Regressions

Lines Coverage ∆ File
5
71.88
0.45% internal/db/reset/reset.go
5
81.23
-0.56% internal/db/start/start.go
Jobs
ID Job ID Ran Files Coverage
1 26437531959.1 26 May 2026 07:04AM UTC 219
63.79
GitHub Action Run
Source Files on build 26437531959
  • Tree
  • List 219
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26437531959
  • bbc55234 on github
  • Prev Build on develop (#26178191469)
  • Next Build on develop (#26498495324)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc