Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
99c94d3
fix(docker): bump supabase/storage-api from v1.29.0 to v1.29.1 in /pk…
dependabot[bot] Nov 11, 2025
d1b9786
chore(deps): bump golangci/golangci-lint-action from 8 to 9 (#4425)
dependabot[bot] Nov 11, 2025
5f9e9ea
fix(docker): bump supabase/postgres from 17.6.1.043 to 17.6.1.044 in …
dependabot[bot] Nov 12, 2025
4089042
chore(deps): bump the go-minor group across 2 directories with 3 upda…
dependabot[bot] Nov 12, 2025
e3d22ad
fix: skip linking database if password is missing (#4429)
sweatybridge Nov 12, 2025
a057b74
fix(docker): bump the docker-minor group across 1 directory with 3 up…
dependabot[bot] Nov 13, 2025
9f3ad13
fix: toggle `DENO_NO_PACKAGE_JSON` conditionally (#4372)
nyannyacha Nov 13, 2025
cbbe7ec
feat: `functions download foo --use-api` (#4381)
johnstonmatt Nov 13, 2025
45dc05a
chore: sync API types from infrastructure (#4442)
kiwicopple Nov 13, 2025
05d7be1
fix(docker): bump supabase/postgres from 17.6.1.044 to 17.6.1.049 in …
dependabot[bot] Nov 14, 2025
7be8351
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Nov 14, 2025
48e898b
Update storage API version in Dockerfile (#4454)
fenos Nov 17, 2025
f5e0fa0
fix: use cron schedule to run on weekends (#4455)
sweatybridge Nov 17, 2025
6313d19
fix(docker): bump supabase/postgres from 17.6.1.049 to 17.6.1.052 in …
dependabot[bot] Nov 17, 2025
901d873
fix(docker): bump supabase/studio from 2025.11.10-sha-5291fe3 to 2025…
dependabot[bot] Nov 17, 2025
811472f
chore(deps): bump cycjimmy/semantic-release-action from 5 to 6 (#4458)
dependabot[bot] Nov 17, 2025
2461318
chore(deps): bump github.com/getsentry/sentry-go from 0.36.2 to 0.37.…
dependabot[bot] Nov 17, 2025
7327bbf
fix: update use-api help text (#4450)
laktek Nov 17, 2025
10cdd70
fix: storage-api version to v1.31.1 (#4459)
fenos Nov 17, 2025
8fbe3ab
chore: sync API types from infrastructure (#4448)
kiwicopple Nov 19, 2025
1e00c10
fix: unset rlimit for pooler container
sweatybridge Nov 19, 2025
6a5e246
fix: remove cluster wide search path config (#4472)
sweatybridge Nov 19, 2025
e6810ad
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Nov 19, 2025
1f436c0
chore(deps): bump the go-minor group across 2 directories with 2 upda…
dependabot[bot] Nov 19, 2025
28425f5
fix: disable mailpit rdns to avoid smtp delays (#4440)
Adityakk9031 Nov 19, 2025
959b93d
feat: support append mode when updating network restrictions (#4420)
maxmetcalfe Nov 19, 2025
ea88848
fix(docker): bump supabase/logflare from 1.26.6 to 1.26.9 in /pkg/con…
dependabot[bot] Nov 20, 2025
3d189a9
fix(docker): bump supabase/postgres from 17.6.1.052 to 17.6.1.053 in …
dependabot[bot] Nov 20, 2025
49398d5
chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 (#4475)
dependabot[bot] Nov 20, 2025
0c22789
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Nov 21, 2025
08bf47a
fix(docker): bump supabase/postgres from 17.6.1.053 to 17.6.1.054 in …
dependabot[bot] Nov 22, 2025
4a90b4f
chore(deps): bump github.com/go-git/go-git/v5 from 5.16.3 to 5.16.4 i…
dependabot[bot] Nov 24, 2025
08f546d
chore: sync API types from infrastructure (#4478)
kiwicopple Nov 24, 2025
8823290
feat: add `--name-id-format` flag to `sso add` and `sso update` (#4477)
hf Nov 24, 2025
0dab4be
chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 in /pkg (…
dependabot[bot] Nov 24, 2025
3df2b1d
chore(deps): bump actions/checkout from 5 to 6 (#4481)
dependabot[bot] Nov 24, 2025
6d9e316
fix: storage version comparison (#4476)
sweatybridge Nov 24, 2025
ca241cf
fix: enable es256 jwt signing algorithm support for gotrue (#4489)
7ttp Nov 24, 2025
2b7134a
feat(cli): add concurrent images pulling (#4394)
avallete Nov 24, 2025
2bb6c35
fix: use upsert when repairing history table (#4493)
sweatybridge Nov 24, 2025
92f9f26
fix: use schema qualified references (#4495)
sweatybridge Nov 24, 2025
21c8581
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Nov 25, 2025
d99a0e2
chore(deps): bump aws-actions/configure-aws-credentials from 5.1.0 to…
dependabot[bot] Nov 25, 2025
2eaf2c8
chore(deps): bump github.com/getsentry/sentry-go from 0.38.0 to 0.39.…
dependabot[bot] Nov 25, 2025
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
12 changes: 8 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
interval: "cron"
cronjob: "0 0 * * *"
groups:
action-minor:
update-types:
Expand All @@ -14,7 +15,8 @@ updates:
- "/"
- "pkg"
schedule:
interval: "daily"
interval: "cron"
cronjob: "0 0 * * *"
groups:
go-minor:
update-types:
Expand All @@ -23,7 +25,8 @@ updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
interval: "cron"
cronjob: "0 0 * * *"
groups:
npm-minor:
update-types:
Expand All @@ -32,7 +35,8 @@ updates:
- package-ecosystem: "docker"
directory: "pkg/config/templates"
schedule:
interval: "daily"
interval: "cron"
cronjob: "0 0 * * *"
commit-message:
prefix: "fix(docker): "
groups:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/api-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
name: Sync API Types
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
Expand Down Expand Up @@ -51,23 +51,23 @@ jobs:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
go-version-file: go.mod
# Linter requires no cache
cache: false

- uses: golangci/golangci-lint-action@v8
- uses: golangci/golangci-lint-action@v9
with:
args: --timeout 3m --verbose

start:
name: Start
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand All @@ -83,7 +83,7 @@ jobs:
name: Codegen
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
- run: gh pr create -B main -H develop --title 'Prod deploy' --fill
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fast-forward.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
github.event.review.state == 'approved'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
- run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
pack:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- run: |
jq -c '.version = "1.28.0"' package.json > tmp.$$.json
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mirror-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
TAG=${{ inputs.image }}
echo "image=${TAG##*/}" >> $GITHUB_OUTPUT
- name: configure aws credentials
uses: aws-actions/configure-aws-credentials@v5.1.0
uses: aws-actions/configure-aws-credentials@v5.1.1
with:
role-to-assume: ${{ secrets.PROD_AWS_ROLE }}
aws-region: us-east-1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mirror.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
tags: ${{ steps.list.outputs.tags }}
curr: ${{ steps.curr.outputs.tags }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release-beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ jobs:
new-release-version: ${{ steps.semantic-release.outputs.new_release_version }}
new-release-channel: ${{ steps.semantic-release.outputs.new_release_channel }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- id: semantic-release
uses: cycjimmy/semantic-release-action@v5
uses: cycjimmy/semantic-release-action@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -35,7 +35,7 @@ jobs:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down Expand Up @@ -65,7 +65,7 @@ jobs:
if: needs.release.outputs.new-release-published == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand All @@ -82,7 +82,7 @@ jobs:
if: needs.release.outputs.new-release-published == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "16.x"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
outputs:
release_tag: ${{ steps.prerelease.outputs.tagName }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- id: prerelease
run: |
gh release list --limit 1 --json tagName --jq \
Expand All @@ -31,7 +31,7 @@ jobs:
- settings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand All @@ -53,7 +53,7 @@ jobs:
name: Bump self-hosted versions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand All @@ -69,7 +69,7 @@ jobs:
- publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand All @@ -85,7 +85,7 @@ jobs:
- settings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tag-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
name: Move latest tag
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "16.x"
Expand Down
18 changes: 14 additions & 4 deletions cmd/functions.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,10 @@ var (
Long: "Download the source code for a Function from the linked Supabase project.",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return download.Run(cmd.Context(), args[0], flags.ProjectRef, useLegacyBundle, afero.NewOsFs())
if useApi {
useDocker = false
}
return download.Run(cmd.Context(), args[0], flags.ProjectRef, useLegacyBundle, useDocker, afero.NewOsFs())
},
}

Expand Down Expand Up @@ -133,11 +136,12 @@ func init() {
functionsListCmd.Flags().StringVar(&flags.ProjectRef, "project-ref", "", "Project ref of the Supabase project.")
functionsDeleteCmd.Flags().StringVar(&flags.ProjectRef, "project-ref", "", "Project ref of the Supabase project.")
deployFlags := functionsDeployCmd.Flags()
deployFlags.BoolVar(&useApi, "use-api", false, "Use Management API to bundle functions.")
deployFlags.BoolVar(&useApi, "use-api", false, "Bundle functions server-side without using Docker.")
deployFlags.BoolVar(&useDocker, "use-docker", true, "Use Docker to bundle functions.")
deployFlags.BoolVar(&useLegacyBundle, "legacy-bundle", false, "Use legacy bundling mechanism.")
functionsDeployCmd.MarkFlagsMutuallyExclusive("use-api", "use-docker", "legacy-bundle")
cobra.CheckErr(deployFlags.MarkHidden("legacy-bundle"))
cobra.CheckErr(deployFlags.MarkHidden("use-docker"))
deployFlags.UintVarP(&maxJobs, "jobs", "j", 1, "Maximum number of parallel jobs.")
deployFlags.BoolVar(noVerifyJWT, "no-verify-jwt", false, "Disable JWT verification for the Function.")
deployFlags.BoolVar(&prune, "prune", false, "Delete Functions that exist in Supabase project but not locally.")
Expand All @@ -152,8 +156,14 @@ func init() {
functionsServeCmd.MarkFlagsMutuallyExclusive("inspect", "inspect-mode")
functionsServeCmd.Flags().Bool("all", true, "Serve all Functions.")
cobra.CheckErr(functionsServeCmd.Flags().MarkHidden("all"))
functionsDownloadCmd.Flags().StringVar(&flags.ProjectRef, "project-ref", "", "Project ref of the Supabase project.")
functionsDownloadCmd.Flags().BoolVar(&useLegacyBundle, "legacy-bundle", false, "Use legacy bundling mechanism.")
downloadFlags := functionsDownloadCmd.Flags()
downloadFlags.StringVar(&flags.ProjectRef, "project-ref", "", "Project ref of the Supabase project.")
downloadFlags.BoolVar(&useLegacyBundle, "legacy-bundle", false, "Use legacy bundling mechanism.")
downloadFlags.BoolVar(&useApi, "use-api", false, "Unbundle functions server-side without using Docker.")
downloadFlags.BoolVar(&useDocker, "use-docker", true, "Use Docker to unbundle functions client-side.")
functionsDownloadCmd.MarkFlagsMutuallyExclusive("use-api", "use-docker", "legacy-bundle")
cobra.CheckErr(downloadFlags.MarkHidden("legacy-bundle"))
cobra.CheckErr(downloadFlags.MarkHidden("use-docker"))
functionsCmd.AddCommand(functionsListCmd)
functionsCmd.AddCommand(functionsDeleteCmd)
functionsCmd.AddCommand(functionsDeployCmd)
Expand Down
8 changes: 4 additions & 4 deletions cmd/projects.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ var (
projectName = args[0]
}
body := api.V1CreateProjectBody{
Name: projectName,
OrganizationId: orgId,
DbPass: dbPassword,
Region: cast.Ptr(api.V1CreateProjectBodyRegion(region.Value)),
Name: projectName,
OrganizationSlug: orgId,
DbPass: dbPassword,
Region: cast.Ptr(api.V1CreateProjectBodyRegion(region.Value)),
}
if cmd.Flags().Changed("size") {
body.DesiredInstanceSize = (*api.V1CreateProjectBodyDesiredInstanceSize)(&size.Value)
Expand Down
4 changes: 3 additions & 1 deletion cmd/restrictions.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,13 @@ var (

dbCidrsToAllow []string
bypassCidrChecks bool
appendMode bool

restrictionsUpdateCmd = &cobra.Command{
Use: "update",
Short: "Update network restrictions",
RunE: func(cmd *cobra.Command, args []string) error {
return update.Run(cmd.Context(), flags.ProjectRef, dbCidrsToAllow, bypassCidrChecks)
return update.Run(cmd.Context(), flags.ProjectRef, dbCidrsToAllow, bypassCidrChecks, appendMode)
},
}

Expand All @@ -38,6 +39,7 @@ func init() {
restrictionsCmd.PersistentFlags().StringVar(&flags.ProjectRef, "project-ref", "", "Project ref of the Supabase project.")
restrictionsUpdateCmd.Flags().StringSliceVar(&dbCidrsToAllow, "db-allow-cidr", []string{}, "CIDR to allow DB connections from.")
restrictionsUpdateCmd.Flags().BoolVar(&bypassCidrChecks, "bypass-cidr-checks", false, "Bypass some of the CIDR validation checks.")
restrictionsUpdateCmd.Flags().BoolVar(&appendMode, "append", false, "Append to existing restrictions instead of replacing them.")
restrictionsCmd.AddCommand(restrictionsGetCmd)
restrictionsCmd.AddCommand(restrictionsUpdateCmd)
rootCmd.AddCommand(restrictionsCmd)
Expand Down
15 changes: 15 additions & 0 deletions cmd/sso.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/supabase/cli/internal/sso/update"
"github.com/supabase/cli/internal/utils"
"github.com/supabase/cli/internal/utils/flags"
"github.com/supabase/cli/pkg/api"
)

var (
Expand All @@ -25,6 +26,16 @@ var (
Allowed: []string{"saml"},
// intentionally no default value so users have to specify --type saml explicitly
}

ssoNameIDFormat = utils.EnumFlag{
Allowed: []string{
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress),
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatUnspecified),
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatPersistent),
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatTransient),
},
}

ssoMetadataFile string
ssoMetadataURL string
ssoSkipURLValidation bool
Expand All @@ -48,6 +59,7 @@ var (
MetadataURL: ssoMetadataURL,
SkipURLValidation: ssoSkipURLValidation,
AttributeMapping: ssoAttributeMappingFile,
NameIDFormat: ssoNameIDFormat.String(),
Domains: ssoDomains,
})
},
Expand Down Expand Up @@ -88,6 +100,7 @@ var (
MetadataURL: ssoMetadataURL,
SkipURLValidation: ssoSkipURLValidation,
AttributeMapping: ssoAttributeMappingFile,
NameIDFormat: ssoNameIDFormat.String(),
Domains: ssoDomains,
AddDomains: ssoAddDomains,
RemoveDomains: ssoRemoveDomains,
Expand Down Expand Up @@ -146,6 +159,7 @@ func init() {
ssoAddFlags.StringVar(&ssoMetadataURL, "metadata-url", "", "URL pointing to a SAML 2.0 Metadata XML document describing the identity provider.")
ssoAddFlags.BoolVar(&ssoSkipURLValidation, "skip-url-validation", false, "Whether local validation of the SAML 2.0 Metadata URL should not be performed.")
ssoAddFlags.StringVar(&ssoAttributeMappingFile, "attribute-mapping-file", "", "File containing a JSON mapping between SAML attributes to custom JWT claims.")
ssoAddFlags.Var(&ssoNameIDFormat, "name-id-format", "URI reference representing the classification of string-based identifier information.")
ssoAddCmd.MarkFlagsMutuallyExclusive("metadata-file", "metadata-url")
cobra.CheckErr(ssoAddCmd.MarkFlagRequired("type"))
cobra.CheckErr(ssoAddCmd.MarkFlagFilename("metadata-file", "xml"))
Expand All @@ -159,6 +173,7 @@ func init() {
ssoUpdateFlags.StringVar(&ssoMetadataURL, "metadata-url", "", "URL pointing to a SAML 2.0 Metadata XML document describing the identity provider.")
ssoUpdateFlags.BoolVar(&ssoSkipURLValidation, "skip-url-validation", false, "Whether local validation of the SAML 2.0 Metadata URL should not be performed.")
ssoUpdateFlags.StringVar(&ssoAttributeMappingFile, "attribute-mapping-file", "", "File containing a JSON mapping between SAML attributes to custom JWT claims.")
ssoUpdateFlags.Var(&ssoNameIDFormat, "name-id-format", "URI reference representing the classification of string-based identifier information.")
ssoUpdateCmd.MarkFlagsMutuallyExclusive("metadata-file", "metadata-url")
ssoUpdateCmd.MarkFlagsMutuallyExclusive("domains", "add-domains")
ssoUpdateCmd.MarkFlagsMutuallyExclusive("domains", "remove-domains")
Expand Down
Loading
Loading