Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions release-notes/v2.116.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Supabase CLI v2.116.0 — 2026-08-26

This release speeds up your local dev and adds workers support to your config. Major wins: `supabase start`/`stop` are much faster, migration testing is quicker, and edge runtime output streams in real time.

### Highlights

- **`supabase start` and `stop` are 10 seconds faster** — Docker shutdown no longer waits; saves time on every restart. (#6203)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Limit the speedup claim to supabase stop

PR #6203 explicitly reports that start time is unchanged and that stop --no-backup improved from an average of 12.64s to 5.14s. Claiming both start and stop are 10 seconds faster therefore gives users an incorrect performance expectation; describe the measured roughly 7.5-second stop-only improvement instead.

Useful? React with 👍 / 👎.

- **Migration testing is faster with shadow database baseline caching** — Your baseline is cached as a PGDATA snapshot, speeding up repeated diffs and migrations. (#6184)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Disclose that shadow baseline caching is opt-in

The cache added by PR #6184 is disabled unless SUPABASE_SHADOW_CACHE=1 or true is set, so users following these notes receive no caching or repeated-run speedup by default. The highlight should either document the opt-in and the affected commands or be moved to the internal tail until the cache becomes default-on.

Useful? React with 👍 / 👎.

- **Edge runtime bootstrap streams output in real time** — See progress instead of waiting for full completion. (#6273)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Describe the remote-Docker bootstrap fix instead

PR #6273 does not stream progress output to the terminal: it streams the bundled index.ts template into the created container with docker cp. The user-visible fix is that supabase start and functions serve now work with remote Docker or Podman daemons that cannot access client-side bind mounts, so the current promise of real-time output is unsupported.

Useful? React with 👍 / 👎.

- **New `[workers]` configuration section** — Configure workers in `supabase/config.toml`. (#6260)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove the unusable workers configuration highlight

PR #6260 states that no CLI surface consumes [workers] yet and that the worker commands arrive in later changes. Although this release can parse the section, adding it to supabase/config.toml cannot configure or deploy a worker, so advertising it as an available workflow will lead users to expect behavior that is not present in v2.116.0.

Useful? React with 👍 / 👎.


### Improvements

- **`auto_expose_new_tables` defaults to `true`** — Matches your Supabase project behavior by default. (#6337)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Document the reset required for existing local volumes

PR #6337 only changes database setup for fresh volumes; a volume initialized while an unset auto_expose_new_tables meant false keeps its revoked grants after upgrading. Users with those existing projects will not observe the advertised platform-matching behavior until they run db reset or recreate the volume, so the release note needs that migration caveat.

Useful? React with 👍 / 👎.


### Bug fixes

- **Piped stdin is no longer buffered endlessly** — Fixed memory overflow when piping data to the CLI. (#6290)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the stdin buffering fix to newline-delimited input

When a producer continuously writes a single line without a newline, Stream.splitLines still accumulates that unterminated line before data reaches the new 1,024-line bounded queue, so the CLI can still grow without bound and be OOM-killed. PR #6290 explicitly identifies this residual case, making the unconditional claim that piped stdin is no longer buffered endlessly inaccurate.

Useful? React with 👍 / 👎.

- **Stale database connections are detected and dropped** — Operations no longer hang on dead connections. (#6277)
- **Edge runtime respects system file descriptor limits** — Prevents "too many open files" crashes. (#6284)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Describe the edge-runtime ulimit startup failure accurately

PR #6284 addresses Linux hosts whose hard nofile limit is below 65536, where Docker rejects the requested container ulimit and Edge Runtime fails to start; it clamps the request to the host limit. It does not prevent runtime exhaustion or a subsequent "too many open files" crash, so this wording describes a different failure mode from the one fixed.

Useful? React with 👍 / 👎.

- **`DROP INDEX CONCURRENTLY` works outside migrations** — Index drops no longer deadlock your transaction. (#6276)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Say concurrent index drops now work inside migrations

PR #6276 specifically fixes migrations containing DROP INDEX CONCURRENTLY: the migration runner now classifies the statement as transaction-incompatible and executes it standalone outside the migration transaction. Saying it works "outside migrations" reverses the affected scenario and obscures the workflow users should retry after upgrading.

Useful? React with 👍 / 👎.

- **Postgres role management is more stable** — Roles are restored correctly after changes. (#6246)
- **Loopback network proxying is bypassed** — Local requests route directly, improving reliability. (#6283)
- **Kong local DNS cache is optimized** — DNS resolution is more responsive and consistent. (#6324)
- **Service startup is more reliable** — Fixed edge cases during start and stop. (#6245)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Move the private stack fix to the internal tail

PR #6245 changes only the private @supabase/stack managed-runtime implementation, while the production legacy supabase start and stop paths explicitly do not use that orchestration model. CLI users therefore do not receive the advertised service-startup improvement from this PR; it should be counted as an internal change rather than presented as a CLI bug fix.

Useful? React with 👍 / 👎.


---

Plus 14 internal improvements and dependency updates.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include the external import-map scope fix

PR #6309 is a user-facing fix for monorepos: functions serve, start, and local functions deploy previously omitted import-map scopes targets outside the Supabase project, causing functions to fail with unresolved relative imports. Treating this as part of the internal tail leaves affected users with no indication that upgrading fixes their broken function workflow.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include the user-visible pg-delta changes

PR #6300 modifies the production legacy commands db diff, db pull, and db schema declarative generate, including new default SQL formatting and fixes for ownership, extension, ACL, vault, and stalled-load handling. Despite the PR title containing “next,” these paths are user-facing in this release, so burying the change in the internal tail omits relevant output changes and database-workflow fixes.

Useful? React with 👍 / 👎.


**Full changelog:** https://github.com/supabase/cli/compare/v2.115.0...v2.116.0