mirror of
https://github.com/supabase/supabase.git
synced 2026-10-19 08:09:11 +03:00
add223d7b31ca0cd64b389f4367b618e20b001cb
8326
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
add223d7b3 |
docs(style-guide): add rules for list lead-ins and UI instruction order (#51632)
## Problem Two writing patterns came up while editing the Vercel Marketplace guide in #51630, and the style guide doesn't cover either one. - **References to a list:** When another sentence sits between a reference and its list, as in "start from these tabs. Each one opens a different page:", _these_ has nothing to point back to. Nothing in the style guide covers this. - **Order of UI instructions:** Nothing says whether an instruction names the location or the control first. "Click **Manage** next to Supabase" asks the reader to look for **Manage** before they know where it is. Resolves DOCS-1452. ## Solution `02-elements.md` gets a new rule for lists and an addition to the existing step guidance, each with a recommended and a not recommended example. - **Point forward to a list with _the following_** (under **Lists**): When another sentence sits between a reference and its list, use _the following_, which points forward. When the reference is directly before the list, _these_ works too. - **Location before the action** (under **Procedures**): The step guidance now says that a step can begin with a short location phrase followed by the imperative verb, and that when a step says where to act, the location comes first. The examples use _click_ for buttons, following the `click` and `select` entries in `WORD_LIST.md`. ## Review instructions 1. Open `apps/docs/style-guide/02-elements.md` in the **Files changed** tab. 2. Read **Point forward to a list with _the following_** under **Lists**, and confirm that the examples separate the two cases: a reference directly before the list, and one with a sentence in between. 3. Read the step guidance at the start of **Procedures**, and confirm that the examples agree with the `click` entry in `WORD_LIST.md`. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) --------- Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io> |
||
|
|
bc27d2661e | chore(self-hosted): update 2026-10-16 - 0.8.3 (#51839) | ||
|
|
e4ee46854a |
docs: add Antigravity to Supabase agent plugin docs (#51647)
## What this does
Adds **Antigravity** to the Supabase AI agent plugin docs.
- **Plugin docs** (`AgentPluginsPanel`): Antigravity client between
Cursor and Gemini CLI. The install step is a copyable `agy plugin
install https://github.com/supabase-community/supabase-plugin` (checked
with `agy` 1.4.0: it installs v0.1.17 with both skills and the MCP
server). A note below points to the `/plugin` slash command and
[Antigravity's plugin
docs](https://antigravity.google/docs/plugins/#managing-plugins-by-surface).
- **Icon**: replaces the existing Antigravity icon (MCP client picker
and "Pick your agent" grid share it) with the official full-color icon
from the [Antigravity press assets](https://antigravity.google/press/).
- **"Pick your agent" grid**: Antigravity now shows the "Plugin + MCP"
badge and links to the plugin page.
Plugin support shipped in supabase-community/supabase-plugin
[v0.1.17](https://github.com/supabase-community/supabase-plugin/releases/tag/v0.1.17)
(#66), validated with `agy` 1.3.5 and 1.4.0.
## Testing
Ran the docs app locally at
|
||
|
|
3960e6ac41 |
chore(deps): bump lucide-react to v1 (#51770)
## Problem Lucide React v1 improves screen reader behaviour (icons are hidden from assistive tech by default). It also removes brand icons such as GitHub. We were still on Lucide 0.x across the monorepo. ## Solution - Move every workspace onto one shared Lucide React v1 version via the pnpm catalog. - But Lucide React v1 [deprecated brand icons](https://github.com/lucide-icons/lucide/blob/main/BRAND_LOGOS_STATEMENT.md) - Meaning we need to handle any _old_ brand icons we used from Lucide 0.x. - Luckily, that was just `GitHubIcon`. So... - Add a `GithubIcon` in `packages/ui` that matches Lucide’s previous GitHub icon, and use it wherever we imported GitHub from Lucide. - No other Lucide brand icons were in use. - Studio “Continue with GitHub” sign-in still uses the existing SVG asset (`github-icon.svg`), not this component. - Keep the `Icon` suffix import style [recently introduced](https://github.com/supabase/supabase/pull/51659) - Monorepo apps now use `catalog` Lucide React v1. ## Review instructions 1. Open [Studio preview](https://studio-staging-git-dnywh-bump-lucide-react-v1-supabase.vercel.app/dashboard/org) on a project that is connected to GitHub: - Project home → Activity stats “GitHub” row - Org project list → GitHub badge on a connected project card/row - Branches → GitHub link on a branch row, or “Sync with a GitHub branch” - Project Settings → Integrations → GitHub integration panel 2. Open [/kb/guides/sample-guide](https://supabase.com/kb/guides/sample-guide) → confirm “Go to the GitHub discussion” shows the icon. 3. Open [/docs/reference/javascript](https://supabase.com/docs/reference/javascript) → confirm the header GitHub control still shows the icon. Or [/docs/guides/troubleshooting/rls-simplified-BJTcS8](https://supabase.com/docs/guides/troubleshooting/rls-simplified-BJTcS8) → “View discussion on GitHub”. |
||
|
|
09f80f528e |
docs: reference the ability to use custom dns from VPCE (#51778)
Quick update to privatelink walkthrough in reference to custom DNS |
||
|
|
0612cbdb27 |
fix(ui): drop stray tab border (#51657)
## Problem there's a legacy border style duplicating border after recent rabs change in docs ## Solution - removes stray border | state | preview | | -------|------| | before | <img width="913" height="509" alt="image" src="https://github.com/user-attachments/assets/dba5a5ee-5212-4be2-86c0-e96d9dac41fb" /> | | after | <img width="913" height="509" alt="image" src="https://github.com/user-attachments/assets/1f7d20eb-2f03-45b0-9a2c-4af8fa335784" /> | <!-- ## Preview links If relevant, include links to changed pages for easy review access. Copy the preview base URL from the Vercel bot comment on this PR. Use the following table as an example template. | Site | Live | Preview | Search for | | -------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------- | | WWW | [/blog/your-post](https://supabase.com/blog/your-post) | [/blog/your-post](https://zone-www-dot-com-git-branch-name-supabase.vercel.app/blog/your-post) | unique phrase from the change | | Docs | [/docs/guides/your-page](https://supabase.com/docs/guides/your-page) | [/docs/guides/your-page](https://docs-git-branch-name-supabase.vercel.app/docs/guides/your-page) | unique phrase from the change | | Studio | [/dashboard](https://supabase.com/dashboard) | [/dashboard](https://studio-git-branch-name-supabase.vercel.app/dashboard) | unique phrase from the change | | Design system | [/design-system](https://supabase.com/design-system) | [/design-system](https://design-system-git-branch-name-supabase.vercel.app/design-system) | unique phrase from the change | | UI library | [/library](https://supabase.com/library) | [/library](https://ui-library-git-branch-name-supabase.vercel.app/library) | unique phrase from the change | | Knowledge base | [/kb/guides/your-page](https://supabase.com/kb/guides/your-page) | [/kb/guides/your-page](https://kb-git-branch-name-supabase.vercel.app/kb/guides/your-page) | unique phrase from the change | --> <!-- ## Additional context Optionally add any other context or screenshots. --> ## Review instructions 1. visit `/docs/guides/auth/passwords#signing-up-with-an-email-and-password` ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
339797498c |
docs(vercel-marketplace): refresh the Vercel Marketplace guide (#51630)
## Problem The [Vercel Marketplace guide](https://supabase.com/docs/guides/integrations/vercel-marketplace) describes the integration as a Public Alpha, and its Quickstart doesn't match how readers set it up. The **Deploy with Vercel** button deploys an example app that doesn't include Supabase. The section on environment variable sync sits next to the two setup paths, even though it applies to both. The page also uses promotional phrasing and bare `Note:` paragraphs where the style guide calls for admonitions. These issues came up while reviewing #51617, which fills in the **Via Vercel Marketplace** step. Resolves DOCS-1451. ## Solution Manual review plus a review with the `edit-the-docs` skill. - **Quickstart:** The Quickstart now opens by naming both setup paths, a starter template and the Vercel Marketplace, and explains that both create a Supabase project and sync the same environment variables. The template button deploys the Next.js Supabase starter and installs the Supabase integration from the Vercel Marketplace, matching the deploy link on Vercel's Supabase template page. - **Release status:** The Public Alpha admonition is removed. - **Overview:** Promotional phrases such as "seamless experience" and "easy access management" now name the specific behavior: Vercel bills you, you sign in with your Vercel account, and Vercel team roles carry over to Supabase. - **Studio support:** Readers get a click path for each entry point. The **Integrations** tab opens the Supabase dashboard homepage, and the **Storage** tab opens a specific project. Both tab names match the current Vercel dashboard. Each instruction names the location before the control, and buttons use _click_, per `WORD_LIST.md`. - **Admonitions:** The permissions note is now a `note` admonition. The billing cycle note is a `caution` admonition, because a plan change resets the billing cycle. - **Capitalization:** Common nouns such as organization, project, and integration are lowercase. - **Limitations:** The organization removal bullet now gives the order of operations: delete the associated projects, then uninstall the integration. Two writing patterns from this PR are now proposed as style guide rules in #51632 (DOCS-1452): using _the following_ when a sentence sits between a reference and its list, and putting the location before the action in UI instructions. ## Preview links https://docs-git-alexisa-docs-1451-supabase.vercel.app/docs/guides/integrations/vercel-marketplace ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
bb1a2ab70d |
feat(docs): add Copy as Markdown and Ask AI to troubleshooting pages (#51501)
Resolves [DOCS-1334](https://linear.app/supabase/issue/DOCS-1334/add-copy-as-markdown-ask-affordance-to-troubleshooting-pages). ## What this changes Troubleshooting pages now have the same AI tools as guides: Copy as Markdown, Ask ChatGPT, and Ask Claude. Readers can copy an article as markdown, or open it in an AI assistant in one click. The actions appear in the troubleshooting sidebar, after Keywords. The heading matches the other sidebar headings. On narrow screens, the sidebar stacks under the article, so the actions also work on mobile. <img width="1512" height="908" alt="Screenshot 2026-10-09 at 2 29 13 PM" src="https://github.com/user-attachments/assets/991c1555-c163-4894-91e5-8701bb1831f8" /> <img width="740" height="831" alt="Screenshot 2026-10-09 at 2 32 31 PM" src="https://github.com/user-attachments/assets/1b9423d4-9f26-4f6f-9c9a-e95d50d7808e" /> ## How it works Before this PR, the AI tools section was built directly into the guides sidebar, so only guides could use it. This PR moves it into its own component, and guides and troubleshooting pages both render that component. A future change to these actions, such as adding another assistant or changing the Ask prompt, then happens in one place and applies to both page types. Each page passes a page type to the component. The component includes that page type in the analytics events it sends when someone copies markdown or clicks an Ask link. Guides send `guide`, and troubleshooting pages send `troubleshooting`, so usage on each page type can be measured separately. ## Open question This PR adds a `troubleshooting` page type for analytics. It stays in draft until that value is confirmed. If we reuse `guide` instead, it's a one-line change. ## Testing - Copy as Markdown copies the article and shows the "Copied!" state. - Ask ChatGPT and Ask Claude open with the canonical page URL. ChatGPT requires you to be logged in, which is also true on existing guide pages. - The sidebar layout works at desktop and mobile widths. - Guide pages look and behave the same as before. ## Possible follow-up On troubleshooting pages, the sidebar lists Products, Related error codes, Keywords, AI tools, and then "Is this helpful?". The first four headings use the sidebar's regular heading style. "Is this helpful?" still uses the small monospace style from the guides sidebar, so it stands out. This PR lets the AI tools component accept a heading style from the page it's placed on. The feedback component could accept a heading style the same way. Troubleshooting pages could then pass the regular sidebar style, and every heading in that sidebar would match. --------- Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io> |
||
|
|
4c7014745c |
feat(studio): add custom OIDC option to third-party auth providers (#51612)
<!-- claude-slack-attribution --> _Requested by **Stojan Dimitrovski** · [Slack thread](https://supabase.slack.com/archives/C022071RB2L/p1791475016175969?thread_ts=1791475016.175969&cid=C022071RB2L)_ ## Problem The Management API accepts any OIDC issuer for third-party auth (`POST /v1/projects/{ref}/config/auth/third-party-auth` with `oidc_issuer_url`), but the Dashboard only offers Firebase, Clerk, WorkOS, Auth0 and Amazon Cognito. Users with another OIDC provider have no way to register it from the Dashboard. Studio also hides any issuer it does not recognize: `IntegrationCard` returns `null` for the `custom` type, so an issuer added through the API never shows up in the list and cannot be deleted from the Dashboard. ## Solution - Add a "Custom OIDC" item to the Add provider menu on the Third-Party Auth page. - New `CreateCustomOidcDialog` with a single required Issuer URL field. It reuses `useCreateThirdPartyAuthIntegrationMutation`, so query invalidation and the error toast behave like the other providers. The URL is sent as typed after trimming whitespace. - New `isValidOidcIssuerUrl` helper in `ThirdPartyAuthForm.utils.ts`: the value must be an `https://` URL with a host, no query string, no fragment, and no embedded credentials. - The dialog copy is kept short: a one-line description and a single helper line noting that signing keys are found at the issuer's `/.well-known/openid-configuration`. - `IntegrationCard` now renders custom issuers (badge-check icon, "Custom OIDC" label, Issuer URL, Delete integration) instead of hiding them. Delete uses the existing flow and permission check. - The `custom` label changes from "Custom" to "Custom OIDC". - New docs page `apps/docs/content/guides/auth/third-party/custom-oidc.mdx` (served at `/docs/guides/auth/third-party/custom-oidc`). It covers the Dashboard flow, the Management API alternative, the `role` claim, client setup, and RLS. It is linked from the third-party auth overview and added to the docs sidebar. This supersedes the draft docs PR #51611. Not included: UI for `jwks_url` and `custom_jwks`. The page and menu keep the same feature gate (`authentication:third_party_auth`) and the same permission checks as the other providers. Before: the Add provider menu lists five providers. An issuer that is not one of them is registered only through the API and does not appear in the Dashboard. After: the menu has a sixth item, Custom OIDC. It opens a dialog that takes an issuer URL, rejects non-HTTPS values with an inline message, and registers the issuer. The new provider appears in the list and can be deleted from there. ## Review instructions 1. Open a project's Authentication > Third-Party Auth page and open Add provider. Check for the new Custom OIDC item. 2. Enter `http://example.com` and submit. The field shows an inline error and no request is sent. 3. Enter a valid HTTPS issuer URL that serves an OIDC discovery document and submit. A success toast appears and the provider shows in the list as Custom OIDC with its Issuer URL. 4. Enter an issuer the API rejects. The API error shows in the existing error toast and the dialog stays open. 5. Delete the provider with Delete integration and confirm it disappears from the list. 6. Read the new docs page and check that its Dashboard steps match the UI. Local checks: - `vitest --run components/interfaces/Auth/ThirdPartyAuthForm`: 20 tests pass (validation helper unit tests plus dialog component tests with MSW). - `tsc --noEmit` in `apps/studio`: no new errors. - ESLint on the directory: no warnings in the new or changed code. - Prettier is clean on the changed files, including the docs page. The typos check is clean on the docs page and overview. I did not run the dialog in a browser against a real project, so there are no screenshots. The docs app was not built or rendered locally. ## Checklist - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) 🤖 Generated with [Claude Code](https://claude.ai/code/session_011HY2zckzPLcvXd28JPSqBe) https://claude.ai/code/session_011HY2zckzPLcvXd28JPSqBe --- _Generated by [Claude Code](https://claude.ai/code/session_011HY2zckzPLcvXd28JPSqBe)_ --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
626f0d412a |
docs(branching): explain what a new branch inherits and what each push runs (#51753)
## Problem Users ask whether the GitHub integration applies migrations and syncs `config.toml` to a branch on its own or whether they need a GitHub Action for it but there's no docs clarifying that. The branching guides also does not have when a new branch inherits from its base project, where a dashboard branch gets its schema, what the `configure`, `migrate`, and `deploy` steps read from the repository, and what the workflow step statuses mean. ## Solution Added the missing facts to the four pages that already cover each topic, with no new pages and no moved headings. - Overview: a "What a new branch starts with" section listing the copied settings, the placeholder Auth secrets, the webhook default, and where each branch kind gets its schema. - GitHub integration: a "What runs on each push" subsection that answers the FDBKIN-11978 question directly, the `config.toml` sections the configure step applies and the protected-branch rule, two migrate edge cases and the `[db.migrations]` switch, and a new "Edge Functions" subsection on copy-from-base and checksum skips. - Dashboard: "Where a dashboard branch gets its schema". - Troubleshooting: the step status table and two new causes under "Config.toml not applying". ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
d46e226af8 |
docs(cli): update local stack guides for CLI v2.120.0 and v2.121.0 behavior (#51751)
## Problem The two `supabase stack` guides describe behavior the CLI changed in v2.120.0 (Oct 6) and v2.121.0 (deploy PR supabase/cli#7104 open). A reader following them today hits different output than the pages promise. | Guide says | CLI does | Since | | --- | --- | --- | | `stack logs` streams live lines only, no history | Keeps history, adds `--tail`, `--since`, `--service gateway`, reads while stopped (supabase/cli#6893) | v2.120.0 | | Rejected config change fails with `cannot change on the saved stack` | Fails with `The saved stack cannot adopt these changes` (supabase/cli#6944) | v2.120.0 | | Port changes always need a new local project | A stopped project re-plans ports on next start (supabase/cli#6950) | v2.121.0 | | No bulk destroy | `destroy` accepts repeated `--stack-id` (supabase/cli#7000) | v2.121.0 | | OrioleDB unsupported | `db.orioledb_version` runs in both runtimes (supabase/cli#6934) | v2.121.0 | | Nothing about native `pg_cron` | Jobs run in background workers; earlier versions fail every job (supabase/cli#7039) | v2.121.0 | The CLI getting-started guide (#50736) also says a container runtime is required and never mentions the native runtime. ## Solution Updated both stack guides and added one sentence to the getting-started prerequisites. - v2.121.0-only behavior is marked "In CLI v2.121.0 or later", with the earlier behavior stated beside it. The guides' baseline stays at v2.119.0. - Every claim was checked against supabase/cli `develop` source and the commits above. - The `supabase stack` commands stay out of the generated CLI reference by design, so these guides remain the only place the flags are documented. Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
427d5f4681 |
chore: catch you all later (#51746)
Bye! |
||
|
|
31a74e8663 | fix(self-hosted): align OAuth and OIDC discovery api-gw routes with the platform (#51493) | ||
|
|
2d7e5f57ed |
chore(docs / www) - update video links to latest DevRel videos where applicable (#51606)
## Problem Several outdated (or missing) video references across docs and www apps. ## Solution Updates these links (and adds where appropriate) to link out to the newer series on Supabase by @dshukertjr and individual videos by @dijonmusters ## Preview links [docs](https://docs-git-kody-devrel-708-update-video-links-supabase.vercel.app/docs) [www](https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/) ## Review instructions For marketing folks specifically, sanity check on the [changes](https://github.com/supabase/supabase/pull/51606/changes#diff-1fb413a22e16c9b7b200e47aa9661c8be240a52a06276ed04c450e3d92c9a12a) to the features.tsx file, which render to: Page | Before (live) | After (preview) -- | -- | -- vector-database | https://supabase.com/features/vector-database | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/vector-database realtime-postgres-changes | https://supabase.com/features/realtime-postgres-changes | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/realtime-postgres-changes realtime-broadcast | https://supabase.com/features/realtime-broadcast | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/realtime-broadcast realtime-presence | https://supabase.com/features/realtime-presence | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/realtime-presence deno-edge-functions | https://supabase.com/features/deno-edge-functions | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/deno-edge-functions cli | https://supabase.com/features/cli | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/cli role-based-access-control | https://supabase.com/features/role-based-access-control | https://zone-www-dot-com-git-kody-devrel-708-update-vid-8e2d6a-supabase.vercel.app/features/role-based-access-control --------- Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com> |
||
|
|
83ee918e80 |
chore: remove redundant personnel (#51663)
* Some things are harder to delete than others * No breaking changes expected --- <img width="498" height="482" alt="gif" src="https://github.com/user-attachments/assets/a33ff7da-2815-438d-ac7b-d6b2f91c8404" /> |
||
|
|
21f7e306ee |
docs(cli): align declarative schema and diff engine docs with CLI behavior (#51609)
## Problem Four docs pages describe CLI behavior that v2.120.0 no longer has. A reader following them hits a wrong result in three places. - The declarative guide tells legacy-engine users who ran `db pull --declarative` to delete the exported tree. The command also rewrites `[db.migrations].schema_paths` in `config.toml`, so `db diff` keeps failing after the delete. The guide also claims the failure happens "on the first file". The code does not guarantee that. - The declarative directory moved from `supabase/database` to `supabase/schemas` in v2.115.0. The CLI warns when it finds a tree at the old path. No page mentions the move or the warning, and the `db schema declarative sync` example in the command reference still prints the old path. - The command reference marks `--experimental` as required on the declarative commands. `[experimental.pgdelta] enabled = true` also unlocks them. Two smaller gaps: the diff engines page shows how to fall back to `migra` for one run but not how to try `pg-delta` for one run, and the guide omits the note `db diff -f` prints when it ignores schema files. Every claim was checked against the CLI source on `develop` and the v2.120.0 tag. ## Solution Docs-only change. Four files, 17 insertions, 8 deletions. - `declarative-database-schemas.mdx`: corrects the legacy caution, documents the pre-2.115.0 directory and its warning, adds the `db diff -f` note. - `diff-engines.mdx`: adds the single-run opt-in table (`db diff --use-pg-delta`, `db pull --diff-engine pg-delta`, `--experimental` for the declarative commands) and the `SUPABASE_EXPERIMENTAL_PG_DELTA` override. Updates the legacy `db pull --declarative` row. Prettier realigned the comparison table, which accounts for most of that page's diff. - `cli_v1_config.yaml`: `schema_paths` notes the automatic rewrite on `migra` and the warning on `pg-delta`. `declarative_schema_path` notes the pre-2.115.0 default. - `cli_v1_commands.yaml`: fixes the example path and drops `required: true` from `--experimental` on the two declarative commands. Both match the spec the CLI generator produces from `develop`. The command reference is generated from the CLI repo, so the same fixes are in supabase/cli as a separate PR. Without that, the next release's reference update reverts them here. ## Review instructions 1. Open the preview for `/docs/guides/local-development/declarative-database-schemas` and search for "schema_paths". The legacy caution should say the command rewrites the setting and tell readers to remove it. 2. On the same page, search for "2.115.0". The directory note should name the version and both fixes. 3. Open the preview for `/docs/guides/local-development/diff-engines` and search for "single run". The opt-in table should render, and the comparison table below it should still align. 4. Open the CLI reference for `db schema declarative sync`. The second example should print `supabase/schemas`, and `--experimental` should not show as required. 5. Open the config reference entries for `db.migrations.schema_paths` and `experimental.pgdelta.declarative_schema_path` and read the added sentences. 6. Optional source check in supabase/cli `develop`: `updateDeclarativeSchemaPathsConfig` in `apps/cli/src/commands/db/shared/pgdelta.write.ts` and `apps/cli/src/commands/db/schema/declarative/declarative.former-default.ts` back the two main claims. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) --------- Co-authored-by: avallete <andrew.valleteau@supabase.io> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
|
|
4b93c5186d |
chore: bump shiki and catalog entry (#51578)
## Problem monorepo resolved four different shiki majors _ shiki was never added to the pnpm catalog so each app kept whatever version it started with. shiki 4.5.0 stops grammar injections from being registered again on every language load (shikijs/shiki#1318) and docs worked around the same problem locally in #50501 ## Solution - adds `shiki: ^4.5.0` to the catalog and points docs, www and marketing at it - docs preload guard from #50501 stays but will be ff by moving docs to lazy language loading in another pr <!-- ## Preview links If relevant, include links to changed pages for easy review access. Copy the preview base URL from the Vercel bot comment on this PR. Use the following table as an example template. | Site | Live | Preview | Search for | | -------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------- | | WWW | [/blog/your-post](https://supabase.com/blog/your-post) | [/blog/your-post](https://zone-www-dot-com-git-branch-name-supabase.vercel.app/blog/your-post) | unique phrase from the change | | Docs | [/docs/guides/your-page](https://supabase.com/docs/guides/your-page) | [/docs/guides/your-page](https://docs-git-branch-name-supabase.vercel.app/docs/guides/your-page) | unique phrase from the change | | Studio | [/dashboard](https://supabase.com/dashboard) | [/dashboard](https://studio-git-branch-name-supabase.vercel.app/dashboard) | unique phrase from the change | | Design system | [/design-system](https://supabase.com/design-system) | [/design-system](https://design-system-git-branch-name-supabase.vercel.app/design-system) | unique phrase from the change | | UI library | [/library](https://supabase.com/library) | [/library](https://ui-library-git-branch-name-supabase.vercel.app/library) | unique phrase from the change | | Knowledge base | [/kb/guides/your-page](https://supabase.com/kb/guides/your-page) | [/kb/guides/your-page](https://kb-git-branch-name-supabase.vercel.app/kb/guides/your-page) | unique phrase from the change | --> <!-- ## Additional context Optionally add any other context or screenshots. --> ## Review instructions 1. open `/docs/guides/database/full-text-search` on the docs preview and on production side by side _ sql, js, dart and python blocks should have the same colors in light and dark mode 2. hover a function name in one of the js blocks on that page, the type popover should still show 3. open the www preview home page, scroll to the frameworks section and switch a few tabs _ code should be highlighted. 4. open `/go/supabase-stripe-projects` on the www preview _ code block section should be highlighted the same as production ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
f1082e28c7 |
chore: migrate Framer Motion imports to Motion (#51520)
## Problem Closes #31221. The applications and shared UI packages still import the former `framer-motion` package instead of Motion's React entry point. ## Solution Replace runtime imports, type imports, and three test mocks with `motion/react` across the consuming workspaces. Replace the seven direct dependency declarations with `motion: ^11.18.2`. Preserve the existing animation engine version and all other dependency resolutions, including the asynchronous `domMax` feature loader. Historical blog examples remain as published; `framer-motion` remains a transitive implementation dependency of Motion. ## Review instructions 1. Run `pnpm install --frozen-lockfile` and check the seven dependency replacements in the lockfile. 2. Open the WWW Auth page and Docs homepage at desktop and mobile widths, with normal and reduced motion preferences. 3. Open the mobile navigation, expand Product on WWW, and close the menu using Escape and the close button. 4. Check the existing animation components, shared form validation, and Studio tests for unchanged behavior. Validation: - Studio: 731 test files, 8,334 passing tests and one expected failure, with `--maxWorkers=4`. - Shared UI, UI patterns, WWW, and UI library: 615 passing tests. - `pnpm run typecheck --concurrency=1`: all 16 repository tasks pass. - All six application source lint scripts and lint ratchets pass; generated Docs example copies are excluded from local lint. - Repository Prettier source check, lockfile formatting, and case hazard check pass. - WWW: 10 existing end-to-end checks across nine pages. - Docs: 5 existing guide link and accessibility checks across Database and Auth. - WWW and Docs mobile navigation pass at desktop/mobile sizes with normal/reduced motion; SQL-to-REST translation tabs exercise the asynchronous feature loader without browser errors. - Frozen-lockfile installation passes; all existing package and snapshot resolutions are unchanged. - Learn and UI library command palettes open, filter results, and close with Escape without browser errors. - Independent code review finds no actionable defects. - `npm run build -- --filter=www --filter=docs --filter=studio --filter=learn --filter=library --concurrency=1 --continue=always`: all five affected applications build successfully (9 tasks including prerequisites); asset uploads disabled for local validation. ## Checklist - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) (no docs topics changed) --------- Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com> |
||
|
|
3910dda149 |
chore(docs) - update vercel marketplace mention (#51617)
## Problem outdated placeholder for the `vercel marketplace` navigation. this is now live ## Preview URL https://docs-git-docs-chore-update-vercel-marketplace-mention-supabase.vercel.app/docs/guides/integrations/vercel-marketplace#via-vercel-marketplace |
||
|
|
7642d1c4a4 |
chore(docs): add Gonzalo Servat to humans.txt (#51581)
## Problem I recently joined Supabase as part of the Container Engineering team, and adding myself to `humans.txt` is one of my onboarding tasks. ## Solution Add my full name, Gonzalo Servat, to the team list in alphabetical order, between Giuseppe Mandato and Greg Kress. ## Review instructions 1. Confirm Gonzalo Servat appears between Giuseppe Mandato and Greg Kress. 2. Confirm the rest of the list is unchanged. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [ ] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
05396e3378 |
[DOCS-1422] feat: create GitHub workflow or script to fetch troubleshooting (#51365)
## Problem Currently troubleshooting guides merged in a private repository trigger an action to open a PR against our Docs project. From now on, we want the `kb` to host the troubleshooting guides and take care of all the Github discussion process while improving some of its parts. ## Solution With this PR now: - All files and scripts related to handling the actions and processes for handling troubleshooting entries and GitHub Discussion creation on Docs are deleted. - A new workflow to sync troubleshooting guides with Supabase's `troubleshooting_entries` table was created with some improvements. - Now troubleshooting entries are fetched at pre-build in `kb` project directory. - When troubleshooting guides are created a new script detects this, creates the GitHub discussion for it, extracts the URL, and pushes the row to a db table at `push`. - When troubleshooting guides are updated, a checksum holding its title and body is compared, and the GitHub discussion content gets updated. _Note: all troubleshooting content hasn't been migrated for **kb**, so content not ready is filtered and not placed in the directory. This allow us to progressively migrate all pages without breaking the build._ <!-- ## Preview links If relevant, include links to changed pages for easy review access. Copy the preview base URL from the Vercel bot comment on this PR. Use the following table as an example template. | Site | Live | Preview | Search for | | -------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------- | | WWW | [/blog/your-post](https://supabase.com/blog/your-post) | [/blog/your-post](https://zone-www-dot-com-git-branch-name-supabase.vercel.app/blog/your-post) | unique phrase from the change | | Docs | [/docs/guides/your-page](https://supabase.com/docs/guides/your-page) | [/docs/guides/your-page](https://docs-git-branch-name-supabase.vercel.app/docs/guides/your-page) | unique phrase from the change | | Studio | [/dashboard](https://supabase.com/dashboard) | [/dashboard](https://studio-git-branch-name-supabase.vercel.app/dashboard) | unique phrase from the change | | Design system | [/design-system](https://supabase.com/design-system) | [/design-system](https://design-system-git-branch-name-supabase.vercel.app/design-system) | unique phrase from the change | | UI library | [/library](https://supabase.com/library) | [/library](https://ui-library-git-branch-name-supabase.vercel.app/library) | unique phrase from the change | | Knowledge base | [/kb/guides/your-page](https://supabase.com/kb/guides/your-page) | [/kb/guides/your-page](https://kb-git-branch-name-supabase.vercel.app/kb/guides/your-page) | unique phrase from the change | --> <!-- ## Additional context Optionally add any other context or screenshots. --> ## Review instructions For the database workflow, sadly, we will have to wait and monitor, but the fetching mechanism can be tested. 1. Go to the preview link for `kb` 2. Go to Topics > Troubleshooting 3. A new guide should be visible "Partial migrations and schema inconsistencies from embedded transactions", click on its link 4. A page showing the guide's content should render <img width="1022" height="810" alt="Screenshot 2026-10-07 at 13 19 17" src="https://github.com/user-attachments/assets/cbd25a60-8721-4329-907f-f92de894c217" /> ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
287c36447a |
chore(docs): add Matt McGill to humans.txt (#51610)
## Problem I joined Supabase! ## Solution I've recorded that I joined Supabase! ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [ ] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
2ba7352cfe |
docs: clarify declarative pg_cron job workflow (#51596)
## Problem The declarative schemas guide does not explain how pg-delta tracks pg_cron jobs. Its guidance that schema diffs exclude row data can also suggest that jobs stored in cron.job are excluded. Readers need to know where to declare jobs, how changes become migrations, and why jobs without unique names are skipped. ## Solution Document the declarative workflow for pg_cron jobs, including: - Declaring jobs in SQL files under supabase/schemas/. - Giving each job a unique name. - Generating migrations when job declarations change or are removed. - The scheduling and unscheduling calls emitted by the engine. Connect the DML caveat to the extension configuration explanation so readers understand why supported configuration rows are tracked. Validation: Prettier, Markdown generation, and git diff --check passed. The cron workflow was checked against source code but was not executed in a sandbox. ## Review instructions 1. Open the declarative database schemas guide in the docs preview. 2. Read Data manipulation language and follow the extension configuration link. 3. In Extension-managed objects, confirm that the cron guidance explains where to declare jobs, the naming requirement, and the generated migration behavior. 4. Follow generate and apply a migration and confirm it leads to the existing workflow. ## Checklist - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the /write-the-docs or /edit-the-docs skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
1b1c495c6a |
docs: note deno.json/package.json required for .npmrc (#50320)
## Summary - .npmrc is only read when deno.json or package.json also exists in the function's directory. Adds a caution note to the private npm packages section. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Added a caution explaining that private NPM package configuration requires a `deno.json` or `package.json` file in the function directory. - Clarified that `.npmrc` is ignored when neither configuration file is present. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ffef679f70 |
chore(docs): add hasResults to docs_search_v2_search_submitted (#51541)
<!-- claude-slack-attribution --> _Requested by **Pam Chia** · [Slack thread](https://supabase.slack.com/archives/C076KTY11DF/p1791767641595649?thread_ts=1791767641.595649&cid=C076KTY11DF)_ ## Problem **Before:** `docs_search_v2_search_submitted` (added in #51146) fires when a Search V2 query settles on either the `results` or the `noResults` state, but it only sends `query`. A search that found nothing looks the same as one that found results, and no other Search V2 event carries the outcome, so the no-results rate for Search V2 can't be computed. **After:** the event also sends `hasResults`. It's `true` when the endpoint returned at least one result and `false` when it returned none, so zero-result searches can be counted and their queries inspected. ## Solution - `packages/common/telemetry-constants.ts`: `DocsSearchV2SearchSubmittedEvent` gains a doc-commented `hasResults: boolean` property. - `apps/docs/features/SearchV2/SearchV2Dialog.tsx`: the existing fire site sends `hasResults: searchState.status === 'results'`. The `useDocsSearchV2` reducer only sets `results` when the response has at least one hit, and `noResults` otherwise, so the status is exactly the outcome. The change is additive: the event name and `query` are unchanged, and the `loading`, `error`, and `initial` states still don't fire the event. Linear: [GROWTH-1330](https://linear.app/supabase/issue/GROWTH-1330/docs-search-v2-add-hasresults-to-docs-search-v2-search-submitted) ## Review instructions 1. Open the docs preview with the Search V2 flag query: `?docs-search-v2=search-v2-active`. 2. Open search and type a query that returns results. In the network tab, the `/platform/telemetry/event` request for `docs_search_v2_search_submitted` has `custom_properties` `{ "query": "...", "hasResults": true }`. 3. Type a query that returns nothing (for example random characters). The event has `"hasResults": false`. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [ ] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) (not applicable: no docs content changed) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01JaqCdU2sPkBMbaUmUPW75i --- _Generated by [Claude Code](https://claude.ai/code/session_01JaqCdU2sPkBMbaUmUPW75i)_ Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
e450aa5f85 |
chore(docs): Add Drew McLellan to humans.txt (#51557)
## Problem I've joined Supabase and my name is not yet in the humans.txt file. ## Solution Add my name (Drew McLellan) to the humans.txt file. |
||
|
|
d303c248d3 |
docs: drop stale alpha labels from server and middleware reference (#51494)
## Problem The server and middleware reference pages on supabase.com still carry alpha labels that were dropped from the source partials weeks ago. #51031 (Sep 30) removed the alpha wording from the partials and #51276 (Oct 5) added the adapter removal date, but neither change reached the live site. The reference build (`apps/docs/scripts/build-reference-content.ts`, `writeNewMarkdownPartials`) copies a partial to `docs/ref/<library>/<name>.mdx` only when that file does not exist, and the page renderer reads from `docs/ref`. Once a page has been seeded, later edits to the partial are never picked up. The three affected pages were seeded before those PRs merged. The UI library MCP page has the same stale wording: it says the `pipeline` entry form of `withSupabase` is alpha and tracks `@supabase/middleware` 0.x. Middleware is at 1.x and `@supabase/server` dropped the alpha label in supabase/server#185. Linear: [SDK-2161](https://linear.app/supabase/issue/SDK-2161/remove-the-public-beta-designation-from-supabaseserver). Companion package PR: supabase/server#192. ## Solution Copy the current partial bodies over their rendered twins. The frontmatter is identical in each pair, and the partials are left untouched: - `apps/docs/docs/ref/server/frameworks.mdx`: adapters are now described as deprecated with the December 1, 2026 removal date, the Versions note tells readers to add `@supabase/middleware` as a direct dependency, the migration steps include `npm install @supabase/middleware`, and "The entry form is alpha" is gone. - `apps/docs/docs/ref/middleware/introduction.mdx`: the "Alpha" admonition is gone. - `apps/docs/docs/ref/middleware/usage-examples.mdx`: the entry form note no longer says alpha. Rewrite one paragraph in `apps/ui-library/content/docs/headless/mcp.mdx` so it states the version requirement (`@supabase/server` 1.6.0 or later) and that the nested form behaves the same, without the alpha or 0.x claims. After this PR each `docs/ref` file is byte-identical to its partial, so `diff` between the two is empty. ## Preview links | Site | Live | Preview | Search for | | ---------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | | Docs | [/docs/reference/server/frameworks](https://supabase.com/docs/reference/server/frameworks) | [/docs/reference/server/frameworks](https://docs-git-docs-drop-stale-alpha-labels-supabase.vercel.app/docs/reference/server/frameworks) | `December 1, 2026` | | Docs | [/docs/reference/middleware/introduction](https://supabase.com/docs/reference/middleware/introduction) | [/docs/reference/middleware/introduction](https://docs-git-docs-drop-stale-alpha-labels-supabase.vercel.app/docs/reference/middleware/introduction) | `is in alpha` (live only) | | Docs | [/docs/reference/middleware/usage-examples](https://supabase.com/docs/reference/middleware/usage-examples) | [/docs/reference/middleware/usage-examples](https://docs-git-docs-drop-stale-alpha-labels-supabase.vercel.app/docs/reference/middleware/usage-examples) | `The entry form of` | | UI library | [/ui/docs/headless/mcp](https://supabase.com/ui/docs/headless/mcp) | [/ui/docs/headless/mcp](https://ui-library-git-docs-drop-stale-alpha-labels-supabase.vercel.app/ui/docs/headless/mcp) | `Composing` | ## Review instructions 1. Open the live and preview links for the frameworks page side by side. Search for `alpha`: present on live, absent on preview. Search for `December 1, 2026`: absent on live, present on preview. 2. Open the middleware introduction. The "Alpha" caution box is gone on preview. 3. Open the middleware usage examples and expand the CORS example details. The entry form note reads "needs `@supabase/server` 1.6.0 or later" with no alpha. 4. Open the UI library MCP page. The paragraph after the `whoami` note states the version requirement and no longer mentions alpha or 0.x. 5. Optional, in a checkout: `diff apps/docs/spec/reference/server/v1/partials/frameworks.mdx apps/docs/docs/ref/server/frameworks.mdx` prints nothing. Same for the two middleware pages. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [ ] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) The docs text is copied verbatim from partials that already went through review in #51031 and #51276. The one rewritten paragraph in the UI library page follows the Supabase writing style guide. |
||
|
|
1c97fe51be |
docs: move C# SDK from community to official support (#51487)
## Problem Remove COMMUNITY badge from C# SDK Reference, and fix links pointing to `supabase community`. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
853bac960e |
feat(studio): limit DuckLake managed setup to the current project (#51380)
## Problem In **Add pipeline**, the managed DuckLake configuration method (**Select Supabase projects**) lets users pick any project in their organization for the catalog and for storage. For now, managed DuckLake should only use the current project. ## Solution - Rename the option to **Use this Supabase project** and remove the **Catalog project** and **Storage project** selectors. Users still set **Metadata schema** and **Bucket**. - Remove `ducklakeCatalogProjectRef` and `ducklakeStorageProjectRef` from the form schema, default values, and validation rather than hiding them, so the form can't carry another project's ref. `buildDucklakeConfig` sets both `catalogProjectRef` and `storageProjectRef` to the current project ref, which the config builders already receive from the URL. - The bucket list and the **New bucket** dialog always target the current project. The cross-region warning is removed because it can no longer trigger. - `data/replication` (types and API payload mapping) is unchanged. It still sends `project_ref` for the catalog and storage, now always the current project. - Fix in passing: creating a bucket from the dialog now sets the field with `shouldDirty` and `shouldValidate`, so a stale "Bucket is required." error clears. - Edit mode and **Enter connection details** are unchanged. The DuckLake docs page (`apps/docs/content/guides/database/replication/pipelines/ducklake.mdx`) still describes choosing separate projects. It'll be updated in a follow-up PR that should merge after this one ships. ## Review instructions 1. Open a project, go to **Database** > **Pipelines**, select **Add pipeline**, and choose **DuckLake**. 2. Under **Configuration method**, check that the first option is **Use current Supabase project** and that there's no **Catalog project** or **Storage project** selector. 3. Open the **Bucket** list and check that it shows the current project's buckets. **New bucket** creates a private bucket in the current project. 4. Create the pipeline and check that the request sends the current project ref as both `catalog.project_ref` and `storage.project_ref`. 5. Run the unit tests: `cd apps/studio && pnpm vitest run components/interfaces/Database/Replication/DestinationPanel/DestinationForm data/replication` ## Checklist Check all before review: - [ ] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [ ] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) --------- Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com> |
||
|
|
7b48b298ee |
feat(apps): distinguish local development with blue blueprint favicons (#51420)
## Problem - Local apps are hard to distinguish from hosted apps in browser tabs. ## Solution - Add blue blueprint icons to local development in all 8 apps and Studio CLI. - Keep normal branding for production, hosted staging and self-hosted Studio. - Builds on #51419. | Before | After | | --- | --- | | <img width="1290" height="76" alt="CleanShot 2026-10-08 at 13 29 14@2x" src="https://github.com/user-attachments/assets/72bc50d7-37e0-47d0-8dfd-50e233a443bd" /> | <img width="1282" height="72" alt="CleanShot 2026-10-08 at 13 30 03@2x" src="https://github.com/user-attachments/assets/afb15a70-3938-4cff-9b41-dc6c25460b7c" /> | ## Review instructions - Start an app locally. Its browser tab should show the blue icon. - Check Studio CLI uses blue and hosted staging uses white. - Check production icons are unchanged, including Learn's black and white icon. - Run `node scripts/validate-favicons.mjs`. All 16 sets should pass. Asset and routing checks, formatting and Common/Studio type checks passed. Full builds have not been run. ## Checklist - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) |
||
|
|
325a5a0da7 |
fix(studio): polish extension installation dialogs (#51463)
## Problem The enable-extension dialog in #51440 needs clearer installation copy and a consistent disclosure for custom-schema guidance. On narrow screens, footer buttons touch and dialog content can scroll sideways. ## Solution Polish the dialog on top of #51440: - Explain fixed-schema requirements and hide custom-schema guidance when the extension requires a specific schema. - Share the disclosure interaction with the session-expired and API-hardening dialogs through `ui-patterns/DialogDisclosure`, documented with a live design-system example. - Fix narrow-screen overflow and add vertical spacing to shared dialog footers. - Refine inline-code styling and update the PostGIS instructions and E2E button locator. | After | | --- | | <img width="852" height="710" alt="CleanShot 2026-10-09 at 12 17 47@2x" src="https://github.com/user-attachments/assets/59f6f1e7-9884-4cdb-b678-62b7f88a8ec5" /> | | _Standard extension_ | | <img width="836" height="1092" alt="52254" src="https://github.com/user-attachments/assets/dbf53d3e-6583-4c3b-8f43-577e0723d9a7" /> | | _Standard extension expanded accordion_ | | <img width="836" height="604" alt="CleanShot 2026-10-09 at 12 20 04@2x" src="https://github.com/user-attachments/assets/c8e3961f-2683-440c-a2a2-48ccd53c4a17" /> | | _Extension with fixed schema_ | ## Review instructions 1. Open `/project/<ref>/database/extensions`. Turn on the toggle for a disabled `postgres_fdw` extension. Expand **Install in a different schema** and check its hover, keyboard focus and full-width click target. Repeat with `pg_cron` or `pgmq`: the intro must say **must**, and custom-schema guidance must be absent. Cancel without enabling. 2. At 320 px and 375 px, check the extension dialog's alignment, inline-code rendering, wrapped SQL and stacked **Enable** / **Cancel** spacing. Confirm the page does not scroll sideways. 3. On a platform project with the Data API enabled, open `/project/<ref>/integrations/data_api/settings`. Under **Harden Data API**, click **Harden Data API**. Expand both sections and check the same trigger behaviour. Confirm completed sections still show their check icons. Close without applying either action. 4. The session-expired dialog has no direct route. It is rendered by `apps/studio/hooks/misc/withAuth.tsx` after authentication loading exceeds 10 seconds. For repeatable local review, temporarily pass `visible={true}` to its `SessionTimeoutModal` callsite, then open `/projects`. Expand **Having trouble?** by clicking the text or chevron and using Enter / Space. Check the help text and controls. Close the dialog without signing out or clearing site data, then undo the temporary prop change. 5. In the design system, open [`/docs/components/dialog#optional-details`](https://design-system-git-dnywh-choreextension-dialog-polish-supabase.vercel.app/design-system/docs/components/dialog#optional-details). Click **Export results**, then expand **What’s included** with the mouse and keyboard. The demo imports the same `ui-patterns/DialogDisclosure` used by Studio. 6. Open another dialog and an alert dialog at a narrow width. Check the shared 8 px gap between stacked footer buttons. Review inline-code examples on `/docs/components/typography` for the shared styling change. |
||
|
|
255a80e219 |
refactor(apps): standardise existing favicon assets and declarations (#51419)
## Problem - Favicon files and markup are duplicated across apps. ## Solution - Replace old files with one ICO, one Apple icon and two manifest icons per set. - Share icon markup and add generation notes and scripts. - Keep existing branding, including Learn's black and white icon. - Make the border radius match across all apps’ favicons. ## Review instructions - Check normal app icons and Studio staging in browser tabs. - Check icons load under `/docs` and `/kb`. - Run `node scripts/validate-favicons.mjs`. All 8 sets should pass. |
||
|
|
8617532ae1 |
fix(docs): remove orphaned cli.mdx and update stale /guides/cli link (#51495)
Resolves [DOCS-1252](https://linear.app/supabase/issue/DOCS-1252/resolve-e2e-broken-link-errors-for-the-cli-guide). #48453 updated most `/cli` links to `/local-development`. This PR covers the remaining `/cli` references. ## Changes - **Delete `apps/docs/content/guides/cli.mdx`.** The file has had no route since the October 2024 docs IA reorganization (#29364), which moved the CLI guides under `local-development/`. - In production, `/docs/guides/cli` redirects to `/docs/guides/local-development` through `apps/www/lib/redirects.js`, so the file's content never renders. - On Vercel previews, which don't have `www` redirects, the URL returns 404. Docs E2E tests every changed guide file, so any edit to `cli.mdx` fails the required check. - Deleting it is safe for Docs E2E, which only scopes added or changed files. The redirect still covers the old URL. - **Update the connection-refused troubleshooting page** to link to `/docs/guides/local-development` instead of the redirected `/docs/guides/cli`. - **Point the "Go to Local Dev / CLI" command palette entry at `/guides/local-development`.** It routed to `/guides/cli`, which only resolves through the `www` redirect and returns 404 on previews. - **Remove the unused `cli` navigation menu** from `NavigationMenu.constants.ts`. No `MenuId` resolves to it, so it was never rendered, and its links pointed to pages that no longer exist. Question for @czenko: #48453 left `cli.mdx` alone on purpose, describing it as needing a routing or content decision. Deleting it seemed like the simplest fix, but is there a reason to keep it? It looks like it's an artifact that sometimes gets updated because it's being mistaken as a living document. Also, I believe troubleshooting guides are being currently moved - this ticket and change might coincide with the new https://github.com/supabase/troubleshooting repository, but I didn't see this file existing in there just yet - it's being currently being moved in this PR https://github.com/supabase/troubleshooting/pull/330/changes#diff-b5908c6861f711c3a38fba99aa133cdb796f26c27a35e77c674cb21f988a1046 (so I think I should do the link change in that PR and I can remove it from this PR as to not create merge conflicts or drift). But it makes questions come up about how broken links are handled in that repository 👀 --------- Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io> |
||
|
|
4fcd212d6a |
Add Daniel Chapman to humans.txt (#51467)
## Problem I joined the company. ## Solution Added myself to humans.txt. |
||
|
|
8c10701cb5 |
feat(docs): Document TLS ciphers and upcoming CBC removal (#51390)
## Problem We're soon going to remove CBC-mode ciphers from the HTTP APIs for projects hosted on the platform. ## Solution These docs help customers understand what our TLS offering looks like and helps with the change. ## Review instructions Check the copy if it's understandable and well written ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) The `/write-the-docs` skill showed these notes: - The error strings in the troubleshooting table are typical messages, not taken from Supabase logs or tickets. - The proxy workaround is my suggestion, not part of the approved comms. - The openssl command appears on both pages. The troubleshooting renderer (MDXRemoteBase) doesn't seem to support <$Partial>, and no troubleshooting article uses one, so I didn't share it. - Both pages describe a future removal. After November 10 the wording ("will remove", "until the removal date") needs a follow-up edit to present tense. --------- Co-authored-by: supabase-vercel-tedd[bot] <336548405+supabase-vercel-tedd[bot]@users.noreply.github.com> |
||
|
|
94f0a0ab1e |
fix(docs): remove outdated migrations endpoint access note from supabase-for-platforms (#51399)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs update ## What is the current behavior? The "Make database changes" section of the Supabase for Platforms guide says only select customers can access `POST /v1/projects/{ref}/database/migrations` and points to a partnerships form. The endpoint is no longer gated: - https://github.com/supabase/platform/pull/31058 (merged 2026-03-27) made the migrations endpoint GA for everyone. - https://github.com/supabase/platform/pull/36265 (merged 2026-07-28) removed the outdated beta/partner-only descriptions from the API reference. This guide page was not updated alongside them. ## What is the new behavior? Removes the outdated access admonition. The endpoint description and example are unchanged. ## Additional context Confirmed with the Control Plane team that the endpoint is GA and this page is outdated. Related support ticket: SU-491909. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
|
|
f918b8ebd6 |
Add Mike Donnalley to humans.txt (#51451)
## Problem humans.txt doesn't have my name listed in it. ## Solution Adds my name to the list of humans. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) |
||
|
|
33c5f91e6f | chore(docs): Add Brad Deam to humans.txt (#51418) | ||
|
|
5c68e24faf |
fix(docs): keep collapsed sidebar group links in the server HTML (#51373)
Part of [DOCS-1432](https://linear.app/supabase/issue/DOCS-1432/discovery-gather-information-and-data) ## Problem While doing Discovery for Information Architecture, I found that my agents were taking 10+ clicks to find a page. This was _really_ bad. But it turns out it's an accessibility issue; the agent can't _see_ any nested subnav item. Allowing the dom to access the subnav without toggling an accordion allows an agent to freely navigate, completely resolving some of my failing evals. ## Solution - **Render a hidden list of each group's links.** A `<ul hidden>` next to each group holds its links, nested groups included, so they are in the HTML. The accordion is unchanged, so the sidebar looks and animates the same as production. - Checked for accessibility. ## Manual testing 1. Open the [Platform hub on the deploy preview](https://docs-git-docs-nav-render-collapsed-links-supabase.vercel.app/docs/guides/platform). In the sidebar, **Single Sign-On** and **Multi-factor Authentication** are collapsed. 2. Run `curl -s https://docs-git-docs-nav-render-collapsed-links-supabase.vercel.app/docs/guides/platform | grep -o 'href="/docs/guides/platform/sso"'`. It prints the link. The same command against supabase.com prints nothing. 3. Click **Single Sign-On**. It opens and shows its guides, including SSO with Google Workspace. 4. Click **Single Sign-On** again. It closes. Notice animation is intact. |
||
|
|
6c150d26d9 |
docs(mgmt-api): clarify rate limits are per endpoint (#51379)
## Problem The Management API rate limits docs said limits are per user and per project or organization. They didn't say that each endpoint also has its own limit, or how requests without a project or organization, and tokens versus OAuth apps, are counted. The partial also had a typo, a repeated example, and a tracking-key sentence that listed endpoint as a scope. ## Solution Edits to `apps/docs/content/_partials/api_rate_limits.mdx`, in one commit per change type: 1. `docs(mgmt-api): clarify rate limits are per endpoint`: the content change. It adds the per-endpoint model, the user scope, the `POST /v1/projects` scoping, and who the limit applies to. 2. **Style**: fixes the `enpoint` typo and the table alignment, removes the repeated Project A/B paragraph and the `database/context` note that restated its table rows, unwraps hard-wrapped lines, and aligns bold labels and wording with the style guide. 3. **Structure**: moves "Rate limit response headers" after "Who the limit applies to", so the concept sections come before the reference sections. No headings were renamed, and no inbound anchors to them exist in `apps` or `packages`. 4. **Technical**: the tracking-key sentence now reads "scope (project or organization) and the endpoint". It previously listed endpoint as a scope, which contradicted the scope list. Not verified against the rate limiter, which isn't in this repo. A reviewer with access should confirm: - Requests without a project or organization count against the user. - `POST /v1/projects` is organization-scoped via `organization_slug`. - Personal access tokens share the user's limit, and OAuth apps share the app's limit. - The tracking-key wording in commit 4 is inferred from the page, not from code. ## Preview links | Site | Live | Preview | Search for | | ---- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------ | | Docs | [/docs/reference/api/introduction](https://supabase.com/docs/reference/api/introduction) | [/docs/reference/api/introduction](https://docs-git-docs-mgmt-api-rate-limits-per-endpoint-supabase.vercel.app/docs/reference/api/introduction) | `Who the limit applies to` | ## Review instructions 1. Open the live and preview links side by side and scroll to "Rate limits". 2. Check that the section order is: Standard rate limit, Rate limit scope, How rate limits are tracked, Who the limit applies to, Rate limit response headers, Endpoint exceptions, Best practices. 3. Check that the scope table and the endpoint exceptions tables render correctly. 4. Review commit by commit, since each commit is one change type. 5. If you can read the rate limiter code, check the unverified claims listed above. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
|
|
8083226229 |
chore: add David McNeil to humans.txt (#51376)
Add David McNeil to humans.txt |
||
|
|
7d47e3bf80 |
chore(docs): add Alexis Aguilar to humans.txt (#51369)
## Problem Alexis Aguilar is a new hire and isn't in the `humans.txt` file yet. ## Solution Adds Alexis Aguilar to the `apps/docs/public/humans.txt` file :) <!-- ## Preview links If relevant, include links to changed pages for easy review access. Copy the preview base URL from the Vercel bot comment on this PR. Use the following table as an example template. | Site | Live | Preview | Search for | | -------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------- | | WWW | [/blog/your-post](https://supabase.com/blog/your-post) | [/blog/your-post](https://zone-www-dot-com-git-branch-name-supabase.vercel.app/blog/your-post) | unique phrase from the change | | Docs | [/docs/guides/your-page](https://supabase.com/docs/guides/your-page) | [/docs/guides/your-page](https://docs-git-branch-name-supabase.vercel.app/docs/guides/your-page) | unique phrase from the change | | Studio | [/dashboard](https://supabase.com/dashboard) | [/dashboard](https://studio-git-branch-name-supabase.vercel.app/dashboard) | unique phrase from the change | | Design system | [/design-system](https://supabase.com/design-system) | [/design-system](https://design-system-git-branch-name-supabase.vercel.app/design-system) | unique phrase from the change | | UI library | [/library](https://supabase.com/library) | [/library](https://ui-library-git-branch-name-supabase.vercel.app/library) | unique phrase from the change | | Knowledge base | [/kb/guides/your-page](https://supabase.com/kb/guides/your-page) | [/kb/guides/your-page](https://kb-git-branch-name-supabase.vercel.app/kb/guides/your-page) | unique phrase from the change | --> <!-- ## Additional context Optionally add any other context or screenshots. --> ## Checklist Check all before review: - [X] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) |
||
|
|
32b16b7397 | Add Connor Davis to humans.txt (#51360) | ||
|
|
1a992761c1 |
chore(docs): Add Lovro Mažgon to humans.txt (#51354)
Add myself to humans.txt |
||
|
|
9a4ab14be2 |
chore: add John Jarvis to humans.txt (#51182)
## Problem John Jarvis is missing from `humans.txt`. ## Solution Add John Jarvis to `apps/docs/public/humans.txt`. ## Review instructions Confirm the name is spelled correctly in the team list. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added John Jarvis to the team list. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
240e954390 | fix(www): fix partners links and 404 redirects (#51294) | ||
|
|
1da25a7e72 |
chore(hipaa): self-serve PITR (#51342)
There is no reason why HIPAA customers cannot self-serve PITR add-on. Instead of telling customers to reach out to support, let them self-serve it. - Docs also wrongfully stated the need for Small compute add-on. - Ability to self-serve PITR - Only 28-day PITR available - Price is now also correct and displays $0 (pending backend change) When enabled (marked as HIPAA compliant): <img width="1128" height="216" alt="Screenshot 2026-10-06 at 1 53 01 PM" src="https://github.com/user-attachments/assets/d83982e7-c71b-4236-ab29-67f85fc40f39" /> When not enabled (marked as HIPAA compliant): <img width="1132" height="255" alt="Screenshot 2026-10-06 at 1 53 55 PM" src="https://github.com/user-attachments/assets/f182813b-2163-4905-8cdf-9c69983ec1b9" /> <img width="772" height="542" alt="Screenshot 2026-10-06 at 1 56 08 PM" src="https://github.com/user-attachments/assets/2cd59439-74b9-49d6-90d1-47c8d1722c9f" /> |
||
|
|
6ecf98671a |
docs(platform): add Platform Webhooks guide and event catalog (#51098)
## Problem Platform Webhooks (org- and project-level event notifications over the Management API) has no public documentation. CTRL-1017 asks for a docs page plus a specification of the available event types, so partners can integrate without reading the OpenAPI spec or asking engineering directly. Closes CTRL-1017. ## Solution **New guide covering the Management API path, plus an event catalog.** Adds `apps/docs/content/guides/platform/webhooks.mdx`: concepts and scoping, creating an endpoint, Standard Webhooks signature verification and secret rotation, test events, and delivery/retry/ordering behavior. Adds `apps/docs/content/guides/platform/webhooks/events.mdx`: the events reference. - Full payload documentation for the 8 project-lifecycle event types, and a name-and-trigger table for the 12 branch, member, and billing types whose payload fields aren't documented. - Documents `*` for subscribing to every event. - Access framing states the criterion: available to organizations on an early access allowlist, with the `403` / `access_disabled` response for everyone else. - Nav entry under Platform > Project & Account Management, after Personal Access Tokens, gated by `fullPlatformEnabled`. **The page deliberately omits the dashboard UI.** See the first row of the table below. ## Needs review before merge | Item | Detail | | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **The Studio webhooks UI is not wired to the API, so this page documents the Management API only** | `PlatformWebhooksPage.tsx:29` imports `PLATFORM_WEBHOOKS_MOCK_DATA`; `PlatformWebhooks.store.ts` has no async or network code and hardcodes `createdBy: 'mock-user@supabase.io'`; nothing in `apps/studio` references `webhooks/endpoints` or `webhooks/deliveries`, even though `api-types/types/api-v2.d.ts` carries those paths 24 times. #43276 (DEPR-340) described it as "UI-only (with mock data)", and the `DEPR-340-backend-integration-tracker.md` it pointed to is no longer in the tree. A dashboard section can be added once the UI calls the API. | | Possible reference slug collision | Project- and org-scoped operations share identical `summary` values (both "Create endpoint", both "List endpoints"). The page links to the reference introduction and names the **Project webhooks** / **Organization webhooks** tags rather than deep-linking a generated page. | ## Preview links **Verified:** the new page returns 200 on the preview; the same path returns 404 on production, confirming net-new content; the nav entry renders on the preview build. ### Proof: new page renders on the PR preview [Open the new page on preview](https://docs-git-nikrichers-ctrl-1017-set-up-public-doc-fa3960-supabase.vercel.app/docs/guides/platform/webhooks) <img width="2295" height="8039" alt="Screenshot 2026-10-05 at 11-47-06 Platform Webhooks Supabase Docs" src="https://github.com/user-attachments/assets/7b1440d3-207d-4828-8593-77140bdcd73f" /> <img width="2295" height="12000" alt="Screenshot 2026-10-05 at 11-48-49 Platform Webhook Events Supabase Docs" src="https://github.com/user-attachments/assets/2808a88e-558e-4f73-a12a-01382cd3f6a2" /> ## Review instructions 1. Open the [PR preview](https://docs-git-nikrichers-ctrl-1017-set-up-public-doc-fa3960-supabase.vercel.app/docs/guides/platform/webhooks) and confirm the page renders as shown. 2. Confirm **Platform Webhooks** appears under **Platform > Project & Account Management** in the sidebar, after **Personal Access Tokens**. 3. Confirm the five internal-guide values in the second row of the needs-review table. 4. Decide with the Control Plane team whether the Studio UI ships wired to the API, which determines when a dashboard section gets added: Studio UI is slated for Q4, so it will not be shipped together. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs [style guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added a Platform Webhooks guide covering endpoint setup, event delivery, signature verification, test events, retries, retention, idempotency, ordering, and listener best practices. * Documented project and organization event types, payload schemas, event scopes, and versioning, plus access restrictions for organizations outside the allowlist. * **Navigation** * Added Platform Webhooks links, including Overview and Events, to the platform navigation when the full platform is enabled. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nik Richers <nik@validmind.ai> Co-authored-by: Paweł Gulbinowicz <pawel.gulbinowicz@supabase.io> Co-authored-by: Paweł Gulbinowicz <zamotany@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
12afe39999 |
Docs/troubleshoot pg net privileges (#51275)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? New troubleshooting guides related to the current pg_net and pg_dump extensions' behaviour. ## What is the current behavior? ## What is the new behavior? Preview: - [Revoking access to pg_net objects has no effect: no privileges could be revoked](https://docs-git-docs-troubleshoot-pg-net-privileges-supabase.vercel.app/docs/guides/troubleshooting/revoking-access-to-pg_net-objects-has-no-effect-0bbc16) - [Database roles can read request headers queued by pg_net](https://docs-git-docs-troubleshoot-pg-net-privileges-supabase.vercel.app/docs/guides/troubleshooting/database-roles-can-read-request-headers-queued-by-pg_net-ad6357) - [pg_dump fails with 'query would be affected by row-level security policy'](https://docs-git-docs-troubleshoot-pg-net-privileges-supabase.vercel.app/docs/guides/troubleshooting/pg_dump-fails-with-query-would-be-affected-by-row-level-security-policy-1d5783) - [Custom role inherits privileges that were not explicitly granted](https://docs-git-docs-troubleshoot-pg-net-privileges-supabase.vercel.app/docs/guides/troubleshooting/custom-role-inherits-privileges-that-were-not-explicitly-granted-ddaa1c) |
||
|
|
20d752517f | feat(docs): record search v2 rollout exposure (#51300) |