Repository navigation
feat(cli)!: remove deprecated config keys, env vars and per-function import maps (CLI-2597) - #7176
Merged
Coly010 merged 3 commits intoOct 15, 2026
Conversation
…import maps (CLI-2597) Each removed surface now fails with an error that names its replacement instead of being rewritten, warned about or silently ignored. BREAKING CHANGE: `[inbucket]` and `[remotes.<name>.inbucket]` are removed; use `[local_smtp]`. A non-empty `[experimental] orioledb_version` is removed; use `[db] orioledb_version`. `SUPABASE_EXPERIMENTAL_ORIOLEDB_VERSION` is removed; use `SUPABASE_DB_ORIOLEDB_VERSION`. The `linkedin` and `slack` auth providers are removed; use `linkedin_oidc` and `slack_oidc`. `INBUCKET_URL` is removed from `status` and `stack status` output and `--override-name inbucket.url` is rejected; use `MAILPIT_URL` and `mailpit.url`. An `import_map.json` inside a function directory is no longer picked up by `functions deploy`, `functions serve` or `start`; rename it to `deno.json` or set `functions.<slug>.import_map`.
Contributor
There was a problem hiding this comment.
🤖 AI Review
Both independent reviews were available. Verified and confirmed Claude’s single finding as a cosmetic nit. No additional concrete defects were found during adjudication.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| ⚪ NIT | apps/cli/src/shared/functions/deploy.ts:2220 |
error-messages |
claude | For entrypoints outside supabase/, the migration suggestion includes a redundant './' prefix, producing paths such as './../src/fn/import_map.json'. The path works but is unnecessarily awkward. |
Stats
Claude findings: 1 · Codex findings: 0 · Confirmed: 1 · Refuted: 0 · Uncertain: 0
Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: auto · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
jgoux
approved these changes
Oct 15, 2026
…shed schema Also documents that stack mode never reads a per-function import_map.json and drops the [inbucket] example from ADR 0032.
Coly010
deleted the
columferry/cli-2597-bc-remove-deprecated-config-keys-env-vars-and-file
branch
October 15, 2026 11:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This removes the deprecated config keys, env var and file conventions from CLI-2597 on
next. Each one now fails with an error that names its replacement, instead of being rewritten, warned about or ignored.[inbucket],[remotes.<name>.inbucket][inbucket] in supabase/config.toml is no longer supported. Use [local_smtp] instead.[local_smtp][experimental] orioledb_version(non-empty)experimental.orioledb_version in supabase/config.toml is no longer supported. Use db.orioledb_version instead.[db] orioledb_version[auth.external.linkedin],[auth.external.slack][auth.external.slack] in supabase/config.toml is no longer supported. Use [auth.external.slack_oidc] instead.linkedin_oidc,slack_oidcSUPABASE_EXPERIMENTAL_ORIOLEDB_VERSIONSUPABASE_EXPERIMENTAL_ORIOLEDB_VERSION (set in the shell environment) is no longer supported. Use SUPABASE_DB_ORIOLEDB_VERSION instead.SUPABASE_DB_ORIOLEDB_VERSIONINBUCKET_URLinstatus/stack status,--override-name inbucket.url--override-name entry "inbucket.url=X" refers to inbucket.url, which was removed; use mailpit.url instead.MAILPIT_URL,mailpit.urlimport_map.jsonin a function directoryimport_map.json in a function directory is no longer supported: <slugs>deno.json, or an explicitfunctions.<slug>.import_mapnextbecause these were thought to be gone already. They weren't, so right nownextstill accepts all six (mostly behind the older deprecation warnings) and silently ignoresSUPABASE_EXPERIMENTAL_ORIOLEDB_VERSION.@supabase/configchecks the top level and every[remotes.<name>], including remotes that aren't selected. It reports every removed key in oneCliConfigRemovedKeyError, which lists one per line when there's more than one. The decoder ignores unknown keys, so without it these would just be dropped. The old normalisers and theonWarningplumbing are deleted.orioledb_version = ""under[experimental]is still accepted, since oldersupabase inittemplates wrote it into most projects. Only a non-empty value errors, and the published JSON Schema matches that.linkedin/slackerror even withenabled = false, as the schema already rejects unknown provider ids.saveCliConfigreads the existing$schemaref from the raw file, so saving over a file that still has removed keys works..envfails config resolution withCliConfigRemovedEnvError, and the message says where it was set.import_map.json:functions deploy,functions serveandstartall fail on it, so deploy and serve agree. Disabled functions are skipped, and the shared fallbacksupabase/functions/import_map.jsonworks as before.import_map.json, so nothing changes there. Its SIDE_EFFECTS now say so.startnow resolves function binds before pulling images, so it fails before touching Docker.@supabase/config: this touchespackages/configin a!commit, so I think it cuts a major config release oncenextlands ondevelop.Linked issue
Closes CLI-2597
Checklist
pnpm check:allpasses. The apps/cli unit and integration suites and thepackages/configtests pass.🤖 Generated with Claude Code
BREAKING CHANGE:
[inbucket]and[remotes.<name>.inbucket]are removed; use[local_smtp]. A non-empty[experimental] orioledb_versionis removed; use[db] orioledb_version.SUPABASE_EXPERIMENTAL_ORIOLEDB_VERSIONis removed; useSUPABASE_DB_ORIOLEDB_VERSION. Thelinkedinandslackauth providers are removed; uselinkedin_oidcandslack_oidc.INBUCKET_URLis removed fromstatusandstack statusoutput and--override-name inbucket.urlis rejected; useMAILPIT_URLandmailpit.url. Animport_map.jsoninside a function directory is no longer picked up byfunctions deploy,functions serveorstart; rename it todeno.jsonor setfunctions.<slug>.import_map.