From 593e95345a1437ef74b7ad30ab2d6263d8da0b43 Mon Sep 17 00:00:00 2001 From: Lukas Bernert Date: Thu, 17 Sep 2026 11:22:07 +0100 Subject: [PATCH] www: update compute size descriptions (Compute column, vCPU units) (#49998) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## What kind of change does this PR introduce? www update: aligns compute descriptions on the pricing surfaces with the current compute options. Counterpart to the docs update in #49996. Fixes PROD-654 ## What is the new behavior? - Pricing compute table: the CPU and Dedicated columns are merged into a single Compute column — "Shared compute" for Micro–Medium, "Dedicated · N vCPUs" for Large and above (the `dedicated` key is removed from `PricingAddOnTable.json`) - Pricing calculator: the instance summary line uses the new Compute value directly - Pricing compute section headline: "64 cores" → "64 vCPUs" - `/pricing.md`, `/llms-full.txt`, `/llms/pricing.txt`: generated markdown mirrors the new table - `/database.md`: describes the compute range as Micro to 16XL+ ## Summary by CodeRabbit - **Pricing Updates** - Compute pricing tables now label the column “Compute” and show shared compute or dedicated vCPU counts. - Removed the separate “Dedicated” column from compute add-on tables. - Dedicated-plan values now display consistently across desktop and mobile layouts. - Compute instance details no longer repeat the “CPU” label after the CPU value. - Updated scaling language to refer to “64 vCPUs.” - Simplified technical details by removing specific core-count examples while retaining configurable sizing and autoscaling information. --- .../Pricing/ComputePricingCalculator.tsx | 2 +- .../Pricing/ComputePricingTable.tsx | 22 ++----------- .../Pricing/PricingComputeSection.tsx | 2 +- apps/www/content/md/database.md | 2 +- apps/www/data/PricingAddOnTable.json | 33 +++++++------------ apps/www/lib/llms.ts | 28 ++-------------- 6 files changed, 20 insertions(+), 69 deletions(-) diff --git a/apps/www/components/Pricing/ComputePricingCalculator.tsx b/apps/www/components/Pricing/ComputePricingCalculator.tsx index 99c4cc43370..eb0352c8831 100644 --- a/apps/www/components/Pricing/ComputePricingCalculator.tsx +++ b/apps/www/components/Pricing/ComputePricingCalculator.tsx @@ -209,7 +209,7 @@ const ComputePricingCalculator = ({
{findInstanceValueByColumn(activeInstance, 'memory')} RAM /{' '} - {findInstanceValueByColumn(activeInstance, 'cpu')} CPU / Connections: Direct{' '} + {findInstanceValueByColumn(activeInstance, 'cpu')} / Connections: Direct{' '} {findInstanceValueByColumn(activeInstance, 'directConnections')}, Pooler{' '} {findInstanceValueByColumn(activeInstance, 'poolerConnections')} diff --git a/apps/www/components/Pricing/ComputePricingTable.tsx b/apps/www/components/Pricing/ComputePricingTable.tsx index b3bff5f1dec..f7a41c265be 100644 --- a/apps/www/components/Pricing/ComputePricingTable.tsx +++ b/apps/www/components/Pricing/ComputePricingTable.tsx @@ -1,9 +1,7 @@ +import pricingAddOn from '~/data/PricingAddOnTable.json' import Link from 'next/link' import { Fragment, useMemo } from 'react' - import { cn } from 'ui' -import pricingAddOn from '~/data/PricingAddOnTable.json' -import { IconPricingIncludedCheck, IconPricingMinus } from './PricingIcons' const ComputePricingTable = () => { const columnNames = useMemo( @@ -50,13 +48,7 @@ const ComputePricingTable = () => { className="p-3" translate={column.key === 'pricing' ? 'no' : undefined} > - {column.key === 'dedicated' ? ( - column.value ? ( - - ) : ( - - ) - ) : column.url ? ( + {column.url ? ( { column.key === 'plan' ? 'text-brand pt-16 lg:pt-3' : '' }`} > - {column.key === 'dedicated' ? ( - column.value ? ( - - ) : ( - - ) - ) : ( - column.value - )} + {column.value} ))} diff --git a/apps/www/components/Pricing/PricingComputeSection.tsx b/apps/www/components/Pricing/PricingComputeSection.tsx index 9a1ec88d130..1cbb1da6d03 100644 --- a/apps/www/components/Pricing/PricingComputeSection.tsx +++ b/apps/www/components/Pricing/PricingComputeSection.tsx @@ -124,7 +124,7 @@ const PricingComputeSection = () => {

Scale compute up to -
64 cores and 256 GB RAM +
64 vCPUs and 256 GB RAM

diff --git a/apps/www/content/md/database.md b/apps/www/content/md/database.md index bbb74e7d910..9d79bf17c96 100644 --- a/apps/www/content/md/database.md +++ b/apps/www/content/md/database.md @@ -25,7 +25,7 @@ Supabase Database gives you a full Postgres database with no compromises. It is - Connection: direct Postgres connections (connection string), connection pooling via PgBouncer (Supavisor) - Client libraries: JavaScript, Python, Dart (Flutter), Swift, Kotlin, C# - Backups: automatic daily backups, Point-in-Time Recovery available as add-on -- Compute: configurable from Micro (2-core ARM) to 16XL+ (64-core ARM and above), with autoscaling options +- Compute: configurable from Micro to 16XL+, with autoscaling options ## Links diff --git a/apps/www/data/PricingAddOnTable.json b/apps/www/data/PricingAddOnTable.json index 80b5e3befbb..c97065bf51b 100644 --- a/apps/www/data/PricingAddOnTable.json +++ b/apps/www/data/PricingAddOnTable.json @@ -12,8 +12,7 @@ "columns": [ { "key": "plan", "title": "Compute Size", "value": "Micro" }, { "key": "pricing", "title": "Price USD", "value": "$10" }, - { "key": "cpu", "title": "CPU", "value": "2-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": false }, + { "key": "cpu", "title": "Compute", "value": "Shared compute" }, { "key": "memory", "title": "Memory", "value": "1 GB" }, { "key": "directConnections", @@ -31,8 +30,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "Small" }, { "key": "pricing", "title": "Price USD", "value": "$15" }, - { "key": "cpu", "title": "CPU", "value": "2-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": false }, + { "key": "cpu", "title": "Compute", "value": "Shared compute" }, { "key": "memory", "title": "Memory", "value": "2 GB" }, { "key": "directConnections", @@ -50,8 +48,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "Medium" }, { "key": "pricing", "title": "Price USD", "value": "$60" }, - { "key": "cpu", "title": "CPU", "value": "2-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": false }, + { "key": "cpu", "title": "Compute", "value": "Shared compute" }, { "key": "memory", "title": "Memory", "value": "4 GB" }, { "key": "directConnections", @@ -69,8 +66,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "Large" }, { "key": "pricing", "title": "Price USD", "value": "$110" }, - { "key": "cpu", "title": "CPU", "value": "2-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 2 vCPUs" }, { "key": "memory", "title": "Memory", "value": "8 GB" }, { "key": "directConnections", @@ -88,8 +84,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "XL" }, { "key": "pricing", "title": "Price USD", "value": "$210" }, - { "key": "cpu", "title": "CPU", "value": "4-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 4 vCPUs" }, { "key": "memory", "title": "Memory", "value": "16 GB" }, { "key": "directConnections", @@ -107,8 +102,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "2XL" }, { "key": "pricing", "title": "Price USD", "value": "$410" }, - { "key": "cpu", "title": "CPU", "value": "8-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 8 vCPUs" }, { "key": "memory", "title": "Memory", "value": "32 GB" }, { "key": "directConnections", @@ -126,8 +120,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "4XL" }, { "key": "pricing", "title": "Price USD", "value": "$960" }, - { "key": "cpu", "title": "CPU", "value": "16-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 16 vCPUs" }, { "key": "memory", "title": "Memory", "value": "64 GB" }, { "key": "directConnections", @@ -145,8 +138,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "8XL" }, { "key": "pricing", "title": "Price USD", "value": "$1,870" }, - { "key": "cpu", "title": "CPU", "value": "32-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 32 vCPUs" }, { "key": "memory", "title": "Memory", "value": "128 GB" }, { "key": "directConnections", @@ -164,8 +156,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "12XL" }, { "key": "pricing", "title": "Price USD", "value": "$2,800" }, - { "key": "cpu", "title": "CPU", "value": "48-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 48 vCPUs" }, { "key": "memory", "title": "Memory", "value": "192 GB" }, { "key": "directConnections", @@ -183,8 +174,7 @@ "columns": [ { "key": "plan", "title": "Plan", "value": "16XL" }, { "key": "pricing", "title": "Price USD", "value": "$3,730" }, - { "key": "cpu", "title": "CPU", "value": "64-core ARM" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Dedicated · 64 vCPUs" }, { "key": "memory", "title": "Memory", "value": "256 GB" }, { "key": "directConnections", @@ -207,8 +197,7 @@ "value": "Contact Us", "url": "/dashboard/support/new?category=sales&subject=Enquiry%20about%20larger%20instance%20sizes" }, - { "key": "cpu", "title": "CPU", "value": "Custom" }, - { "key": "dedicated", "title": "Dedicated", "value": true }, + { "key": "cpu", "title": "Compute", "value": "Custom" }, { "key": "memory", "title": "Memory", "value": "Custom" }, { "key": "directConnections", diff --git a/apps/www/lib/llms.ts b/apps/www/lib/llms.ts index 4e43b2d9185..2075d338632 100644 --- a/apps/www/lib/llms.ts +++ b/apps/www/lib/llms.ts @@ -74,32 +74,10 @@ function buildPlanTiersSection(): string { function buildComputeSection(): string { const rows = addOnTable.database.rows - const headers = [ - 'Size', - '$/month', - 'CPU', - 'Dedicated', - 'RAM', - 'Direct Connections', - 'Pooler Connections', - ] - const keys = [ - 'plan', - 'pricing', - 'cpu', - 'dedicated', - 'memory', - 'directConnections', - 'poolerConnections', - ] + const headers = ['Size', '$/month', 'Compute', 'RAM', 'Direct Connections', 'Pooler Connections'] + const keys = ['plan', 'pricing', 'cpu', 'memory', 'directConnections', 'poolerConnections'] - const dataRows = rows.map((row) => - keys.map((key) => { - const val = getColumnValue(row, key) - if (key === 'dedicated') return val ? 'Yes' : 'No' - return String(val) - }) - ) + const dataRows = rows.map((row) => keys.map((key) => String(getColumnValue(row, key)))) const widths = headers.map((h, i) => Math.max(h.length, ...dataRows.map((r) => r[i].length)))