Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
38d012d
chore(deps): bump the actions-major group with 2 updates (#4618)
dependabot[bot] Dec 17, 2025
3b1c7d5
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Dec 18, 2025
1876c66
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Dec 19, 2025
9b93e99
chore: exclude compose from dependabot group
sweatybridge Dec 19, 2025
8ece590
chore: exclude compose spec from dependabot group
sweatybridge Dec 19, 2025
3082277
chore(deps): bump the go-minor group across 1 directory with 8 update…
dependabot[bot] Dec 19, 2025
8d8247b
chore(deps): bump the go-minor group across 1 directory with 2 update…
dependabot[bot] Dec 20, 2025
1e47c62
chore(deps): bump github.com/go-playground/validator/v10 from 10.29.0…
dependabot[bot] Dec 22, 2025
a938d6d
feat(auth): add X OAuth 2.0 provider (#4635)
fadymak Dec 23, 2025
6b704d9
fix(docker): bump the docker-minor group across 1 directory with 3 up…
dependabot[bot] Dec 23, 2025
f386e44
feat(studio): functions management api - attaching functions folder (…
kallebysantos Dec 23, 2025
358a5ff
feat: Add support for file-based snippets in Studio (#4656)
ivasilov Dec 23, 2025
9b9b5a2
fix: better suggestions on pg connection error (#4597)
sweatybridge Dec 23, 2025
beefa70
fix: update studio image (#4659)
ivasilov Dec 23, 2025
d496bcd
fix(studio): format snippets folder container path (#4661)
singh-inder Dec 23, 2025
1be041b
fix: ncalls to handle > billion calls formating (#4658)
jpargudo Dec 23, 2025
14b8a3c
chore(deps): bump the go-minor group across 2 directories with 1 upda…
dependabot[bot] Dec 24, 2025
b8daa29
fix: remove fdw grant option from schema dump (#4664)
sweatybridge Dec 24, 2025
08a65c5
chore(deps): bump github.com/go-playground/validator/v10 from 10.30.0…
dependabot[bot] Dec 25, 2025
02754b2
fix(docker): bump the docker-minor group in /pkg/config/templates wit…
dependabot[bot] Dec 30, 2025
7406fee
fix(docker): bump supabase/storage-api from v1.33.3 to v1.33.4 in /pk…
dependabot[bot] Dec 31, 2025
b337a57
fix(docker): bump supabase/postgres from 17.6.1.066 to 17.6.1.067 in …
dependabot[bot] Jan 1, 2026
17fa858
chore: sync API types from infrastructure (#4657)
supabase-cli-releaser[bot] Jan 6, 2026
5368b3f
feat(DEVWF-935): add deno script for running pg-delta (#4605)
sweatybridge Jan 6, 2026
5f20f7b
chore(deps): bump the go-minor group across 1 directory with 2 update…
dependabot[bot] Jan 7, 2026
85df1cc
fix: use asymmetric signing key by default (#4688)
sweatybridge Jan 7, 2026
2648482
chore: sync API types from infrastructure (#4691)
supabase-cli-releaser[bot] Jan 7, 2026
11fea2e
fix: use hardcoded signing key (#4693)
sweatybridge Jan 7, 2026
05d91ef
fix: use static list of project regions (#4692)
singh-inder Jan 7, 2026
ac1c59a
feat: allow configuring local health check timeout (#4699)
sweatybridge Jan 8, 2026
0a02076
fix(db): support arbitrary test directories (#4590)
7ttp Jan 8, 2026
c009ea2
chore(deps): bump github.com/stripe/pg-schema-diff from 1.0.3 to 1.0.…
dependabot[bot] Jan 8, 2026
4e3c01a
fix: setup cancellation context for all commands (#4701)
sweatybridge Jan 9, 2026
2c0fe2c
fix(docker): bump the docker-minor group across 1 directory with 5 up…
dependabot[bot] Jan 10, 2026
4bcfcb9
chore(deps): bump the go-minor group across 2 directories with 2 updates
dependabot[bot] Jan 10, 2026
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
2 changes: 2 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ updates:
update-types:
- minor
- patch
exclude-patterns:
- github.com/compose-spec/compose-go/v2
- package-ecosystem: "npm"
directory: "/"
schedule:
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
go tool gotestsum -- -race -v -count=1 ./... \
-coverpkg="./cmd/...,./internal/...,${pkgs}" -coverprofile=coverage.out

- uses: actions/upload-artifact@v5
- uses: actions/upload-artifact@v6
with:
name: code-coverage-report
path: coverage.out
Expand All @@ -39,7 +39,7 @@ jobs:
- test
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: code-coverage-report
- uses: coverallsapp/github-action@v2
Expand All @@ -62,6 +62,7 @@ jobs:
- uses: golangci/golangci-lint-action@v9
with:
args: --timeout 3m --verbose
version: latest

start:
name: Start
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
mv tmp.$$.json package.json
npm pack

- uses: actions/upload-artifact@v5
- uses: actions/upload-artifact@v6
with:
name: installer
path: supabase-1.28.0.tgz
Expand All @@ -43,7 +43,7 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: installer

Expand All @@ -59,7 +59,7 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: installer

Expand All @@ -75,7 +75,7 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: installer

Expand All @@ -98,7 +98,7 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: installer

Expand All @@ -117,7 +117,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: installer

Expand Down
4 changes: 1 addition & 3 deletions cmd/bootstrap.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package cmd
import (
"context"
"fmt"
"os"
"os/signal"
"strings"

"github.com/go-errors/errors"
Expand All @@ -28,7 +26,7 @@ var (
Short: "Bootstrap a Supabase project from a starter template",
Args: cobra.MaximumNArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
ctx := cmd.Context()
if !viper.IsSet("WORKDIR") {
title := fmt.Sprintf("Enter a directory to bootstrap your project (or leave blank to use %s): ", utils.Bold(utils.CurrentDirAbs))
if workdir, err := utils.NewConsole().PromptText(ctx, title); err != nil {
Expand Down
7 changes: 2 additions & 5 deletions cmd/branches.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ var (
Short: "Manage Supabase preview branches",
}

branchRegion = utils.EnumFlag{
Allowed: awsRegions(),
}
persistent bool
withData bool
notifyURL string
Expand All @@ -49,7 +46,7 @@ var (
}
cmdFlags := cmd.Flags()
if cmdFlags.Changed("region") {
body.Region = &branchRegion.Value
body.Region = &region.Value
}
if cmdFlags.Changed("size") {
body.DesiredInstanceSize = (*api.CreateBranchBodyDesiredInstanceSize)(&size.Value)
Expand Down Expand Up @@ -206,7 +203,7 @@ func init() {
branchFlags := branchesCmd.PersistentFlags()
branchFlags.StringVar(&flags.ProjectRef, "project-ref", "", "Project ref of the Supabase project.")
createFlags := branchCreateCmd.Flags()
createFlags.Var(&branchRegion, "region", "Select a region to deploy the branch database.")
createFlags.Var(&region, "region", "Select a region to deploy the branch database.")
createFlags.Var(&size, "size", "Select a desired instance size for the branch database.")
createFlags.BoolVar(&persistent, "persistent", false, "Whether to create a persistent branch.")
createFlags.BoolVar(&withData, "with-data", false, "Whether to clone production data to the branch database.")
Expand Down
12 changes: 5 additions & 7 deletions cmd/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package cmd
import (
"fmt"
"os"
"os/signal"
"path/filepath"

"github.com/spf13/afero"
Expand Down Expand Up @@ -31,11 +30,6 @@ var (
GroupID: groupLocalDev,
Use: "db",
Short: "Manage Postgres databases",
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
cmd.SetContext(ctx)
return cmd.Root().PersistentPreRunE(cmd, args)
},
}

dbBranchCmd = &cobra.Command{
Expand Down Expand Up @@ -87,6 +81,7 @@ var (
useMigra bool
usePgAdmin bool
usePgSchema bool
usePgDelta bool
schema []string
file string

Expand All @@ -101,6 +96,8 @@ var (
if usePgSchema {
differ = diff.DiffPgSchema
fmt.Fprintln(os.Stderr, utils.Yellow("WARNING:"), "--use-pg-schema flag is experimental and may not include all entities, such as views and grants.")
} else if usePgDelta {
differ = diff.DiffPgDelta
}
return diff.Run(cmd.Context(), schema, file, flags.DbConfig, differ, afero.NewOsFs())
},
Expand Down Expand Up @@ -257,7 +254,8 @@ func init() {
diffFlags.BoolVar(&useMigra, "use-migra", true, "Use migra to generate schema diff.")
diffFlags.BoolVar(&usePgAdmin, "use-pgadmin", false, "Use pgAdmin to generate schema diff.")
diffFlags.BoolVar(&usePgSchema, "use-pg-schema", false, "Use pg-schema-diff to generate schema diff.")
dbDiffCmd.MarkFlagsMutuallyExclusive("use-migra", "use-pgadmin")
diffFlags.BoolVar(&usePgDelta, "use-pg-delta", false, "Use pg-delta to generate schema diff.")
dbDiffCmd.MarkFlagsMutuallyExclusive("use-migra", "use-pgadmin", "use-pg-schema", "use-pg-delta")
diffFlags.String("db-url", "", "Diffs against the database specified by the connection string (must be percent-encoded).")
diffFlags.Bool("linked", false, "Diffs local migration files against the linked project.")
diffFlags.Bool("local", true, "Diffs local migration files against the local database.")
Expand Down
3 changes: 1 addition & 2 deletions cmd/gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package cmd
import (
"encoding/json"
"os"
"os/signal"
"strings"
"time"

Expand Down Expand Up @@ -88,7 +87,7 @@ var (
return nil
},
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
ctx := cmd.Context()
if flags.DbConfig.Host == "" {
// If no flag is specified, prompt for project id.
if err := flags.ParseProjectRef(ctx, afero.NewMemMapFs()); errors.Is(err, utils.ErrNotLinked) {
Expand Down
8 changes: 0 additions & 8 deletions cmd/inspect.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package cmd

import (
"os"
"os/signal"

"github.com/spf13/afero"
"github.com/spf13/cobra"
"github.com/supabase/cli/internal/inspect"
Expand Down Expand Up @@ -33,11 +30,6 @@ var (
inspectDBCmd = &cobra.Command{
Use: "db",
Short: "Tools to inspect your Supabase database",
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
cmd.SetContext(ctx)
return cmd.Root().PersistentPreRunE(cmd, args)
},
}

inspectDBStatsCmd = &cobra.Command{
Expand Down
3 changes: 1 addition & 2 deletions cmd/link.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package cmd
import (
"fmt"
"os"
"os/signal"

"github.com/spf13/afero"
"github.com/spf13/cobra"
Expand All @@ -28,7 +27,7 @@ var (
return nil
},
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
ctx := cmd.Context()
// Use an empty fs to skip loading from file
if err := flags.ParseProjectRef(ctx, afero.NewMemMapFs()); err != nil {
return err
Expand Down
6 changes: 0 additions & 6 deletions cmd/migration.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package cmd
import (
"fmt"
"os"
"os/signal"

"github.com/spf13/afero"
"github.com/spf13/cobra"
Expand All @@ -25,11 +24,6 @@ var (
Use: "migration",
Aliases: []string{"migrations"},
Short: "Manage database migration scripts",
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
cmd.SetContext(ctx)
return cmd.Root().PersistentPreRunE(cmd, args)
},
}

migrationListCmd = &cobra.Command{
Expand Down
12 changes: 1 addition & 11 deletions cmd/projects.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package cmd

import (
"os"
"sort"

"github.com/spf13/afero"
"github.com/spf13/cobra"
Expand Down Expand Up @@ -30,7 +29,7 @@ var (
orgId string
dbPassword string
region = utils.EnumFlag{
Allowed: awsRegions(),
Allowed: utils.AwsRegions(),
}
size = utils.EnumFlag{
Allowed: []string{
Expand Down Expand Up @@ -153,12 +152,3 @@ func init() {
projectsCmd.AddCommand(projectsApiKeysCmd)
rootCmd.AddCommand(projectsCmd)
}

func awsRegions() []string {
result := make([]string, len(utils.CurrentProfile.ProjectRegions))
for i, region := range utils.CurrentProfile.ProjectRegions {
result[i] = string(region)
}
sort.Strings(result)
return result
}
3 changes: 1 addition & 2 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ var (
}
cmd.SilenceUsage = true
// Load profile before changing workdir
ctx := cmd.Context()
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
fsys := afero.NewOsFs()
if err := utils.LoadProfile(ctx, fsys); err != nil {
return err
Expand All @@ -106,7 +106,6 @@ var (
if err := promptLogin(fsys); err != nil {
return err
}
ctx, _ = signal.NotifyContext(ctx, os.Interrupt)
if cmd.Flags().Lookup("project-ref") != nil {
if err := flags.ParseProjectRef(ctx, fsys); err != nil {
return err
Expand Down
8 changes: 0 additions & 8 deletions cmd/seed.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package cmd

import (
"os"
"os/signal"

"github.com/spf13/afero"
"github.com/spf13/cobra"
"github.com/supabase/cli/internal/seed/buckets"
Expand All @@ -16,11 +13,6 @@ var (
GroupID: groupLocalDev,
Use: "seed",
Short: "Seed a Supabase project from " + utils.ConfigPath,
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
cmd.SetContext(ctx)
return cmd.Root().PersistentPreRunE(cmd, args)
},
}

bucketsCmd = &cobra.Command{
Expand Down
6 changes: 1 addition & 5 deletions cmd/status.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package cmd

import (
"os"
"os/signal"

env "github.com/Netflix/go-env"
"github.com/spf13/afero"
"github.com/spf13/cobra"
Expand All @@ -27,8 +24,7 @@ var (
return env.Unmarshal(es, &names)
},
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
return status.Run(ctx, names, utils.OutputFormat.Value, afero.NewOsFs())
return status.Run(cmd.Context(), names, utils.OutputFormat.Value, afero.NewOsFs())
},
Example: ` supabase status -o env --override-name api.url=NEXT_PUBLIC_SUPABASE_URL
supabase status -o json`,
Expand Down
6 changes: 1 addition & 5 deletions cmd/stop.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package cmd

import (
"os"
"os/signal"

"github.com/spf13/afero"
"github.com/spf13/cobra"
"github.com/supabase/cli/internal/stop"
Expand All @@ -19,8 +16,7 @@ var (
Use: "stop",
Short: "Stop all local Supabase containers",
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
return stop.Run(ctx, !noBackup, projectId, all, afero.NewOsFs())
return stop.Run(cmd.Context(), !noBackup, projectId, all, afero.NewOsFs())
},
}
)
Expand Down
6 changes: 1 addition & 5 deletions cmd/test.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package cmd

import (
"os"
"os/signal"

"github.com/spf13/afero"
"github.com/spf13/cobra"
"github.com/supabase/cli/internal/test/new"
Expand Down Expand Up @@ -33,8 +30,7 @@ var (
Short: "Create a new test file",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
return new.Run(ctx, args[0], template.Value, afero.NewOsFs())
return new.Run(cmd.Context(), args[0], template.Value, afero.NewOsFs())
},
}
)
Expand Down
Loading