compatcompatSign in
Supabase

Supabase SDK migration

Move from auth-helpers to @supabase/ssr, adopt supabase-js v2 error handling and the new API keys.

1 repository · 3 migrations a month · no card

What compat detects

  • @supabase/supabase-js
  • @supabase/ssr
  • @supabase/auth-helpers-nextjs
  • @supabase/auth-helpers-react

The auth-helpers packages are deprecated in favour of @supabase/ssr, and the cookie adapter shape changed with them. compat rewrites the client factories, the middleware session refresh and the error handling, then proves it with your checks.

What breaks across majors

  1. 01

    @supabase/auth-helpers-* to @supabase/ssr: createBrowserClient and createServerClient with getAll and setAll cookie adapters.

  2. 02

    supabase-js v2: { data, error } everywhere, getSession versus getUser semantics, realtime channel APIs.

  3. 03

    New sb_publishable_ and sb_secret_ keys replace anon and service_role JWTs; env names in code may change.

  4. 04

    Next.js middleware to proxy.ts in Next 16 affects session refresh code.

Typecheck catches the factory signature changes. Auth flows need a manual sign-in test, which compat lists in the pull request.

What an auth-helpers to ssr run looks like

Illustrative

compat replaces the helper imports with @supabase/ssr factories, adds the cookie adapters, updates the middleware, keeps RLS-facing code untouched, and opens the pull request with a manual sign-in check. Illustrative; no public run recorded yet.

  1. 01

    Detect

    compat finds the Supabase packages your code imports and the upstream releases that affect them.

  2. 02

    Migrate and verify

    It edits only the affected code in a disposable sandbox, regenerates the lockfile, and runs your existing tests, type checks, lint and build where available.

  3. 03

    Pull request

    It opens a PR with the diff, verification results, warnings and manual steps. A person merges.

Questions

Does compat merge the Supabase migration automatically?
No. compat has no merge capability. It pushes a branch and opens a pull request with the diff, the recorded checks and any manual steps. A person on your team reviews and merges.
Which checks run?
Your repository's own: install, typecheck, lint, test and build where the scripts exist. Each is listed in the pull request as passed, failed or not run. A check that did not run is never shown as passed.
Does compat need my production credentials?
No. Migrations run in a disposable sandbox with your code and package manager, not your environment. Checks that need live credentials are reported as not run.
How does compat know a release affects my repository?
It watches the Supabase packages your code imports, reads new release notes, and judges relevance against the files that actually use the SDK. Irrelevant releases are dismissed with the reason; relevant ones become a proposal or, if you allow it, a run.