Commit Graph
16743 Commits
Author SHA1 Message Date
dda0b526ac Feat/learn (#41566)
wip

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

## Summary by CodeRabbit

# Release Notes

* **New Features**
* Added a new Learn application offering foundational Supabase courses
with interactive documentation
* Courses include Architecture, Authentication, Data Fundamentals,
Security, Storage, Realtime, and Edge Functions
  * Chapter tracking and progress indicators for course completions
  * Responsive sidebar navigation with search/command menu
  * Theme switching support (light, dark, classic dark modes)
  * Mobile-friendly course interface

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

---------

Co-authored-by: Alan Daniel <stylesshjs@gmail.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 21:36:24 -03:30
Ivan Vasilov 7e9f243f51 chore(studio): update Cursor rule to use queryOptions (#42446)
## Summary

- Updates the Cursor rule at `.cursor/rules/studio/queries/RULE.md` to
recommend the `queryOptions` pattern from TanStack React Query instead
of custom `useXQuery` wrapper hooks
- Provides an example implementation by refactoring
`thirdPartyAuthIntegrationsQuery` from a
`useThirdPartyAuthIntegrationsQuery` hook to
`thirdPartyAuthIntegrationsQueryOptions`

## Why this pattern?

The `queryOptions` factory pattern from TanStack Query v5 offers several
benefits:

1. **Type safety** - Query keys and return types are properly inferred
2. **Reusability** - The same query config can be used with both
`useQuery()` in components and `queryClient.fetchQuery()` for imperative
fetching
3. **Consistency** - Aligns with TanStack Query's official
recommendations
4. **Simplicity** - Removes the need for custom generic wrapper hooks

## Test plan

- [ ] Verify the ThirdPartyAuthForm component works correctly with the
new pattern
- [ ] Check that the Cursor rule provides clear guidance for writing new
queries

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

## Summary by CodeRabbit

## Release Notes

* **Documentation**
* Updated query pattern documentation with revised implementation
guidance.

* **Refactor**
* Updated third-party authentication integrations data fetching
mechanism.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 21:46:12 +00:00
Ali Waseem 11d4da6c4b feat: added new filter bar as feature preview (#42458)
## 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?

Move away from our feature flag service and expose this to users through
the feature preview. Once approved will create discussion and link to
this and the new queue operations

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added a new table filter bar option to the feature preview settings,
allowing users to test and enable the updated table filtering interface.

* **Chores**
* Refactored feature flag infrastructure to improve table filter bar
configuration management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 14:25:32 -07:00
Ali Waseem 48d894243f fix: update loading state for filter bars (#42457)
## 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?

Update loading state for filter bars when using the new experience

## Demo


https://github.com/user-attachments/assets/a243a6b2-2060-47b3-9c6c-6e9f7ceb1eb7


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

* **New Features**
* Added a loading indicator in the filter UI that displays a spinning
icon when data is being refetched.
* Header now surfaces refetching state to the filter controls so the
loading indicator appears during refreshes.
* Filter bar supports a customizable icon prop to enable the new loading
overlay behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 14:20:53 -07:00
Ali WaseemandAlaister Young 1696262088 Feat: Insert and delete rows for batch operations on table editor (#42288)
## 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?

Completion of batch edits on the table editor

## Demo


https://github.com/user-attachments/assets/ab5a7112-3dcc-456a-a5fc-1c9a99fccf34







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

* **New Features**
* Queued add/edit/delete operations with optimistic UI, conflict
resolution, and queue-based flows
  * Side-panel items showing queued add/delete row previews

* **UI**
* Pending-add placeholders plus a visible "DEFAULT" marker in grid cells
* Visual row states: green for pending adds, red with strike-through for
pending deletes
* Queue-based deletes can bypass confirmation when queue mode is enabled

* **Tests**
* Expanded tests covering queue conflict resolution and queue utilities
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2026-02-04 11:15:55 -07:00
Ivan VasilovandClaude Opus 4.5 473619bece fix: Fix a "webhook not found" error when editing a web hook (#42428)
## Summary

This PR fixes an issue when updating an existing webhook. I've also
migrated the Webhooks form from Formik to React Hook Form, following the
patterns established in `CreateCronJobSheet`.

## Test Plan

- [x] Type check passes
- [x] Create webhook with all fields
- [x] Edit existing webhook
- [x] Validate form errors (missing fields, invalid URL, etc.)
- [x] Dirty state shows confirmation on close
- [x] Edge function mode switches correctly
- [x] Auth header auto-adds for JWT-enabled functions

---

See CONTRIBUTING.md for more information.

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

## Summary by CodeRabbit

## Release Notes

* **Refactor**
* Improved webhook editing form interface with enhanced validation and
cleaner layout
* Reorganized HTTP request configuration, parameter management, and
header fields for better usability
* Streamlined form structure for configuring webhook details, including
method, timeout, and event selection

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:53:52 -07:00
Ali Waseem e1f37312d2 fix: Keyboard interactions with the new filter experience in the table editor (#42431)
## 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?

Fix: 
- Better keyboard support for cycling through filters
- Better deletion for dropdowns 
- Tabbing and enter support for selection
- small bug fixes

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
  * Added AI-assisted help text in filter input placeholders
* Enhanced keyboard navigation: Backspace removes conditions, Tab/Enter
navigate filter controls, Escape blurs focused elements
* Operator selections now display labels alongside symbols (e.g.,
"Equals (=)")
  * Improved filter workflow with smarter input focus transitions

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 09:51:39 -07:00
4b388b7bf7 docs: update js sdk docs (v2.94.1) (#42454)
Updates JS sdk documentation following stable release. 
Ran `make` in apps/docs/spec to regenerate tsdoc files.

**Details:**
- **Version:** `v2.94.1`
- **Source:** `manual`
- **Changes:** Regenerated tsdoc files from latest spec files

🤖 Auto-generated from @supabase/supabase-js stable release.

---------

Co-authored-by: mandarini <6603745+mandarini@users.noreply.github.com>
Co-authored-by: Katerina Skroumpelou <sk.katherine@gmail.com>
2026-02-04 18:39:59 +02:00
Terry Sutton 3f828ff8f5 Move pricing page to app router (#42425)
Move the /pricing/ page to the app router

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

* **New Features**
* Added a dedicated pricing page with pricing plans, interactive cost
calculators, add-ons options, and plan comparison tools.

* **Updates**
* Enhanced pricing components with performance improvements and
streamlined navigation handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 13:08:23 -03:30
Kalleby Santos fba1944625 chore: add "Kalleby Santos" to humans.txt (#42444)
Adding my self to `humans.txt` 💚

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

## Summary by CodeRabbit

* **Documentation**
  * Added a new entry to the public list.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 09:39:02 -03:30
Matt Rossman bebf26ed01 chore(studio): bump @supabase/mcp-server-supabase to 0.6.3 (#42433)
Bumps `@supabase/mcp-server-supabase` from 0.6.2 to 0.6.3

Closes AI-416

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

## Summary by CodeRabbit

* **Chores**
  * Updated dependencies to maintain compatibility and stability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 07:31:40 -05:00
Jordi Enric b5976c0b51 o11y overview update 1 (#42430)
- adds disk IO 
- removes error rate (its in the first row in the second section anyway)

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added Disk IO metric card to monitor disk input/output performance in
real-time.

* **Changes**
* Removed Error Rate metric from database infrastructure monitoring
dashboard.
  * Renamed "Disk" metric to "Disk Usage" for improved clarity.
  * Enhanced disk metrics with refined measurements and calculations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 12:28:14 +01:00
Copple 21e9126fbf blog: bknd (#42411)
Summary
- add the new "BKND joins Supabase" blog post describing Dennis Senn
building a Lite experience for agentic workloads
- include new og and thumb imagery for the post to cover
social/thumbnail needs
- clarify the lightweight effort and future direction while keeping BKND
open source

Testing
- Not run (not requested)

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

* **Documentation**
* Published a new blog post announcing Dennis Senn joining Supabase to
develop a "Lite" offering for agentic workloads. Describes proposed
features: sandbox-friendly experience, optimized database architectures
for agentic use cases, smaller/cheaper database options, and planned
open-source availability with a separate repo and an integration
timeline.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 11:42:05 +01:00
Francesco Sansalvadore 4b7367b004 fix(studio): org project card z-index (#42424)
## What kind of change does this PR introduce?

Fix project card z index issue.

## What is the current behavior?

<img width="718" height="573" alt="Screenshot 2026-02-03 at 18 32 40"
src="https://github.com/user-attachments/assets/565e397d-6cfb-4d66-8b79-7cf21019fc4f"
/>

## What is the new behavior?

<img width="344" height="405" alt="Screenshot 2026-02-03 at 18 32 22"
src="https://github.com/user-attachments/assets/6969e581-dc44-42c0-b144-216be66b33f1"
/>

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

## Summary by CodeRabbit

* **Refactor**
* Updated project card component structure and styling for improved
layout consistency.
  * Enhanced project status display presentation on project cards.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 10:32:25 +00:00
Hieu dac2ff0aaa feat: display FGA permission groups with OR logic (#42438)
## 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?

Update API reference docs to properly render FGA permission groups,
showing the OR relationship between permission sets.

## What is the current behavior?

Right now, only the first FGA permission group is shown, missing
alternative permission sets that also grant access to an endpoint.

## What is the new behavior?

Display all FGA permission groups with "or" separator between them.

<img width="542" height="165" alt="Screenshot 2026-02-04 at 1 16 23 PM"
src="https://github.com/user-attachments/assets/adee529d-e15d-4912-98c4-1c5a8cd4c9d7"
/>



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

## Summary by CodeRabbit

**Documentation**
- Improved the API reference documentation by reorganizing how endpoint
permissions are displayed. Permissions are now grouped with clear "or"
separators between groups, making it easier to understand the complete
set of permission requirements for each API endpoint.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 20:25:32 +11:00
Jordi Enric f237b7bf2e refactor new homepage usage (#42394)
- uses old data source for charts
- uses new chart styles
- adapts the chart tooltip to be configurable
- removes animations from tooltip to prevent weird position transitions
- hides tooltip when there's no data

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

* **Improvements**
* Project usage now shows log-based statistics and filled time-series
for request trends.
* UI simplified to display total requests per service; error/warning
counts removed from main view.
  * Functions service removed from usage list.
* Chart tooltips hide zero-value series when enabled and support
configurable series labeling.
* **Chores**
  * Telemetry adjusted to make error count optional when not available.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 09:43:01 +01:00
Kevin Grüneberg ed01625828 feat: code redemption in billing settings (#42377)
Adds a new code redemption button for the new credit system. Feature
Flag toggled off on production for the time being.
2026-02-04 12:28:54 +05:30
Kevin Grüneberg 4c9e5cf5b9 chore: change primary button for resumes (#42436)
Currently seems to be leading to accidental upgrades+support tickets, so
we are making the resume project the primary button instead of the
upgrade
2026-02-04 10:55:55 +05:30
Han Qiao 3bf3750020 fix: update description for working directory (#42434)
## What kind of change does this PR introduce?

Bug fix https://github.com/supabase/cli/issues/4793

## What is the new behavior?

Updates config description to be less confusing.

## Additional context

Add any other context or screenshots.


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

## Summary by CodeRabbit

* **Style**
* Updated field labels in GitHub integration settings for
clarity—renamed "Supabase directory" to "Working directory" with revised
description text.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 03:51:35 +00:00
supabase-cli-releaser[bot] 81749e057a chore: update cli reference doc (#42404)
Co-authored-by: supabase-cli-releaser[bot] <246109035+supabase-cli-releaser[bot]@users.noreply.github.com>
2026-02-04 13:13:08 +11:00
Firas El Rachidi 87b5f0085c Add "Firas El Rachidi" to humans.txt (#42421)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES/NO

## What kind of change does this PR introduce?

Bug fix, feature, docs update, ...

## What is the current behavior?

Please link any relevant issues here.

## What is the new behavior?

Feel free to include screenshots if it includes visual changes.

## Additional context

Add any other context or screenshots.


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

## Summary by CodeRabbit

* **Documentation**
  * Updated team roster in public documentation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 13:12:41 +11:00
Saxon FletcherandJoshen Lim 0e60c5f341 Chore/connect sheet/button (#42367)
This is the first smaller PR in the broader change of updating our
Connect dialog (see
[here](https://github.com/supabase/supabase/pull/42276)).

This PR focuses on decoupling the ConnectButton our of the Connect
dialog and into its own component . The button includes a flag to render
the new sheet. The new sheet is empty for the time being as the flag is
at 0%.

To test:
- Enable flag and click button, see new Sheet
- Disable and see old dialog
- Create a new project -> in getting started section see "connect to
app" step -> Click connect button and make sure it works


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

* **New Features**
  - Added a Connect button component and an alternative Connect sheet.
  - Added curl syntax highlighting for code blocks.

* **Changes**
- Connection dialog moved to a controlled open-state pattern; Connect
replaced legacy entry points across the UI and can be feature-flagged.
- Connection actions simplified and no longer depend on framework
selection.

* **Removals**
- Removed legacy framework selector, default framework constant, and
related tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-04 11:53:32 +11:00
Saxon FletcherandJoshen Lim cf24eab382 Introduce connection details in home (#42400)
<img width="855" height="482" alt="image"
src="https://github.com/user-attachments/assets/9f4451aa-2ed6-461a-88b2-933385eecda9"
/>

<img width="887" height="573" alt="image"
src="https://github.com/user-attachments/assets/a8686a38-f25b-4e1d-960a-70331b75f251"
/>

This introduces database url under project title which reveals summary
to connection details that then reveals full connect dialog if needed.
Increases exposure to connection info which we know some people struggle
to find.

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

* **New Features**
* Added a project connection hover card showing Data API (project URL,
publishable key) and Database connection string with copyable, read-only
fields, loading/permission states, and a "Get connected" action to open
connection setup.

* **UI Improvements**
* Integrated the connection hover card into the top section; reorganized
title and badge layout for clearer hierarchy and adjacent controls.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-04 10:29:35 +10:00
Cemal KılıçandTimothy Lim 0e549e9ee5 chore: strip prefix in hookSecret, update docs and related examples (#39799)
Updated hookSecret to remove 'v1,whsec_' prefix to have the consistency
in the docs

---------

Co-authored-by: Timothy Lim <tim.lim@supabase.io>
2026-02-03 21:03:19 +00:00
HieuandChris Chinchilla e96efe695f feat: show required permissions in mgmt api docs (#41151)
## 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?

Show required FGA permissions for each route in the management API docs.

Permissions are pulled from the `fga_permissions` security field in the
OpenAPI spec.

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

* **New Features**
* API reference docs now extract and display fine-grained access-control
permissions per endpoint. When present, a dedicated block lists required
permissions with a clear header explaining the token requirements.
* The permissions block appears alongside existing OAuth scope
information and only shows for endpoints that declare such permissions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-02-03 20:56:45 +00:00
Copple aaa268da24 Reduce changelog discussion page size (#42426)
Summary
- clamp the changelog discussion fetch to 10 items per page so
pagination doesn’t load excessive data
- keep prior sorting and pagination metadata intact while requesting
fewer discussions

Testing
- Not run (not requested)

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

## Summary by CodeRabbit

* **Chores**
* Adjusted changelog page loading behavior to improve performance by
fetching smaller data batches per request.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 15:08:46 -03:30
Ali Waseem b279601d09 fix: AI filter re-render by seperating URL logic syncing and local state (#42396)
## 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?

For the new AI filters we should take a totally different approach.
Rather than using the URL as the source of truth, it should rather act
as a secondary state store. The first being local state in Snap that
gets loaded from the URL. By forcing this clear line we can always make
sure the URL is backed up with the right values and ensure state is
updated quickly.

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

* **New Features**
* Toggleable next‑gen filter bar with lifecycle that initializes and
syncs filters to the URL.
* Centralized filter API in table state for setting, clearing, and
sharing filters across components.

* **Improvements**
* Grid queries are project‑scoped, use placeholder previous data, and
reapply optimistic updates on refresh.
* Added MS SQL sorting warning and feature‑flag controls for
queue/operation behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Testing
- Make sure the old filters still work as expected
- Enable the new Headers, test out new filters approach (count is still
broken FYI, will fix that later)
2026-02-03 17:34:22 +00:00
Ivan Vasilov 5de2564df2 chore: Revert the bump of next package (#42420)
This PR reverts the bump of `next` from `16.0.11` to `16.1.6` because it
broke the self-hosted build (it got stuck and timeouts after 45 minutes)

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

## Summary by CodeRabbit

* **Chores**
  * Adjusted the Next.js runtime for the Studio app to ~16.0.0.
  * No other dependencies, scripts, or app behavior were changed.
* No public-facing API or exported declarations were added, removed, or
modified — low impact on end-user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 17:11:42 +00:00
supabase-supabase-autofixer[bot]andsupabase-releaser[bot] f580b4014b docs: update js sdk docs (2.94.0) (#42414)
Updates JS sdk documentation following stable release. 
Ran `make` in apps/docs/spec to regenerate tsdoc files.

**Details:**
- **Version:** `2.94.0`
- **Source:** `supabase-js-stable-release`
- **Changes:** Regenerated tsdoc files from latest spec files

🤖 Auto-generated from @supabase/supabase-js stable release.

Co-authored-by: supabase-releaser[bot] <223506987+supabase-releaser[bot]@users.noreply.github.com>
2026-02-03 18:01:31 +02:00
Ali Waseem 05953ee494 feat: added CMD + Enter for action form (#42320)
## 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?

Feature: on the table editor for side panel, add a CMD + Enter to submit
the form quickly. This can be used for editing rows, adding rows,
columns etc.

Respects multi lines in text areas 

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

## Summary by CodeRabbit

* **New Features**
* Added keyboard shortcut support for quicker saving and applying of
changes in table editors, enhancing data entry workflows
* Action buttons now display visual keyboard command hints to guide
users toward available shortcuts for faster operations
* Enhanced save behavior with improved context awareness, intelligently
handling different input types and respecting multi-line text area
inputs

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 07:52:48 -07:00
Ivan Vasilov d7626c9830 chore: Bump vulnerable dependencies (#42416)
This PR fixes:
- https://github.com/supabase/supabase/security/dependabot/2721
- https://github.com/supabase/supabase/security/dependabot/2699
- https://github.com/supabase/supabase/security/dependabot/2704
- https://github.com/supabase/supabase/security/dependabot/2701
- https://github.com/supabase/supabase/security/dependabot/2708
- https://github.com/supabase/supabase/security/dependabot/2709
- https://github.com/supabase/supabase/security/dependabot/2732
- https://github.com/supabase/supabase/security/dependabot/2733
- https://github.com/supabase/supabase/security/dependabot/2750
- https://github.com/supabase/supabase/security/dependabot/2751

It also dedupes `mermaid` and `sharp` deps.

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

* **Chores**
* Updated image-processing dependency to a newer patch release for
stability.
* Upgraded framework runtime to a minor release for improvements and bug
fixes.
  * Adjusted workspace dependency override for a transitive package.
* Added a development build tool dependency to the web app for improved
tooling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 15:23:30 +01:00
Raminder SinghandBo Lu cab9c82f2c chore: replace MySQL with MSSQL (#42110)
Co-authored-by: Bo Lu <burmecia@users.noreply.github.com>
2026-02-03 11:26:29 +00:00
Jordi Enric 022b510269 fix: centralize compute disk limits data and update documentation (#41242)
https://linear.app/supabase/issue/FE-2226/fix-incorrect-baseline-and-max-iopsthroughput-values

- Centralized compute/disk limits in
packages/shared-data/compute-disk-limits.ts (MB/s, baseline+max
IOPS/throughput) and re-exported from shared-data.
- Hooked Docs compute/disk table into shared data, converted docs
text/table to MB/s baseline/max.
- Removed duplicated compute IOPS/throughput constants from Studio,
Studio now imports shared data.
- Updated Studio disk schema: compute-aware MAX IOPS/throughput
validation (MB/s), defaults computeSize to ci_micro, and gp3/io2 checks
use compute caps.
- Clarified disk update mutation to send throughput as MB/s despite
backend throughput_mbps field name.
- Added tests for compute-size mappings and IOPS helper logic.
- Added Infra ownership for shared compute/disk data in CODEOWNERS.
- Locked zod version via catalog and added zod dep to shared-data.

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

* **New Features**
* Added a reusable Compute Disk Limits table and centralized compute
disk limits dataset for dynamic display.

* **Documentation**
* Replaced static per-size tables with a component-driven MB/s view;
clarified baseline vs. burst behavior and updated guides and
troubleshooting.

* **Bug Fixes**
* Validation and UI guidance now honor compute-size limits for IOPS and
throughput.

* **Tests**
  * Expanded unit tests for sizing, mappings, and edge cases.

* **Chores**
* Published shared-data exports, added a validation schema, pinned a
dependency, and added ownership entries.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 10:52:42 +00:00
Joshen LimandAli Waseem f0fbcbd2a3 Add preflight EXPLAIN check to table editor rows (#42321)
## Context

Part of an investigation to see how we can make the dashboard more
resilient for large databases by ensuring that the dashboard never
becomes the reason for taking down the database accidentally.

Am proposing that for interfaces that rely heavily on queries to the
database for data to render, we add preflight checks to ensure that we
never run queries that exceed a certain cost threshold (and also have UI
handlers to communicate this) - this can be done by running an EXPLAIN
query before running the actual query, and if the cost from the EXPLAIN
exceeds a specified threshold, the UI throws an error then and skips
calling the actual query.

## Demo
Am piloting this with the Table Editor, and got an example here in which
my table has 500K+ rows, and I'm trying to sort on an unindexed column:


https://github.com/user-attachments/assets/ccad2ea9-d62c-4106-8295-2a6df5941474

With this UX, the pros are that
- It's relatively seamless and not too invasive, most users won't notice
this unless they run into this specific scenario
- We can incrementally apply this to other parts of the dashboard, next
will probably be Auth Users for example

However there are some considerations:
- The additional EXPLAIN query adds a bit more latency to the query
since its a separate API request to the query endpoint
- ^ On a similar note, it will hammer the API a bit more, which may
result in higher probability of 429s
- However, I reckon that the preflight checks are meant to be used
sparingly and only for certain parts of the dashboard that we believe
may cause high load.
- e.g for the Table Editor, reckon we only need this for fetching rows?
The count query is largely optimized already (although we could just add
a preflight check there too)
- It's just meant to be a safeguard to prevent running heavy queries on
the database



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

* **New Features**
* Query preflight with cost checks and a user-facing high-cost dialog
showing cost details and remediation suggestions.
* Grid exposes an explicit error flag and surfaces richer error
metadata.

* **Bug Fixes**
* Standardized error handling and more consistent error displays across
the app.
* Explain analysis now reports an additional max-cost metric for
queries.

* **UI**
* Tweaked empty-state interaction/layout and slightly wider header
delete control.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2026-02-03 17:55:54 +08:00
Pamela Chia ef84dddc22 feat(telemetry): track home page and getting started exposure (#42247)
## Summary

Adds exposure tracking for the HomeV2 experiment and the Getting Started
section. These events help measure user engagement with the new home
page experience and track how many users see the Getting Started
onboarding flow.

Resolves
[GROWTH-602](https://linear.app/supabase/issue/GROWTH-602/track-home-page-and-getting-started-exposure-events)

## Changes

- Add `home_new_experiment_exposed` event that fires when users see the
HomeV2 experiment (captures which variant they're assigned)
- Add `home_getting_started_section_exposed` event that fires when the
Getting Started section is displayed (captures current workflow state)
- Define corresponding TypeScript interfaces in telemetry-constants.ts
- Both events use `useRef` to ensure they only fire once per component
mount

## Testing

Tested locally and on staging that events fire to posthog.

**Quick test:**
1. Navigate to a project home page with the `homeNew` flag enabled
2. Verify `home_new_experiment_exposed` event fires in PostHog with the
correct variant
3. For projects < 10 days old, verify
`home_getting_started_section_exposed` fires when the section is visible
4. Confirm events don't fire for dismissed sections or mature projects

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

* **New Features**
* Added exposure tracking for home experiment variants and the Getting
Started section to surface which experience users see.

* **Chores**
* Standardized and consolidated analytics calls to improve reliability
of interaction tracking.
* Enhanced event payloads to capture workflow choices, step
interactions, and dismissals for better product insights.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 08:27:04 +00:00
Joshen Lim 6ffc3fc94c chore(studio): Replication UI updates for new replica CTA + URL query state handling (#42378)
## Context

Related to unifying read replicas into database replication page which
is currently in internal testing

## Changes involved

- Updates the "New replica" CTA in `DatabaseSelector` (e.g within the
SQL Editor) to link to the replication page instead of settings
infrastructure
- Refactor replication UI to use URL query states for new destination +
edit destination

## To test

- [ ] Verify that the "New replica" CTA links correctly to replication
page if flag is on
- [ ] Verify that new + edit destination UI works as expected
- Note that there's some server side validation for ETL replication now
so might be tricky to test creating an actual ETL replication
- Minimally can test creating a read replica and ensure that the UI
behaviour is all as expected

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

* **New Features**
* Added unified replication experience with URL-based state management
for destination creation and editing

* **Refactor**
* Simplified replication panel component interfaces and consolidated
destination data fetching logic
* Enhanced edit flows to leverage URL parameters for seamless navigation

* **Chores**
  * Marked legacy read replica creation panel as deprecated
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 15:54:21 +08:00
Joshen Lim 8233902aef chore(studio): Edge functions secrets trim secret value for single value (#42382)
## Context

Addresses a small footgun where copying and paste a single value with
new lines and hitting save in the edge function secrets page will also
save the new lines in the secret name.

Fix is just adding a trim

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

## Summary by CodeRabbit

* **Chores**
* Internal code organization and refactoring improvements to enhance
codebase maintainability and consistency across the Functions module.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 15:04:35 +08:00
Joshen Lim 85aa76ba0a Add readme for SQL Editor overview (#42167)
## Context

Just adding some documentation to the more complex parts of the
dashboard in hopes to ease working on these parts for those who aren't
familiar

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

* **Bug Fixes**
* Folder creation and updates in the SQL Editor now properly sync to the
backend with API calls, success notifications, and improved error
handling.
* Snippet save/upsert behavior updated: saves run via API with
optimistic handling and debounced execution; default automatic refresh
after save has been reduced to avoid unnecessary invalidations.

* **Documentation**
* Added a comprehensive SQL Editor guide covering UI, data flow, snippet
management, and improvement notes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 15:01:56 +08:00
Ana b45ab11174 Update JWT Signing Keys self-hosted availability to false (#42390) 2026-02-02 23:47:39 -05:00
Ana e189075514 Remove duplicate Read documentation link from Read Replicas feature (#42370) 2026-02-02 23:45:44 -05:00
Joshen Lim 99434629e0 Update copywriting for database replication if flag is on (#42380)
## Context

Related to unifying read replicas into the database replication page

Updates some copywriting on the database replication page if the feature
flag is on

## Before
<img width="768" height="104" alt="image"
src="https://github.com/user-attachments/assets/2f49d5b7-5141-4606-b50c-886a6b62f80e"
/>

<img width="1109" height="209" alt="image"
src="https://github.com/user-attachments/assets/d1c37f8f-2105-49ad-a029-e5d00a81050a"
/>


## After 
<img width="899" height="89" alt="image"
src="https://github.com/user-attachments/assets/ffcbd1de-56ea-4181-937c-29b96c25d7d0"
/>

<img width="1094" height="206" alt="image"
src="https://github.com/user-attachments/assets/9942134c-8bf1-4978-a343-93df4397d044"
/>


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

## Summary by CodeRabbit

* **New Features**
* Replication interface now displays contextual guidance and
descriptions based on your configuration.
* Enhanced messaging for data synchronization and destination
management.

* **UI Improvements**
* Refined layout spacing in the destinations empty state for improved
visual clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 12:20:56 +08:00
Tyler dbbf60aaa1 fix: Bring Vite before create-react-app in connect on the dashboard (#42384)
## 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?

`create-react-app` is deprecated, so this PR brings vite before
`create-react-app` when opening React in the connect dialog.
2026-02-03 12:18:00 +08:00
Pamela Chia b6d8f2ae2d chore: remove tableQuickstart and realtimeButtonVariant experiments (#42388)
## Summary

Removes two concluded A/B experiments that didn't produce positive
results:
- **tableQuickstart**: Tested AI-powered table generation, template
selection, and assistant integration for new table creation
- **realtimeButtonVariant**: Tested hiding the realtime button or
replacing it with a triggers button

## Changes

- Delete `TableQuickstart/` folder with AI widget, templates widget, and
generation hooks
- Delete `useRealtimeExperiment` hook and remove variant-conditional
logic
- Delete `/api/ai/table-quickstart/generate-schemas` endpoint
- Remove telemetry event definitions for both experiments
- Remove local storage exposure tracking key
- Remove API endpoint from proxy whitelist
- Clean up eslint baseline references

## Testing

- [x] Tested locally - Table Editor renders correctly without experiment
widgets
- [x] TypeScript compiles without errors
- [x] No remaining references to removed experiment code

**Quick test:**
1. Navigate to Table Editor → New Tab shows only "Create a table" card
(no AI/Templates/Assistant variants)
2. Open table create panel → Realtime checkbox shows unconditionally
when realtime is enabled

## Linear

fixes GROWTH-609

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

* **Removed Features**
* AI-powered table generation and quickstart assistance (templates, AI
widget, generation hook, templates data, and related utilities)
  * Quickstart templates widget and predefined table templates
  * Database triggers management interface
  * Realtime experiment gating and related experiment variants

* **API & Storage**
  * Hosted AI quickstart API endpoint removed
  * Local storage key for quickstart exposure tracking removed

* **Telemetry**
  * Quickstart- and realtime-experiment telemetry events removed

* **UI Changes**
  * Simplified realtime toggle control in the table editor
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-03 11:55:10 +08:00
Illia BasalaievandIllia Basalaiev 850d4e81c1 Chore: update python client examples (#42334)
## 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?

Please link any relevant issues here.
- Minor grammar fixes
- Delete bulk: countries → characters table name
- Text search: Replaced "fat" with "the", added data sources and
responses for 3 examples
- Or filter: Fixed reponse typo, changed book_id → section_id
- Order modifier: Added missing .execute()
- Link identity: Fixed dict syntax {provider:} → {"provider":}
- Unlink identity: res → response
- List users: Removed trailing comma
- Reauthenticate: updateUser() → update_user()

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

## Summary by CodeRabbit

* **Documentation**
* Enhanced grammar and terminology consistency throughout documentation.
* Improved code examples with standardized formatting, naming
conventions, and accurate references.
* Expanded documentation examples with additional data context and
sample outputs to clarify expected results.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

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

---------

Co-authored-by: Illia Basalaiev <illiab@IMB3.local>
2026-02-02 23:55:21 +00:00
64b2c52d51 docs: added postgrest error codes (#42369)
## 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 new behavior?

Adds PostgREST mirror codes



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

* **Documentation**
* Added a comprehensive PostgREST Error Codes guide covering database-
and API-level errors, HTTP status mappings, JSON examples, SQL query
samples, and log-analysis/debugging tips.
* Updated REST API Guides navigation to include the new Error Codes
documentation link.
* **Style**
* Expanded spelling allow-list to include "Grantor" (case variant) and
"SQL".
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-02-03 10:50:11 +11:00
Stojan DimitrovskiandChris Chinchilla 76305777f9 docs: update saml attribute mapping docs (#41387)
Simple changes to the docs.

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

## Summary by CodeRabbit

* **Documentation**
* Enhanced SAML SSO attribute mapping guide with support for
multi-valued arrays, default values for missing attributes, and multiple
alternative attribute name lookup.
* Clarified identity data storage location and expanded configuration
examples with resulting JWT claims and database representations.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

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

---------

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-02-02 23:43:36 +00:00
Chris Chinchillaandcoderabbitai[bot] b1a453ac0f docs: Update React User Management tutorial (#42379)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES


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

* **Documentation**
* Simplified React getting-started tutorial: concise, action-oriented
steps, inline code replaced by external sample references, removed the
Bonus: Profile photos section, and expanded README guidance and setup
steps.

* **Examples**
* User-management example converted to a user-focused auth flow with
safer unmount handling, adjusted profile/account interactions, and
updated sample references.

* **Chores**
* Upgraded example dependencies and tooling to align with newer React
and ecosystem versions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-02-02 23:40:56 +00:00
Francesco Sansalvadore 6e2842dc86 chore(ui-patterns): reset command menu after selection (#42389) 2026-02-02 21:56:35 +01:00
ferhat elmas efd3f77dd8 chore: add @ferhatelmas into humans (#42392)
## 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?

no issues

## What is the new behavior?

I am included into humans.txt

## Additional context

onboard

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

## Summary by CodeRabbit

* **Chores**
  * Updated the public team list to include a new contributor.

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

Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
2026-02-02 18:09:31 +01:00
AnaandAna Mogul adf7d06de8 Update PrivateLink blog post OG image (#42372)
## 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?
Update OG image for the PrivateLink blog post

## What is the current behavior?
Old OG image

## What is the new behavior?
Updated OG image

## Additional context
Follow-up to #42178 - updating the OG image for the PrivateLink
announcement blog post.

Co-authored-by: Ana Mogul <ana1337x@users.noreply.github.com>
2026-02-02 10:15:59 -05:00