Skip to content

[pull] master from supabase:master - #1133

Merged
pull[bot] merged 17 commits into
code:masterfrom
supabase:master
Aug 3, 2026
Merged

[pull] master from supabase:master#1133
pull[bot] merged 17 commits into
code:masterfrom
supabase:master

Conversation

@pull

@pull pull Bot commented Aug 3, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

joshenlim and others added 17 commits August 3, 2026 11:48
## What kind of change does this PR introduce?

Bug fix.

## What is the current behavior?

Stripe Projects confirmation failures only appear in a toast.

The existing **Unable to load authorization** Admonition is a separate
error state shown when the account request itself cannot be loaded.

## What is the new behavior?

Confirmation failures remain visible below the authorisation actions,
clear on retry, and do not also trigger a toast. They use the shared
`InterstitialActionError`.

| Before | After |
| --- | --- |
| <img width="1024" height="759" alt="Authorize Stripe Projects
Supabase"
src="https://github.com/user-attachments/assets/83cb3144-9ddb-46b7-bfce-970497be61e2"
/> | <img width="1024" height="759" alt="Authorize Stripe Projects
Supabase"
src="https://github.com/user-attachments/assets/bccedde9-9935-457b-a980-0c80499f2f27"
/> |

## To test

These instructions visually check the after state on this branch.
Opening an invalid `ar_id` without the hardcodes only exercises the
existing load-error Admonition, which this PR does not change.

### After on this branch

1. In `apps/studio/pages/partners/stripe/projects/login.tsx`, replace
the `confirmationError` assignment with:
   ```tsx
const confirmationError = 'Failed to authorize Stripe Projects: Test
error'
   ```
2. In the same file, replace the block beginning with `const linkedOrg`
and ending with `interstitialDescription` with:
   ```tsx
   const linkedOrg = { name: 'Example Organization' }
   const emailMatches = true
const displayName = primaryEmail ?? username ?? 'reviewer@example.com'
   const isPending = false
   const isConfirmed = false
   const isConfirming = false
   const isError = false
   const showAuthorizationState = true
   const interstitialDescription =
     'This will create an organization on your behalf in Supabase'
   ```
3. While signed in locally, open
`http://localhost:8082/partners/stripe/projects/login?ar_id=test`.
4. Confirm the error appears below **Authorize Stripe Projects** and
**Cancel**. No real Stripe request is required.
5. Revert both temporary edits.

### Before on master (optional)

1. Check out `master`.
2. In `apps/studio/pages/partners/stripe/projects/login.tsx`, replace
the block beginning with `const linkedOrg` and ending with
`interstitialDescription` with the same block from step 2 above. Do not
add `confirmationError`.
3. While signed in locally, open
`http://localhost:8082/partners/stripe/projects/login?ar_id=test`.
4. Click **Authorize Stripe Projects**.
5. Confirm the failed confirmation appears in a toast beginning **Failed
to confirm account request**.
6. Revert the temporary edit before changing branches.

## Additional context

Stacked on #48471.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

* **Bug Fixes**
* Authorization errors during Stripe Projects login are now displayed
inline in both authorization flows.
  * Authorization remains available after a failed confirmation attempt.
* Failed authorization requests no longer trigger an additional toast
notification.
  * Previous errors are cleared when retrying authorization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Context

This is pre-requisite work for adding support to managing custom reports
from the Assistant. Planning to break this into a number of PRs, briefly
- Adding read support for custom reports
- Adding write support for custom reports
- Adding run support for custom reports
  - Should be able to infer data from the results then

This PR starts with adding support for listing and reading custom
reports from the Assistant

## Other changes involved
- Updates setting up of the home page report to have better title and
description
- Swaps the variant of the ToggleGroup in the SQL block for custom
reports as the default variant blends into the background color of the
PopoverContent

## To test
- [ ] Assistant should be able to list custom reports + read its
contents
<img width="428" height="755" alt="image"
src="https://github.com/user-attachments/assets/6a15b660-c0ee-4a06-984c-87eff3943eec"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added AI-assisted tools to list reports and retrieve report details,
including chart counts, layouts, configurations, and SQL-backed chart
information.
  - Added clearer empty-state messaging when no snippets are available.

- **Improvements**
- New homepage reports now use the name “Homepage Report” and include a
descriptive project-home summary.
  - Updated query controls with refreshed visual styling.
  - Improved content requests to support additional request context.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## What kind of change does this PR introduce?

Documentation update for
`apps/docs/content/guides/monitoring-and-debugging/client-side-tracing.mdx`.

As of `@supabase/supabase-js` 2.112.0 (supabase/supabase-js#2583), the
OpenTelemetry integration moved out of the main bundle into an opt-in
subpath. Enabling trace propagation now takes two steps: `import
'@supabase/supabase-js/tracing'` at the application entry point, plus
the existing `tracePropagation: true` client option.

Guide changes:

- Requirements: documents the subpath import (2.112.0+), the
loud-resolution behavior when `@opentelemetry/api` is missing, the
one-time warning when the runtime isn't loaded, the version note for
2.106.0–2.111.x (no import there), and that the CDN/UMD build does not
support tracing.
- Both code samples now start with the subpath import.
- Troubleshooting: new first check (runtime not loaded → one-time
console warning), updated `@opentelemetry/api` semantics per version,
new CDN/UMD entry.

The JS reference (`typeSpec.json`) is regenerated automatically by the
docs-update pipeline from the supabase-js spec and is not touched here.

**Timing note:** merge once 2.112.0 is promoted to `latest` (currently
on `beta`/`canary`) so the guide doesn't get ahead of the stable
release.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated client-side tracing guidance for `@supabase/supabase-js`
2.112.0 and later.
  * Added setup examples for the required one-time opt-in import.
* Clarified behavior when tracing dependencies are missing and
documented CDN usage limitations.
* Expanded troubleshooting guidance for runtime loading, module
resolution, and UMD usage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
## What kind of change does this PR introduce?

Bug fix and internal tooling update. Resolves FE-3472.

## What is the current behavior?

Custom Studio icons use inconsistent source stroke widths, and some
child-level styling prevents component props from overriding them. Mixed
custom and Lucide icon sets can therefore appear uneven.

## What is the new behavior?

Custom stroke icons use a root-level `stroke-width="1.5"`; fill-only
logos use `stroke="none"`. The build validates that contract and
regenerated components preserve existing exports and props.

Studio applies the same `1.5` weight across Reports categories and uses
one shared destination icon mapping in the replication selector,
destination rows and diagram.

| Before | After |
| --- | --- |
| <img width="418" height="516" alt="56398"
src="https://github.com/user-attachments/assets/6afa7042-e6be-40e7-9911-af2f61238c9d"
/> | <img width="390" height="550" alt="CleanShot 2026-07-30 at 17 12
37@2x"
src="https://github.com/user-attachments/assets/870f49cf-c8fa-40db-8be8-2eb5f264ff4a"
/> |
| <img width="510" height="734" alt="CleanShot 2026-07-30 at 17 19
28@2x"
src="https://github.com/user-attachments/assets/a5b2c088-dcd2-4907-976b-5820794d06e3"
/> | <img width="554" height="742" alt="CleanShot 2026-07-30 at 17 16
06@2x"
src="https://github.com/user-attachments/assets/ed3a77c4-5d94-4ca7-b9e4-1403b725a981"
/> |


## Testing

At 100% zoom, compare custom and Lucide icon weight in:

- Reports: **Add your first chart** and **Add block**
- Database > Replication: the destination selector, destination rows and
replication diagram
- Command menu (`⌘K`): **Search Database Tables**, **Search RLS
Policies**, **Search Edge Functions** and **Search Storage**
- Authentication > Users: right-click a user row and compare the
context-menu icons
- Database > Schema Visualizer: open a table node overflow menu
- A paused project: **Export your data > Download backups**

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added consistent destination icons across replication panels, rows,
and diagrams.
  * Updated instance health and metric icons for clearer identification.
* Standardized icon stroke weight and reduced default icon stroke
thickness.

* **Documentation**
* Clarified custom icon requirements, default properties, and validation
guidance.

* **Bug Fixes**
* Improved consistency of icon rendering across replication destinations
and reports.

* **Tests**
* Added coverage for icon SVG validation and replication destination
icon rendering.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Enabling a feature preview that has a route (e.g. Column-level
privileges) closed the modal but never navigated to the feature's page
on the TanStack runtime (local + staging). The modal closed itself via a
nuqs query-param update *and* called `router.push` — the queued nuqs
flush navigates to the pathname it captured before the push, landing
after the redirect and reverting it. The Next runtime was unaffected
because the stock nuqs pages adapter patches the URL shallowly via the
history API instead of navigating.

**Changed:**

- When the enabled preview has a `getRoute`, skip the explicit
`toggleFeaturePreviewModal(false)` — `router.push(route)` navigates
without the `featurePreviewModal` param, which is what closes the modal.
One URL update instead of two racing ones; works on both runtimes.
- Previews without a route keep the explicit close (unchanged behavior).

## To test

- On a project page, open Feature Previews (avatar menu), select
**Column-level privileges**, click **Enable feature** → modal closes and
you land on `/project/{ref}/database/column-privileges` with the "We've
taken you to where you can try it out." toast (no bounce back to the
previous page)
- Repeat with **Disable Advisor rules** → lands on
`/project/{ref}/advisors/rules/security`
- Enable a preview without a route (e.g. **PG Delta Diff**) → modal
closes, stays on the current page, "It's now active across the
dashboard." toast
- Disable a preview → modal stays open, "disabled" toast, no navigation
- Verified locally on the TanStack runtime; worth a quick click-through
on the Vercel preview (Next runtime) too

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved feature activation navigation to prevent conflicting URL
updates.
* Non-route features continue to close the preview modal and display the
activation confirmation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
## Context

As per PR title - brings Database Connections into feature preview
Should be working for both hosted + self-host/local

Also adjusts existing feature previews to remove "New"
- Platform webhooks
- Temporary database access

<img width="600" alt="image"
src="https://github.com/user-attachments/assets/b18ae8ca-ce0b-4649-975c-e70749a87dcd"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a Database Connections preview highlighting live activity, query
blocking detection, session termination, and AI-assisted summaries.
* Added access to project-specific observability connections from the
preview.
* Added a Database Connections entry to the observability menu when
enabled.

* **Improvements**
* Updated feature previews and labels, including changes to “new” status
indicators.
  * Added controls to manage Database Connections preview visibility.

* **Bug Fixes**
* Improved blocker detection so results respect the selected role
filters.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## What kind of change does this PR introduce?

Bug fix stacked on #48478.

## What is the current behavior?

Storage Explorer renders the custom closed-folder icon at `1.5` but
leaves the Lucide open-folder icon at its default `2`. The duplicated
file-picker implementation also uses a different set of stroke-width
overrides.

## What is the new behavior?

A shared `StorageRowIcon` renders loading, open and closed folder,
image, audio, video and generic file icons at `1.5` across Storage
Explorer, row editing and the bucket file picker.

Test by comparing open and closed folders and file-type rows in Storage
Explorer and the bucket file picker.

| Before | After |
| --- | --- |
| <img width="524" height="336" alt="CleanShot 2026-08-03 at 18 38
06@2x"
src="https://github.com/user-attachments/assets/15eb8b9f-69fc-4eee-8428-d7ec26dce8dc"
/> | <img width="522" height="328" alt="CleanShot 2026-08-03 at 18 39
20@2x"
src="https://github.com/user-attachments/assets/17b7dddd-8d36-421c-8356-c9c1bd7456e8"
/> |
| _Thicker image and file icon compared to folder icon_ | _Every icon
has the same stroke thickness_ |

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Improvements**
* Standardized file, folder, media, and loading icons across storage
views.
* Improved visual consistency with unified icon sizing, styling, and
stroke width.

* **Tests**
* Added coverage for loading, folder, media, and generic file icon
states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Context

Given that our number of feature previews have been expanding, am opting
to group them into categories for easier understanding of the context of
each feature preview.

Ideally we're able to tag all feature previews into categories (or add
more categories), but leaving the unclassified ones under "others" for
now

<img width="936" height="661" alt="image"
src="https://github.com/user-attachments/assets/b48bd9a2-fe33-4cb0-9288-1cd9c8264da0"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
  * Feature previews are now organized into expandable categories.
  * Observability and database previews are grouped for easier browsing.
  * Uncategorized previews remain available under an “Others” section.
* Existing feature selection options and sorting behavior are preserved.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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. 
Getting Started page is the most visited page in the docs at the moment:
https://supabase.com/docs/guides/getting-started.
Looking at all 19 guides, they appear to have drifted apart because
there was never a written standard for what a quickstart must contain.
Additionally, we are missing some frameworks, languages, and ORMs
quickstarts.

Phase 1 (this PR) fixes broken numbering, duplicated steps, and dead-end
pages. Later phases bring all 19 guides into line with a single
"definition of done" contract (error handling in samples, env vars
everywhere, consistent Connect-panel pattern). The end goal is that
every quickstart, regardless of framework, gives the same complete,
trustworthy path from zero to a working app.

## What is the new behavior?

1. SvelteKit and Hono cards added to the [homepage
grid](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs)
(FrameworkQuickstarts.tsx). Only added the most popular missing
frameworks to the grid.
2.
[Rails](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/ruby-on-rails#2-install-agent-skills-optional):
Add missing second step (Agent Skills), add next steps at the end (point
6)
3.
[Laravel](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/laravel#6-set-up-the-postgres-connection-details):
Remove duplicated instruction to create project from step 6.
4.
[Refine](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/refine#5-update-supabaseclient-with-environment-variables):
In step 5, create .env file (VITE_SUPABASE_URL,
VITE_SUPABASE_PUBLISHABLE_KEY), and the client reads them via
import.meta.env, matching the Vite-based refine-supabase preset.
5.
[Hono](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/hono#6-set-up-the-required-environment-variables)
TODO resolved: In step 6, add the "Open Connect panel" Button with the
generic api_settings.mdx partial call, identical to the Flask and Expo
pattern.
6. Next steps added to the 9 guides missing it at the end of the guide,
linking to the framework tutorial or Auth, UI components, data import,
and Storage (Flutter, Kotlin, Laravel, Nuxt, RedwoodJS, Refine, Ruby on
Rails, SolidJS, and Vue).
7. Remove 4 stale screenshots from RedwoodJS and Refine, along with
their now-orphaned image assets under apps/docs/public/img/. The
surrounding text already covers what they showed; they weren't
Connect-panel screens, so the Button pattern didn't apply as a
replacement.
8. Add [Supabase Agent
Skills](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/nextjs#4-install-agent-skills-optional)
purpose and benefits for the user
9. Start all guides from creating Supabase project 

## Additional context

Add any other context or screenshots.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Documentation

- Added SvelteKit and Hono quickstarts with icons and documentation
links.
- Expanded Agent Skills guidance across framework quickstarts, including
current authentication, SSR, and migration patterns.
- Improved project creation, Connect panel, API configuration, and
credential setup instructions.
- Added framework-specific “Next steps” resources for Auth, database
imports, Storage, UI components, and libraries.
- Clarified PostgreSQL SSL, password encoding, connection, and
environment-variable requirements.
- Replaced outdated screenshots with clearer setup guidance and relevant
examples.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Added C# examples across API, authentication, database, Realtime, and
Storage guides.
* Expanded authentication coverage for passwordless, phone, anonymous,
identity linking, SSO, sign-out, and social login providers.
* Added database examples for queries, functions, joins, JSON, arrays,
search, PostGIS, and custom schemas.
* Added Realtime examples for broadcasts, presence, subscriptions, and
database changes.
* Added Storage examples for buckets, uploads, downloads,
transformations, CDN purging, and resumable transfers.
  * Included C# error-handling guidance and relevant reference links.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Context

Adds a banner toast for the database connections feature preview

<img width="315" height="322" alt="image"
src="https://github.com/user-attachments/assets/8caaab88-10a0-4a06-b678-25fc9c44dd81"
/>

## Other changes

As the observability page currently has a number of banner toasts
(metrics API, unified logs, index advisor for query performance), am
opting to REMOVE the metrics API's banner toast by virtue of how long
its been around for. Mainly to prevent over stacking of banner toasts as
it can be annoying.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a dismissible Database Connections banner with SQL examples and
a link to its feature preview.
  * Banner dismissal and CTA interactions are now tracked.
  * Dismissed banners can reappear when reintroduced.

* **Bug Fixes**
  * Banners are hidden after the feature is enabled or dismissed.
  * Improved banner handling to prevent duplicate active banners.

* **Changes**
* Replaced the Metrics API banner with the Database Connections banner.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Context

As per PR title - should not have any visual nor functional change 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Changes**
- Standardized infrastructure, region, and database configuration around
AWS-based environments.
- Removed Fly.io-specific region and provider options from project
creation, instance sizing, and infrastructure settings.
- Enabled disk validation, spend-cap eligibility, backup restoration,
and extension setup consistently across supported projects.
- Updated billing and region displays to use the applicable AWS
configuration.
- **Bug Fixes**
- Corrected project-specific restrictions that could incorrectly hide
configuration and billing controls.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…ide (#48449)

## 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?

This is a docs-only content update to the `/docs/guides/security`
landing page and its neighboring guides. It adds a dedicated GDPR
compliance guide, and surfaces ISO 27001 and DDoS protection coverage
that Supabase already provides but wasn't listed anywhere in the docs
security guide.

Closes DOCS-354.

## What is the current behavior?

- In `/docs/guides/security`, there is no mention of GDPR, ISO 27001 or
DPA request potential, despite Supabase docs covering these partially in
one place or another.
- Confirmed by auditing `apps/docs/content/`: zero mentions of GDPR/data
residency, zero DPA content or link to `/legal/dpa`, zero ISO 27001
mentions, and only incidental/wrong-audience mentions of DDoS protection
(a pen-testing exclusion, a Storage CDN aside, a fail2ban
troubleshooting article for banned users).
- `regions.mdx` only frames region choice as a performance decision,
with no data-residency/compliance angle.
- This is a parallel docs-side counterpart to #48403 (marketing
`/security` page content additions), which is adding the same GDPR/Data
Residency/DPA/DDoS topics on `apps/www`. This PR does not modify
`apps/www` — see that PR for the marketing-page changes.

## What is the new behavior?

- New guide: `apps/docs/content/guides/security/gdpr-compliance.mdx`
covering data residency (including the nuance that the "Europe" general
region grouping includes non-EU jurisdictions UK and Switzerland) and
the Data Processing Agreement (DPA), linked to `/legal/dpa`.
- Added to the sidebar nav under Security → Compliance, alongside SOC 2
and HIPAA.
- `apps/docs/content/guides/security.mdx`: added an ISO 27001 paragraph
(dashboard certificate link, matching the existing SOC 2/HIPAA pattern)
and a GDPR pointer paragraph to `## Compliance`; added a DDoS protection
paragraph (Cloudflare CDN + fail2ban) to `## Platform configuration`.
- `apps/docs/content/guides/platform/regions.mdx`: added a "Data
residency" section clarifying that general region groupings may span
non-matching jurisdictions, and specific regions should be used when
strict jurisdictional residency is required.

## Additional context

- Worktree:
`~/GitHub/supabase/supabase-worktrees/nikrichers/docs-354-security-landing-page`
- Note: Supabase's subprocessor list was considered for the GDPR guide
but omitted — both candidate links
(`/legal/customer-resources/subprocessor-list` and
`/legal/privacy#subprocessors`) are not yet publishable/live. Follow up
once Legal publishes that page.

**Verification:**

| Check | Result |
| ------------------------------------ |
-----------------------------------------------------------------------------------------------------
|
| `pnpm lint:mdx` on changed/new files | Pass (0 errors, 0 warnings on
touched files) |
| `pnpm build:guides-markdown` | Fails on `master` too (unrelated
missing `ai-skills.json` generated file) — not caused by this change |
| Local render (`pnpm dev:docs`) | All three pages return 200; new copy,
nav entry, and all links/anchors verified to resolve |

### Proof:

Reviewers should believe: the security landing page and regions guide
now list GDPR/ISO 27001/DDoS coverage that was previously missing, and
the new GDPR guide renders correctly with working links, where before it
404'd.

### Before & After

**`/docs/guides/security`** — ISO 27001, GDPR, and DDoS paragraphs now
present:

| [Before (production)](https://supabase.com/docs/guides/security) |
[After (PR
preview)](https://docs-git-nikrichers-docs-354-security-landing-page-supabase.vercel.app/docs/guides/security)
|
|
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
|
![security-before](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48449/security-before-5fd638c1.png)
|
![security-after](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48449/security-after-2f89b1b0.png)
|

**`/docs/guides/platform/regions`** — new "Data residency" section:

| [Before
(production)](https://supabase.com/docs/guides/platform/regions) |
[After (PR
preview)](https://docs-git-nikrichers-docs-354-security-landing-page-supabase.vercel.app/docs/guides/platform/regions)
|
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------
|
|
![regions-before](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48449/regions-before-e824c680.png)
|
![regions-after](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48449/regions-after-c119e50d.png)
|

**`/docs/guides/security/gdpr-compliance`** — net-new page, no
production URL exists yet (404 before this PR):

| Before (production) | [After (PR
preview)](https://docs-git-nikrichers-docs-354-security-landing-page-supabase.vercel.app/docs/guides/security/gdpr-compliance)
|
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------------
|
| |
![gdpr-after](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48449/gdpr-after-e42cf263.png)
|

### Test plan

```text
- [ ] Visit /docs/guides/security — confirm ISO 27001, GDPR, and DDoS paragraphs render under the right headings
- [ ] Visit /docs/guides/security/gdpr-compliance — confirm it renders and appears in the sidebar under Compliance (next to SOC 2, HIPAA)
- [ ] Visit /docs/guides/platform/regions — confirm the new "Data residency" section renders before "General regions"
- [ ] Confirm links resolve: /docs/guides/security/gdpr-compliance, /docs/guides/platform/regions#specific-regions, /legal/dpa, /dashboard/org/_/documents
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Documentation
- Added a GDPR Compliance entry to the Compliance navigation.
- Updated security documentation with ISO 27001 certification details,
clearer GDPR guidance, and expanded protection information.
- Clarified regional data residency guidance, including primary project
data and GDPR considerations.
- Made minor wording and formatting improvements to the GDPR compliance
guide.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nik Richers <nik@validmind.ai>
## 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 fix/update

## What is the current behavior?

Shows pricing information that is not accurate/approved yet

## What is the new behavior?

helpful docs, which indicate pricing may be relevant and the future and
already directs users to help management tools

## Additional context

NA

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated Logs pricing and quota guidance to clarify that details may
change before billing enforcement begins.
* Replaced preliminary pricing tables and billing examples with notices
that finalized information will be published later.
* Expanded usage optimization guidance for log ingestion and querying,
including filtering, time ranges, polling, and database logging
recommendations.
* Directed readers to per-SKU pages for the latest pricing, quotas,
billing, and optimization information.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
)

## 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?

Adds a cross-link from the Database overview's "Next steps" section to
the Deployment & Branching guide, so readers who land on Database
looking for Branching docs can find them without guessing at top-level
nav.

Closes DOCS-1263.

## What is the current behavior?

- Linear item:
[DOCS-1263](https://linear.app/supabase/issue/DOCS-1263/add-deployment-and-branching-cross-link-on-database-overview-next)
- User feedback: someone looking for Branching docs expected them under
Products → Database. The canonical docs live under Build → Deployment &
Branching (`/guides/deployment`, with Branching at
`/guides/deployment/branching`). That placement stays correct (it's a
preview/deploy workflow, not a Database product guide) — the miss is
that Database overview's "Next steps" grid has no link out to it.

## What is the new behavior?

- Added a "Deployment & Branching" card to `databaseNextSteps` in
`apps/docs/data/content-listings/database.data.ts`, linking to
`/guides/deployment` (the Deployment & Branching hub, not a
Branching-only link)
- No nav changes, no URL redirects, no Features sidebar work

## Additional context

- Worktree:
`~/GitHub/supabase/supabase-worktrees/nrichers/docs-1263-add-deployment-branching-cross-link-on-database-overview`
- Change is a single data-file addition (`databaseNextSteps` array),
rendered on `/guides/database/overview` via `<ContentListings
id="database-next-steps" />`
- Verification: reviewed diff for correct schema shape (matches existing
`ContentListingGroup` items, e.g. the existing cross-product `Backups` →
`/guides/platform/backups` entry)

### Proof: Database overview "Next steps" now links out to Deployment &
Branching

**Verified:** docs preview deploy (pass) · both URLs return `200` · new
card renders next to "Roles and permissions" and links to
`/guides/deployment`

### Before & After

| [Before
(production)](https://supabase.com/docs/guides/database/overview) |
[After (PR
preview)](https://docs-git-nikrichers-docs-1263-add-deployment-br-fd2915-supabase.vercel.app/docs/guides/database/overview)
|
|
-------------------------------------------------------------------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
|
![Before](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48509/database-next-steps-before-f719b4f6.png)
|
![After](https://moijyfpvgnmgoxvwcikq.supabase.co/storage/v1/object/public/pr-proof/supabase/supabase/pr48509/database-next-steps-after-14b5ec5e.png)
|

- **Before:** https://supabase.com/docs/guides/database/overview
- **After:**
https://docs-git-nikrichers-docs-1263-add-deployment-br-fd2915-supabase.vercel.app/docs/guides/database/overview

### Test plan

- [x] Visit `/guides/database/overview` on the PR preview and confirm
the "Next steps" grid shows a **Deployment & Branching** card
- [x] Confirm the card links to `/guides/deployment` (not
`/guides/deployment/branching`)
- [x] Confirm no other Next steps cards, nav items, or redirects changed

Co-authored-by: Nik Richers <nik@validmind.ai>
@pull pull Bot locked and limited conversation to collaborators Aug 3, 2026
@pull pull Bot added the ⤵️ pull label Aug 3, 2026
@pull
pull Bot merged commit 49ad654 into code:master Aug 3, 2026
@github-actions github-actions Bot added documentation Improvements or additions to documentation self-hosted labels Aug 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull documentation Improvements or additions to documentation self-hosted

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants