{"slug":"serverless-postgres","name":"Serverless Postgres","description":"Managed Postgres with scale-to-zero and branching for modern stacks.","isFeatured":false,"dailySummaryEnabled":true,"members":[{"kind":"org","slug":"neon","name":"Neon","domain":"neon.tech","avatarUrl":"https://media.releases.sh/orgs/neon.png","githubHandle":"neondatabase","description":null},{"kind":"org","slug":"supabase","name":"Supabase","domain":"supabase.com","avatarUrl":"https://media.releases.sh/orgs/supabase.png","githubHandle":"supabase","description":null},{"kind":"org","slug":"planetscale","name":"PlanetScale","domain":"planetscale.com","avatarUrl":"https://media.releases.sh/orgs/planetscale.png","githubHandle":"planetscale","description":null},{"kind":"org","slug":"turso","name":"Turso","domain":"turso.tech","avatarUrl":"https://media.releases.sh/orgs/turso.png","githubHandle":"tursodatabase","description":null},{"kind":"org","slug":"prisma","name":"Prisma","domain":"prisma.io","avatarUrl":"https://media.releases.sh/orgs/prisma.png","githubHandle":"prisma","description":null}],"orgs":[{"slug":"neon","name":"Neon","domain":"neon.tech","avatarUrl":"https://media.releases.sh/orgs/neon.png","githubHandle":"neondatabase","description":null},{"slug":"supabase","name":"Supabase","domain":"supabase.com","avatarUrl":"https://media.releases.sh/orgs/supabase.png","githubHandle":"supabase","description":null},{"slug":"planetscale","name":"PlanetScale","domain":"planetscale.com","avatarUrl":"https://media.releases.sh/orgs/planetscale.png","githubHandle":"planetscale","description":null},{"slug":"turso","name":"Turso","domain":"turso.tech","avatarUrl":"https://media.releases.sh/orgs/turso.png","githubHandle":"tursodatabase","description":null},{"slug":"prisma","name":"Prisma","domain":"prisma.io","avatarUrl":"https://media.releases.sh/orgs/prisma.png","githubHandle":"prisma","description":null}],"releases":[{"id":"rel_oarGxOL44QIreIxYsXvHU","version":null,"type":"feature","title":"Manage dedicated PgBouncers with Terraform","summary":"The PlanetScale Terraform provider v1.5.0 adds the `planetscale_postgres_bouncer` resource for managing dedicated PgBouncers, including size, target, replica count, and parameter overrides, with drift detection. Data sources for reading existing bouncers are also available.","titleGenerated":"PlanetScale Terraform provider v1.5.0 adds dedicated PgBouncer management","titleShort":"Dedicated PgBouncers manageable via Terraform","importance":3,"content":"The PlanetScale Terraform provider v1.5.0 adds `planetscale_postgres_bouncer`, a Postgres-only resource for managing dedicated PgBouncers. You can set the bouncer's size, target (`primary`, `replica`, or `replica_az_affinity`), replica count, and PgBouncer parameter overrides, and Terraform will detect drift if any of those change outside your configuration.\n\nData sources for reading existing bouncers, `planetscale_postgres_bouncer` and `planetscale_postgres_bouncers`, are also available.\n\n**[Read more in the docs](https://planetscale.com/docs/terraform)**","publishedAt":"2026-07-17T00:00:00.000Z","url":"https://planetscale.com/changelog/terraform-provider-postgres-bouncer","media":[],"prerelease":false,"source":{"slug":"planetscale-changelog","name":"PlanetScale Changelog","type":"scrape"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-changelog","groupName":"PlanetScale Changelog","coverageCount":0,"composition":{"bugs":0,"features":2,"enhancements":0}},{"id":"rel_0CayOgWXvh5RdB_xO0JjV","version":null,"type":"feature","title":"Neon backend beta, a new TypeScript SDK, passkey support, and Git-style CLI diffs release - Jul 17, 2026","summary":"Neon Object Storage, Functions, and AI Gateway are now in beta, and a new TypeScript SDK (@neon/sdk) replaces @neondatabase/api-client as the recommended API client. Passkey sign-in is available, and the CLI adds a git-style diff command alongside config diff output.","titleGenerated":"Neon backend beta, TypeScript SDK, passkey support, and Git-style CLI diffs","titleShort":"Backend beta, TypeScript SDK, passkey support, and CLI diffs","importance":4,"content":"## Jul 17, 2026– Neon backend beta, a new TypeScript SDK, passkey support, and Git-style CLI diffs\n\n## Neon backend for apps and agents is now in beta\n\nNeon **Object Storage**, **Functions**, and **AI Gateway** have graduated from private preview to beta. Everyone can start building a complete backend on new or existing projects in **AWS US East (Ohio)** today.\n\nDeclare your whole backend in one `neon.ts` file, and it branches with your data. Fork a branch and you get an isolated copy of your database, files, functions, and gateway.\n\n- ### Object Storage\n    \n    S3-compatible object storage that branches with your database.\n\n- ### Functions\n    \n    Long-running serverless compute that runs alongside your database.\n\n- ### AI Gateway\n    \n    One API for frontier and open-source models, built into your project.\n\nNew to the Neon backend? Start with the [beta guide](/docs/get-started/backend-beta), see [how the pieces fit together](/docs/get-started/backend-overview), or build one end to end with the [full backend quickstart](/docs/get-started/full-backend-quickstart). For the vision behind the platform, read the [announcement blog post](https://neon.com/blog/neon-backend-is-beta).\n\n#### One-shot your backend with an AI agent\n\nInstall the beta agent skills:\n\n```\nnpx neon@latest init --preview\n```\n\nThen build your backend from a single prompt:\n\n```\nSet up a Neon backend for my app with Postgres, object storage, functions, and AI gateway\n```\n\nYour agent provisions the services, declares them in `neon.ts`, and wires them into your app.\n\n## New TypeScript SDK for the Neon API\n\nWe're introducing [`@neon/sdk`](https://www.npmjs.com/package/@neon/sdk) 1.1, the best way to work with the Neon API from TypeScript. It's fetch-based, zero-dependency, and generated from our OpenAPI spec, with an ergonomic layer on top. It covers the whole **Neon Platform API**: projects, branches, databases, and our new backend services (Object Storage, Functions, and AI Gateway). It replaces [`@neondatabase/api-client`](https://www.npmjs.com/package/@neondatabase/api-client) as the recommended client, though the legacy package still works.\n\nThe ergonomic layer matters most for the multi-step provisioning workflows that might take you or your agent a few attempts to get right (for example, create a project, wait for it to be ready, then create a branch and hand back a connection string). `createNeonClient({ apiKey })` gives you namespaced methods (`neon.projects`, `neon.storage`, `neon.functions`, `neon.aiGateway`, and more), typed `{ data, error }` results, and workflow helpers like `createAndConnect`. Any method takes `{ waitForReadiness: true }` to block until provisioning finishes, and a `raw` layer exposes every endpoint.\n\n```\nnpm install @neon/sdk\n```\n\n```\nimport { createNeonClient } from \"@neon/sdk\";\n\nconst neon = createNeonClient({ apiKey: process.env.NEON_API_KEY! });\n\n// Workflow helper: create, poll until ready, return a connection string\nconst { data, error } = await neon.projects.createAndConnect({ name: \"my-app\" });\nif (error) throw error;\nconst { project, connectionString } = data;\n\n// Or wait on any mutation with waitForReadiness\nconst { data: branch, error: branchError } = await neon.branches.create(\n  project.id,\n  { name: \"preview\" },\n  { waitForReadiness: true }\n);\nif (branchError) throw branchError;\n\n// The new backend services are namespaced too\nawait neon.storage.buckets.create(project.id, branch.id, { name: \"uploads\" });\n```\n\nRead the [announcement blog post](https://neon.com/blog/neon-sdk) for the full story, or see the [TypeScript SDK documentation](/docs/reference/typescript-sdk) and [migration guide](/docs/reference/migrate-api-client-to-sdk) for setup, API reference, and moving from `@neondatabase/api-client`.\n\n## Passkey support\n\nYou can now sign in to Neon with a passkey instead of a 2FA code. Add a passkey from **Account settings** and use your device's built-in biometrics, like Touch ID or Windows Hello, or a security key to verify it's you. Passkeys satisfy organization-level 2FA requirements, so admins can let members enroll in either 2FA or a passkey to comply. See [Manage your Neon account](/docs/manage/accounts#passkeys) for setup steps.\n\n![Sign in to Neon with a passkey](/docs/changelog/neon-passkey.png?dpl=dpl_GbTjgVcUgKcTTK4mq18QJJPBvxBB)\n\n## Git-style diffs in the Neon CLI\n\n### New`neon diff`command\n\nWe've added a top-level `diff` command to the Neon CLI, letting you (and your agents) quickly see schema changes between your current branch and any other branch you specify. It fits into a branch-first development workflow alongside `neon link`, `neon checkout`, `neon status`, and `neon deploy`.\n\n1. `neon link`: link to a Neon project\n2. `neon checkout dev-1`: create/checkout a dev branch\n3. Do the dev work\n4. `neon diff main`: sanity check the schema changes made against main\n\n```\nCREATE TABLE public.orders (\n    id integer NOT NULL,\n    customer_id integer NOT NULL,\n    status text NOT NULL\n    status text NOT NULL, \n    discount_code character varying(20) \n);\n\nCREATE INDEX orders_discount_code_idx ON public.orders USING btree (discount_code); \n```\n\nWant your agents to use `neon diff`? Install the Neon agent skills so your assistant has current knowledge of the CLI and reaches for the command on its own:\n\n```\nnpx neon@latest init\n```\n\n### Config commands now show the same diff\n\n[`neon.ts`](/docs/reference/neon-ts) is the TypeScript config file that declares your Neon backend: which services are on (Postgres, Auth, Data API, Object Storage, Functions) and your branch settings (compute size, TTL, `protected`). The config commands reconcile that file with what's actually live: `neon config plan` previews the changes, `neon config apply` makes them, and `neon deploy` applies and provisions in one step.\n\nThese commands now report their changes as a `git diff` instead of tables so you can see exactly what will change before you confirm:\n\n```\nPlanned changes\n  + Neon Auth\n  + bucket uploads\n  ~ main\n      computeSettings.autoscalingLimitMaxCu  → 4\n      ttl                                    → 2026-07-24T09:49:44.092Z\n```\n\nIf `apply` finds a setting that already differs on the branch, it shows the current value too and stops without changing anything until you re-run with `--update-existing`.\n\n## New NAT gateway IPs and VPC endpoint services in US East (Ohio), Europe (London), and Asia Pacific (Singapore)\n\nWe've expanded infrastructure capacity in the AWS US East (Ohio) (`us-east-2`), Europe (London) (`eu-west-2`), and Asia Pacific (Singapore) (`ap-southeast-1`) regions with new NAT gateway IP addresses and new VPC endpoint service addresses for Private Networking.\n\n#### Update your IP allowlists\n\nIf you have IP allowlists on external systems that Neon connects to, **update those allowlists to include the new NAT gateway addresses**. Connections may be affected intermittently if traffic routes through non-allowlisted NAT gateways.\n\nIf you use Private Networking in these regions, you can now use the additional VPC endpoint service addresses for enhanced capacity and reliability. See the [Regions documentation](/docs/introduction/regions#aws-nat-gateway-ip-addresses) for the complete list of NAT gateway IPs and the [Private Networking guide](/docs/guides/neon-private-networking) for VPC endpoint service addresses by region.","publishedAt":"2026-07-17T00:00:00.000Z","url":"https://neon.com/docs/changelog/2026-07-17","media":[],"prerelease":false,"source":{"slug":"neon-changelog","name":"Neon Changelog","type":"feed"},"org":{"slug":"neon","name":"Neon"},"product":null,"groupSlug":"neon-changelog","groupName":"Neon Changelog","coverageCount":0,"composition":{"bugs":0,"features":4,"enhancements":1}},{"id":"rel_EdOcHy_7qcemsysy5rMQp","version":null,"type":"feature","title":"Running unmodified Doom in the SQLite bytecode language","summary":"An engineering deep-dive on running unmodified Doom in the SQLite bytecode language.","titleGenerated":null,"titleShort":null,"importance":null,"content":"An engineering deep-dive on running unmodified Doom in the SQLite bytecode language.","publishedAt":"2026-07-17T00:00:00.000Z","url":"https://turso.tech/blog#running-unmodified-doom-in-the-sqlite-bytecode-language","media":[{"type":"image","url":"https://turso.tech/images/blog/running-unmodified-doom-in-the-sqlite-bytecode-language/cover.png","r2Key":"releases/486179658f7558acf4465d4d1738c233dee2d5991ac43d160536e98498c57674.png","r2Url":"https://media.releases.sh/releases/486179658f7558acf4465d4d1738c233dee2d5991ac43d160536e98498c57674.png"}],"prerelease":false,"source":{"slug":"turso-blog","name":"Turso Blog","type":"scrape"},"org":{"slug":"turso","name":"Turso"},"product":null,"groupSlug":"turso-blog","groupName":"Turso Blog","coverageCount":0,"composition":null},{"id":"rel_ISvUVASNvJyhHMsIBVjuV","version":"v0.303.0","type":"feature","title":"v0.303.0","summary":"Support for filtering passwords by name and status.","titleGenerated":"PlanetScale CLI v0.303.0 adds password name and status filters","titleShort":"Password name and status filters supported","importance":2,"content":"## Changelog\n* 9adc63e8152e7de446ccd27df2ea85a73e57bc9b Support name and status password filters\n\n","publishedAt":"2026-07-16T20:33:53.000Z","url":"https://github.com/planetscale/cli/releases/tag/v0.303.0","media":[],"prerelease":false,"source":{"slug":"planetscale-cli","name":"PlanetScale CLI","type":"github"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-cli","groupName":"PlanetScale CLI","coverageCount":0,"composition":{"bugs":0,"features":1,"enhancements":0}},{"id":"rel_4no69InMEwqyG6v1RICQe","version":"v0.302.0","type":"feature","title":"v0.302.0","summary":"The D1 import command now captures column CHECK and GENERATED clauses, converts named constraints, fixes DEFAULT-expression conversion with generated/numeric support, and corrects quoting, FK heuristic, and expression-index bugs.","titleGenerated":"PlanetScale CLI v0.302.0 improves D1 import with CHECK, GENERATED, and DEFAULT expression support","titleShort":"D1 import now handles CHECK, GENERATED, and DEFAULT expressions","importance":2,"content":"## Changelog\n* ada77520b4662b39b2a43aad74eab1a878b6e8d4 d1 import: capture column CHECK and GENERATED clauses during parsing\n* 00651507d4e0be978dd0b7db0be9c10bd187497a d1 import: clean up internal comments and simplify a few conversions\n* 1afd039b189ec8e607fcc636a8c652f1d1298a74 d1 import: convert named constraints and fix CHECK/local-column quoting gaps\n* f4a6f0e8f198d0a09b9a9b4aa6b71b925d11ecb7 d1 import: don't quote bare identifiers as columns when they're function calls\n* cd882f4df25d67b34d27671100ea541439aa7678 d1 import: don't treat a COLLATE locale hyphen as an expression operator\n* 5522cb12d07c9f79cf55450acb6c736ac3eb8d52 d1 import: fix DDL syntax error for date('now') style defaults\n* 1bcf0eaca501ff9b78307d7ff9f9fc07d2006143 d1 import: fix DEFAULT-expression conversion and add generated/numeric support\n* 5c936681ec0f9c16a7ae41111456f78741f17e9f d1 import: fix boolean FK heuristic and expression-index misclassification\n* c54de53ac2f33b79a96c96c9a5f4adb432cd402d d1 import: fix constraint and REFERENCES quoting/matching bugs\n* 5062507a48f8262ebea44e697f5834d7535e4c98 d1 import: fix randomblob/UUID DEFAULT type and inference gating bugs\n* eaca84558eb7b7898a8424457b8aa374e2d9e08f d1 import: fix staticcheck failure and expression-index detection gap\n* 0023338d1f0ad17b29788ad9eb12f6cd8c12fe95 d1 import: use a scalar function in the CHECK function-call regression test\n\n","publishedAt":"2026-07-16T19:07:21.000Z","url":"https://github.com/planetscale/cli/releases/tag/v0.302.0","media":[],"prerelease":false,"source":{"slug":"planetscale-cli","name":"PlanetScale CLI","type":"github"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-cli","groupName":"PlanetScale CLI","coverageCount":0,"composition":{"bugs":12,"features":0,"enhancements":0}},{"id":"rel_LCxQ54GC7Pb3MXpiFEyfy","version":"v0.301.0","type":"feature","title":"v0.301.0","summary":"Updated pagination for password and branch listing commands.","titleGenerated":"PlanetScale CLI v0.301.0 updates password and branch pagination","titleShort":"Password and branch pagination updated","importance":1,"content":"## Changelog\n* d02a69482bfd20dc4303d0bd53c689791b1c2fe7 Fix gofmt import order in role list test\n* 9e9a238114ec2cc3a050db2efe67c466f882e6be Update password/branch pagination\n* 44179ba9b5dd24a91ab2c27ce885a7e8e30aae5d lint\n\n","publishedAt":"2026-07-16T14:08:20.000Z","url":"https://github.com/planetscale/cli/releases/tag/v0.301.0","media":[],"prerelease":false,"source":{"slug":"planetscale-cli","name":"PlanetScale CLI","type":"github"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-cli","groupName":"PlanetScale CLI","coverageCount":0,"composition":{"bugs":0,"features":0,"enhancements":1}},{"id":"rel_Mxp_XFLhpDr1jNCOO6eDV","version":"v2.110.7","type":"feature","title":"v2.110.7","summary":"Fixed a realtime presence issue via an updated Phoenix dependency, corrected auth initialization on the INITIAL_SESSION event, and fixed a self-reference inference bug in PostgREST.","titleGenerated":"Supabase Client SDK v2.110.7 fixes realtime presence and auth initialization","titleShort":"Realtime presence fix; auth init on INITIAL_SESSION","importance":2,"content":"## 2.110.7 (2026-07-16)\n\n### 🩹 Fixes\n\n- **postgrest:** correct self-reference inference ([#2525](https://github.com/supabase/supabase-js/pull/2525))\n- **realtime:** trigger set auth on INITIAL_SESSION event ([#2531](https://github.com/supabase/supabase-js/pull/2531))\n- **realtime:** update phoenix to fix presence issue ([#2532](https://github.com/supabase/supabase-js/pull/2532))\n\n### ❤️ Thank You\n\n- Eduardo Gurgel\n- Filipe Cabaço @filipecabaco\n- Vaibhav @7ttp","publishedAt":"2026-07-16T12:32:04.000Z","url":"https://github.com/supabase/supabase-js/releases/tag/v2.110.7","media":[],"prerelease":false,"source":{"slug":"supabase-js","name":"Supabase JS","type":"github"},"org":{"slug":"supabase","name":"Supabase"},"product":{"slug":"supabase-client","name":"Client SDK"},"groupSlug":"supabase-client","groupName":"Client SDK","coverageCount":0,"composition":{"bugs":3,"features":0,"enhancements":0}},{"id":"rel_YZ7sfx2mDwv9HDvePpJej","version":null,"type":"feature","title":"Unified Logs is now in open beta","summary":"Unified Logs in open beta brings logs from every service (API gateway, Postgres, Auth, Storage, PostgREST, Realtime, connection poolers) into one searchable view with live tail, histogram timeline, and request-level detail panels.","titleGenerated":"Supabase Unified Logs enters open beta with cross-service search","titleShort":"Unified Logs open beta: one searchable view across all services","importance":3,"content":"Today Unified Logs enters open beta. It brings logs from every service in your project into one searchable view: the API gateway, Postgres, Auth, Storage, PostgREST, Realtime, and the connection poolers.\n\nBefore this, debugging a single request meant jumping between separate log pages. You checked the API gateway logs, then Postgres logs, then Auth logs, each with its own filters and its own tab. Correlating a request across services was slow, and by the time you found the right page the context was gone.\n\nUnified Logs puts all of that in one place.\n\n## One stream across your services\n\nOpen Logs in the dashboard and you see every event as it happens, newest first. Each row shows the timestamp, the service, the method, the path, and the status. One row might be an API request, the next a Postgres connection, the next an Auth event, all in the same table.\n\nThe sidebar lets you narrow the stream by log type. Turn off Storage and Realtime to focus on Postgres. Turn everything back on to see the full picture. The counts next to each type update as you filter, so you know how much traffic each service is producing.\n\n## Filter and search\n\nThe filter bar at the top understands the shape of your logs. Filter by log type, level, status, method, or pathname, and combine those filters however you need. You can also run a free-text search across the event message to find a specific request.\n\nFilters live in the URL, so you can share a link to exactly what you are looking at with a teammate.\n\n## Live tail\n\nClick Live to stream new events into the table as they arrive. This is the fastest way to watch a deploy, reproduce a bug, or confirm that traffic is reaching the right service. Stop the stream at any point to inspect what you have without new rows pushing it down.\n\n## A timeline you can read\n\nThe histogram above the table shows log volume over your selected time range, colored by level so errors and warnings stand out from successful requests. A spike in red tells you where to look. Select a range on the timeline to zoom into that window.\n\n## Follow a request through every service\n\nClick a row to open the detail panel. Instead of a wall of JSON, you see the request as it moved through your project: the network timing, the gateway, the database query, the Auth check. Each service adds its own block with the fields that matter. The raw JSON is still there in a second tab when you need it.\n\n## Send logs anywhere\n\nUnified Logs is for debugging inside the dashboard. When you want to keep logs long term or pull them into your own observability tooling, set up a [Log Drain](https://supabase.com/docs/guides/platform/log-drains) and forward events to the destination of your choice.\n\n## Try it\n\nUnified Logs is rolling out to all projects during open beta. Open the Logs section of your project to start using it. If you want the previous experience back, the \"Go back to old logs\" button switches you to the classic Logs Explorer at any time.\n\nThis is a beta, and we want your feedback. Tell us what is missing, what is slow, and what you want to filter on next.","publishedAt":"2026-07-16T07:00:00.000Z","url":"https://supabase.com/blog/unified-logs-open-beta","media":[],"prerelease":false,"source":{"slug":"supabase-changelog","name":"Supabase Changelog","type":"feed"},"org":{"slug":"supabase","name":"Supabase"},"product":null,"groupSlug":"supabase-changelog","groupName":"Supabase Changelog","coverageCount":0,"composition":{"bugs":0,"features":1,"enhancements":0}},{"id":"rel_Blf-YPMXP4RaUELeu2uzq","version":null,"type":"feature","title":"Filter roles and passwords with the pscale CLI","summary":"pscale role list and pscale password list now accept --name (substring match) and --status (active, renewable, expired) filters.","titleGenerated":"PlanetScale CLI adds name and status filters for roles and passwords","titleShort":"Role and password lists now filterable by name, status","importance":2,"content":"The `pscale role list` command for Postgres and `pscale password list` for Vitess now support `--name` and `--status` filters. Name filters use substring matching. Status filters narrow results to active, renewable, or expired credentials.\n\n**[Read about role commands](https://planetscale.com/docs/cli/role)** and **[password commands](https://planetscale.com/docs/cli/password)**.","publishedAt":"2026-07-16T00:00:00.000Z","url":"https://planetscale.com/changelog/pscale-role-password-filters","media":[],"prerelease":false,"source":{"slug":"planetscale-changelog","name":"PlanetScale Changelog","type":"scrape"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-changelog","groupName":"PlanetScale Changelog","coverageCount":0,"composition":{"bugs":0,"features":2,"enhancements":0}},{"id":"rel_17N5sDE_sPn36kh6LZpTW","version":null,"type":"feature","title":"Updates to deploy request approvals","summary":"Schema changes now automatically dismiss deploy request approvals, with planetscale-bot commenting on the changes. Approved deploy requests in the queue are removed and must be re-queued.","titleGenerated":"PlanetScale auto-dismisses deploy request approvals on schema changes","titleShort":"Deploy request approvals auto-dismiss on schema changes","importance":4,"content":"Updates to schema changes now automatically dismiss deploy request approvals. This ensures that only changes your team reviewed can make it to production.\n\nWhen this happens, `planetscale-bot` will comment on the deploy request with the list of changes since the approval. If the deploy request was already in the deploy queue, it will be removed and need to be queued again.\n\n**[Read more](https://planetscale.com/docs/vitess/schema-changes/deploy-requests#approvals-dismissed-on-schema-changes)**","publishedAt":"2026-07-16T00:00:00.000Z","url":"https://planetscale.com/changelog/updates-to-deploy-request-approvals","media":[],"prerelease":false,"source":{"slug":"planetscale-changelog","name":"PlanetScale Changelog","type":"scrape"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-changelog","groupName":"PlanetScale Changelog","coverageCount":0,"composition":{"bugs":0,"features":2,"enhancements":0}},{"id":"rel_toOzi8NOPS-pNPUR9L1ht","version":null,"type":"feature","title":"We're building Postgres in Rust. Using the LLVM of databases","summary":"Product update announcing Turso's work on building a modern Postgres implementation in Rust, leveraging cutting-edge database architecture approaches.","titleGenerated":null,"titleShort":null,"importance":null,"content":"Product update announcing Turso's work on building a modern Postgres implementation in Rust, leveraging cutting-edge database architecture approaches.","publishedAt":"2026-07-16T00:00:00.000Z","url":"https://turso.tech/blog#we-re-building-postgres-in-rust-using-the-llvm-of-databases","media":[{"type":"image","url":"https://turso.tech/images/blog/a-new-modern-version-of-postgres-in-rust/cover.png","r2Key":"releases/d68d051eb398caa6ee7ba0b20ceb91ee1cfdb188867bc35f151d53ebf0adee10.png","r2Url":"https://media.releases.sh/releases/d68d051eb398caa6ee7ba0b20ceb91ee1cfdb188867bc35f151d53ebf0adee10.png"}],"prerelease":false,"source":{"slug":"turso-blog","name":"Turso Blog","type":"scrape"},"org":{"slug":"turso","name":"Turso"},"product":null,"groupSlug":"turso-blog","groupName":"Turso Blog","coverageCount":0,"composition":null},{"id":"rel_gAf3V3PW9s-TlrRsvOiTC","version":"v1.0.30","type":"feature","title":"v1.0.30","summary":"## Changelog\n* aa933412446a34a49375c7d79738c74e5815bfd7 make org JWKS template endpoint a POST request\n* 58dc6303284c426b7ca6e59d2d490769375de46e make...","titleGenerated":null,"titleShort":null,"importance":null,"content":"## Changelog\n* aa933412446a34a49375c7d79738c74e5815bfd7 make org JWKS template endpoint a POST request\n* 58dc6303284c426b7ca6e59d2d490769375de46e make org JWKS template endpoint a POST request (#1054)\n\n","publishedAt":"2026-07-15T16:25:18.000Z","url":"https://github.com/tursodatabase/turso-cli/releases/tag/v1.0.30","media":[],"prerelease":false,"source":{"slug":"turso-cli","name":"Turso CLI","type":"github"},"org":{"slug":"turso","name":"Turso"},"product":null,"groupSlug":"turso-cli","groupName":"Turso CLI","coverageCount":0,"composition":null},{"id":"rel_S42Vn6h9iLRsq7Hd4Y2-K","version":"v2.110.6","type":"feature","title":"v2.110.6","summary":"Postgrest self-referencing embeds are now correctly typed as arrays, realtime track() forwards opts to send(), and unrecognized sb_ API key subtypes now warn instead of throwing.","titleGenerated":"Supabase JS Client SDK v2.110.6 fixes self-referencing embed types and realtime opts","titleShort":"Self-referencing embed type hints fixed; realtime track() now forwards opts","importance":2,"content":"## 2.110.6 (2026-07-15)\n\n### 🩹 Fixes\n\n- **postgrest:** type hinted self-referencing embeds as arrays ([#2520](https://github.com/supabase/supabase-js/pull/2520))\n- **realtime:** forward opts to send() in track() ([#2490](https://github.com/supabase/supabase-js/pull/2490))\n- **supabase:** warn instead of throw for unrecognized sb_ API key subtypes ([#2526](https://github.com/supabase/supabase-js/pull/2526))\n\n### ❤️ Thank You\n\n- Franco Kaddour @FrancoKaddour\n- Katerina Skroumpelou @mandarini","publishedAt":"2026-07-15T13:50:50.000Z","url":"https://github.com/supabase/supabase-js/releases/tag/v2.110.6","media":[],"prerelease":false,"source":{"slug":"supabase-js","name":"Supabase JS","type":"github"},"org":{"slug":"supabase","name":"Supabase"},"product":{"slug":"supabase-client","name":"Client SDK"},"groupSlug":"supabase-client","groupName":"Client SDK","coverageCount":0,"composition":{"bugs":2,"features":0,"enhancements":1}},{"id":"rel_WlOw5J5poMxxB_V_h9RPk","version":null,"type":"feature","title":"Test out the Neon backend: Object Storage, Functions, and AI Gateway are beta","summary":"Neon has expanded beyond serverless Postgres into a full backend platform, launching Object Storage, Functions, and AI Gateway in beta. Object Storage provides S3-compatible storage that branches with your data, Functions offers long-running Node.js 24 HTTP handlers deployed next to your database, and AI Gateway gives one credential and endpoint for seven model providers backed by Databricks. All three are available to all users with no access request, free during beta, and can be deployed via a single neon.ts file.","titleGenerated":"Neon launches backend suite beta: Object Storage, Functions, and AI Gateway","titleShort":"Object Storage, Functions, and AI Gateway now beta","importance":4,"content":"# Test out the Neon backend: Object Storage, Functions, and AI Gateway are beta\n\nOur platform is expanding\n\n![Neon backend products now in beta](https://cdn.neonapi.io/public/images/pages/blog/neon-backend-is-beta/neon-backend-beta.jpg)\n\n**Storage, Functions, and AI Gateway are now in beta and available to all users: object storage that branches with your data, long-running compute that lives next to your database, and one API with one bill for seven model providers backed by Databricks. Let your agent deploy a full Neon backend by declaring it in a single `neon.ts` file and running `neon deploy`.**\n\n[In June, we announced we were building a suite of backend tools around the database](https://neon.com/blog/were-building-backends) — tools that agents also need to deploy full backends autonomously. After scaling and refining them in private preview, we're ready to open them up as beta for everyone to try!\n\n## Why we're building backends\n\n[Back in 2022](https://neon.com/blog/architecture-decisions-in-neon), we made an architectural bet on Postgres: separate compute from storage, and rebuild storage to make database environments lightweight and branchable. We were responding to what developers needed at the time — a database that matched the level of speed and automation they were finding in all their other tooling. But it turned out that architecture wasn't just good for fast-moving developers: [it was also exactly what agents needed](https://www.linkedin.com/posts/nikitashamgunov_heres-the-story-on-how-we-accidentally-created-activity-7242909460304699393-6mr2/). Serverless economics for infrastructure that never sleeps, and disposability for workflows that spin up and tear down environments dozens of times a day.\n\nA database is the central piece of the backend, but not the whole picture. When your coding agent builds an app for you, it deploys a database — and then it needs somewhere to store file uploads, it adds a webhook to notify users when that file's processed, calls an LLM to summarize the upload, and so on. We've been working with companies using and building agents since the start, and we've realized this experience improves exponentially if all tools work within the same platform as the database — if the entire backend understands the same semantics and shares branching and scale to zero. Agents deploy better apps this way, the developer behind the agent wins in convenience, and new features are unlocked along the way.\n\nThis is the concept of \"backend\" we're building — not a set of products bundled together but a suite with the database as its center and where everything runs close to each other and tightly integrated.\n\n## New on Neon: Storage, Compute, AI Gateway (beta)\n\nWhen you [sign up to Neon](https://console.neon.tech/signup) you now get access to a full backend, not just a database:\n\n- [**Managed Better Auth**](https://neon.com/docs/auth/overview): Authentication built on Better Auth, running on your branch.\n- [**Storage**](https://neon.com/docs/storage/overview) **[NEW]**: S3-compatible object storage that branches with your data.\n- [**Functions**](https://neon.com/docs/compute/functions/overview) **[NEW]**: Long-running functions deployed next to your database.\n- [**AI Gateway**](https://neon.com/docs/ai-gateway/overview) **[NEW]**: One credential, one bill, seven model providers built for scale.\n\n#### What beta means\n\n- You can sign up and use the new products directly, no access request needed (also on the free plan*)\n- Available on all projects now, not just new ones\n- Currently limited to us-east-2, with more regions rolling out progressively\n- Usage is free of charge during beta, with rate and usage guardrails in place to prevent abuse\n- Pricing isn't public yet; we'll publish it before GA\n\n*AI gateway is an exception: only available in paid plans by now, as we expand capacity.\n\n### Neon Storage: files that branch with your data\n\n[Neon Storage](https://neon.com/docs/storage/overview) is S3-compatible object storage that lives on your Neon branch. Buckets are declared in `neon.ts` and branch with your database via copy-on-write. When you create a branch, you get an isolated snapshot of your files alongside your data, with nothing duplicated. It scales to zero like the rest of Neon — no idle cost for buckets you're not using.\n\n**How is this useful:** when you branch your database to create its own environment for tests, development, versioning, and so on, your files now branch with it — you get the entire state vs pointing to a static file in S3. No more test environments that share the same bucket as production, no more code to keep a separate S3 path in sync with a branch. Delete the branch, and the files also go with it — nothing to clean up by hand.\n\n### Neon Functions: long-running compute living next to your database\n\n[Neon Functions](https://neon.com/docs/compute/functions/overview) are long-running Node.js 24 HTTP handlers deployed onto a branch, with DATABASE_URL and all required credentials to use other Neon services injected automatically.\n\n**Why are they useful:** having your functions live on the same stack as the database removes a whole class of glue code — e.g. when you branch your database to create its own environment for tests, development, versioning, and so on, your backend compute branches with it too. The way we built Functions also avoids timeouts for agents and long-running workloads.\n\n[Check out the Get Started docs for all the info.](https://neon.com/docs/compute/functions/get-started)\n\n#### On observability during beta\n\n[Monitoring and logging](https://neon.com/docs/reference/metrics-logs) are available for Object Storage and Functions during beta, with a 3-day retention period on log data.\n\n### Neon AI Gateway: One API, seven model providers\n\n[Neon AI Gateway](https://neon.com/docs/ai-gateway/overview) is built on Databricks AI infrastructure, giving you one credential and one endpoint for Anthropic, OpenAI, Gemini, Grok, Meta, and more models scoped to your branch. A single endpoint covers every model, while native routes preserve provider-specific features like extended thinking and prompt caching.\n\n**Why is this useful:** instead of setting up separate accounts, keys, and billing for every lab, you get one credential and one bill for all of them. You're running on the Databricks infrastructure that's already serving more than 145 trillion tokens a month, and because it's part of the same platform as your database, everything branches the same way — e.g. AI calls from a preview branch stay isolated from production without any extra setup.\n\n[Check out the Get Started docs for all the info.](https://neon.com/docs/ai-gateway/get-started)\n\n## Try the Neon platform\n\nOur Postgres database stays at the core, but we're expanding into a platform — building the suite of services that agents need to build apps autonomously and at scale. You can try the full backend for free: deploy it via `neon.ts` and `neon deploy` ([see the neon.ts guide](https://neon.com/blog/introducing-neon-ts)) and tell us about your experience [on Discord](https://discord.com/invite/MXNy77qBf4).\n\n---\n\n## FAQ\n\n### What is the \"Neon backend\"?\n\nNeon is expanding from serverless Postgres into a full suite of products: Postgres database, Managed Better Auth, Object Storage, Functions, and AI Gateway. We're building these to support the experience of agents: when an agent builds an app, we want it to deploy a full backend on Neon, not just a database — with every piece sharing the same branching, scale-to-zero, and disposability semantics Neon already gives you for Postgres.\n\n### Why is Neon building a backend?\n\nA database alone isn't enough for how apps get built today. When a coding agent builds an app, it doesn't just need a database — it also needs a bunch of other services that interact with it. If the agent wires those up as separate services, the backend never reaches its full potential: those services don't share Neon's serverless nature, its branchability, its speed, and so on. We're building our own backend, running close to the database, to give the coding agent (and the developer behind it) the full experience we want them to have.\n\n### Is Neon abandoning Postgres or becoming a different kind of company?\n\nNo. Postgres stays at the center of everything Neon does and the database is still our core product. Managed Better Auth, Object Storage, Functions, and AI Gateway are tools that run alongside the database and share its architecture. They don't replace or de-prioritize Postgres.\n\n### Does the Neon backend replace tools like Vercel or Netlify?\n\nNo. Neon doesn't host frontends, static sites, or full apps. Vercel and Netlify remain the right place for that.\n\n### Does the Neon backend replace tools like S3 or a model provider's API directly?\n\nFor the parts that touch your database, yes:\n\n- Object Storage is a drop-in alternative to wiring up an external S3 bucket by hand, with the main advantage being that it branches with your data.\n- AI Gateway is a drop-in alternative to calling multiple labs' APIs separately, with the main advantage being that you get one credential and one bill instead of managing several.\n\n### Are Object Storage, Functions, and AI Gateway ready to use in production?\n\nThese tools just achieved beta, meaning that they are not yet feature-complete. They're usable and we encourage trying them, but several service-level guardrails (rate limits, usage limits, full monitoring) are still being finalized. If you're evaluating them for a production workload, expect to hit gaps and please tell us about them. We're opening beta specifically to get real usage and feedback before locking things down.\n\n### Which projects and regions have access during beta?\n\nAll Neon projects in the us-east-2 region only. More regions will roll out progressively after beta.\n\n### Which plans have access?\n\nObject Storage and Functions are available on all plans, including Free. AI Gateway is available on Launch and Scale plans only (paid plans), with no difference in AI Gateway pricing or model access between the two.\n\n### Does using these products cost anything during beta?\n\nNo. Usage is free of charge for all three products during beta, but we've put rate and usage guardrails in place to prevent abuse. Public pricing will be announced before GA.\n\n### Does Neon mark up model provider prices on AI Gateway?\n\nNo. Neon will charge the same per-token rate as the underlying model provider. We won't add any margin on top of published provider prices for supported models.","publishedAt":"2026-07-15T12:00:00.000Z","url":"https://neon.com/blog/neon-backend-is-beta","media":[{"type":"image","url":"https://cdn.neonapi.io/public/images/pages/blog/neon-backend-is-beta/neon-backend-beta.jpg","alt":"Neon backend products now in beta","r2Key":"releases/b4f22e75d7d4ece2651acccb25ca67bbe4b83167f740a51c2c72fa0aae385d8c.jpg","r2Url":"https://media.releases.sh/releases/b4f22e75d7d4ece2651acccb25ca67bbe4b83167f740a51c2c72fa0aae385d8c.jpg"}],"prerelease":false,"source":{"slug":"neon-blog","name":"Neon Blog","type":"feed"},"org":{"slug":"neon","name":"Neon"},"product":null,"groupSlug":"neon-blog","groupName":"Neon Blog","coverageCount":0,"composition":{"bugs":0,"features":3,"enhancements":0}},{"id":"rel_BISvOcj2vHPCO8pETXLYS","version":null,"type":"feature","title":"Graph any available query metric in Insights","summary":"Query Insights pages now include a graph tab for plotting time series of metrics like CPU, I/O, rows read, and block cache hit ratio. Clickable sparklines in the query table navigate directly to the corresponding detail page with the metric preselected.","titleGenerated":"PlanetScale adds full-size metric graphs to Query Insights","titleShort":"Query Insights now graphs any metric; sparklines go to detail","importance":3,"content":"Query Insights pages now include a new graph tab that lets you plot a time series of any of the available query metrics. Pick a metric from the tab's dropdown — total, CPU, and I/O time, rows read and returned, block cache hit ratio, bytes returned, and more — and see it as a full-size graph over the selected time range.\n\n![Selecting a query metric to graph in Query Insights](https://planetscale-images.imgix.net/assets/insights-graph-any-metric-DWJtB3Xp.png?auto=compress%2Cformat)\n\nSparklines in the query table are now clickable, too: clicking one takes you directly to that query pattern's detail page with the corresponding metric already selected. This makes it easy to go from an overview of every query your database is running to a detailed view of a single one for further investigation.\n\nRead more about query insights for [Postgres](https://planetscale.com/docs/postgres/monitoring/query-insights) or [Vitess](https://planetscale.com/docs/vitess/monitoring/query-insights).","publishedAt":"2026-07-15T00:00:00.000Z","url":"https://planetscale.com/changelog/insights-graph-any-metric","media":[{"type":"image","url":"https://planetscale-images.imgix.net/assets/insights-graph-any-metric-DWJtB3Xp.png?auto=compress%2Cformat","r2Key":"releases/77cfdc71dcb1e997d56601cc565b111ea5f4e700c06b9377de2a0b2fd23ff314.jpg","r2Url":"https://media.releases.sh/releases/77cfdc71dcb1e997d56601cc565b111ea5f4e700c06b9377de2a0b2fd23ff314.jpg"}],"prerelease":false,"source":{"slug":"planetscale-changelog","name":"PlanetScale Changelog","type":"scrape"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-changelog","groupName":"PlanetScale Changelog","coverageCount":0,"composition":{"bugs":0,"features":1,"enhancements":1}},{"id":"rel_8HJlFaqoMO9dpIPZ3lvnU","version":null,"type":"feature","title":"Building a Retrieval Pipeline with Turso and Voyage AI","summary":"Tutorial on building a retrieval pipeline using Turso and Voyage AI.","titleGenerated":null,"titleShort":null,"importance":null,"content":"Tutorial on building a retrieval pipeline using Turso and Voyage AI.","publishedAt":"2026-07-15T00:00:00.000Z","url":"https://turso.tech/blog#building-a-retrieval-pipeline-with-turso-and-voyage-ai","media":[{"type":"image","url":"https://turso.tech/images/blog/building-a-retrieval-pipeline-with-turso-and-voyage-ai/cover.png","r2Key":"releases/129ad85ca95eee3ba0cda6c3937bd4342f78fcefce3c8ed8f53da1745ea4de6d.png","r2Url":"https://media.releases.sh/releases/129ad85ca95eee3ba0cda6c3937bd4342f78fcefce3c8ed8f53da1745ea4de6d.png"}],"prerelease":false,"source":{"slug":"turso-blog","name":"Turso Blog","type":"scrape"},"org":{"slug":"turso","name":"Turso"},"product":null,"groupSlug":"turso-blog","groupName":"Turso Blog","coverageCount":0,"composition":null},{"id":"rel_0lFqRoLzUkltktv2gHOU0","version":"v2.110.5","type":"feature","title":"v2.110.5","summary":"Avoided an edge runtime warning in the Supabase client.","titleGenerated":"Supabase Client SDK v2.110.5 avoids edge runtime warning","titleShort":"Edge runtime warning suppressed","importance":2,"content":"## 2.110.5 (2026-07-14)\n\n### 🩹 Fixes\n\n- **supabase:** avoid edge runtime warning ([#2522](https://github.com/supabase/supabase-js/pull/2522))\n\n### ❤️ Thank You\n\n- Vaibhav @7ttp","publishedAt":"2026-07-14T11:56:41.000Z","url":"https://github.com/supabase/supabase-js/releases/tag/v2.110.5","media":[],"prerelease":false,"source":{"slug":"supabase-js","name":"Supabase JS","type":"github"},"org":{"slug":"supabase","name":"Supabase"},"product":{"slug":"supabase-client","name":"Client SDK"},"groupSlug":"supabase-client","groupName":"Client SDK","coverageCount":0,"composition":{"bugs":1,"features":0,"enhancements":0}},{"id":"rel_Band_jSf-ox2aJ7ye1uHp","version":"v2.110.4","type":"feature","title":"v2.110.4","summary":"Functions no longer send the API key in the Authorization header, and broadcast header fields are now encoded as UTF-8.","titleGenerated":"Supabase JS Client SDK v2.110.4 stops sending API key in function calls","titleShort":"API key no longer sent in function Authorization header; UTF-8 broadcast headers","importance":2,"content":"## 2.110.4 (2026-07-14)\n\n### 🩹 Fixes\n\n- **functions:** stop sending API key in Authorization header for function calls ([#2511](https://github.com/supabase/supabase-js/pull/2511))\n- **realtime:** encode broadcast header fields as UTF-8 ([#2516](https://github.com/supabase/supabase-js/pull/2516))\n\n### ❤️ Thank You\n\n- Katerina Skroumpelou @mandarini\n- Pedro Henrique","publishedAt":"2026-07-14T07:15:33.000Z","url":"https://github.com/supabase/supabase-js/releases/tag/v2.110.4","media":[],"prerelease":false,"source":{"slug":"supabase-js","name":"Supabase JS","type":"github"},"org":{"slug":"supabase","name":"Supabase"},"product":{"slug":"supabase-client","name":"Client SDK"},"groupSlug":"supabase-client","groupName":"Client SDK","coverageCount":0,"composition":{"bugs":2,"features":0,"enhancements":0}},{"id":"rel_XHDmZjX2cJdHDBURe7VLc","version":"v0.300.0","type":"feature","title":"v0.300.0","summary":"Fixed darwin/amd64 binaries aborting on macOS 26, and improved role reassign invalid ID guidance. Vendored the API client from planetscale-go into internal/planetscale.","titleGenerated":"PlanetScale CLI v0.300.0 fixes darwin/amd64 abort on macOS 26","titleShort":"darwin/amd64 abort on macOS 26 fixed","importance":2,"content":"## Changelog\n* 3b582551bbfb73436beeaf01e44b1a05c043fe23 Add test guarding against reintroducing planetscale-go\n* 1eb0099eefc3299095f3612e27b491237f0cf582 Add workflow mirroring the client back to planetscale-go\n* 7ada02e074b4b947fb28247d5915e65178b37e0c Document the vendored API client for agents and contributors.\n* 5838b9c423bee2ca109986b591c839be38e71598 Fetch tags in planetscale-go checkout so gorelease finds its base\n* 0d1f4ede674c4f83d3a93c7b3327243948fdf5c5 Fix import grouping after the client import path rewrite (go fmt).\n* 97b128d45b67e1ad54134c200b58987186e2df34 Improve role reassign invalid ID guidance\n* f616b4f9779912b2b75da0dca8d507566736dab6 Keep internal API endpoints out of the planetscale-go mirror\n* cc14ba6bfa717604f764a44218adb7129cf45e76 Merge branch 'main' into remove-planetscale-go-dependancy\n* adee0bda79d043ac162f1ab5590f478f630a939e Merge main: global-keyspace move-tables works against the vendored client\n* 320acc190ea0b437630da366c5fc03dfa282383d Merge origin/main (postgres role with-replication) into the vendored-client branch.\n* fe792c991725f30d144727ce7e35b01beb2e3633 Merge remote branch (main merged, includes d1 sqlite3 fix)\n* 89bc30a50af5d17323c057f68db6ba08fd46b359 Promote go-humanize to a direct dependency (used by branch infra output).\n* f96daec48a78d88aefe1db009364e7d00e37b542 Remove temporary push trigger now that the sync workflow is verified\n* c21deca346de766971ba4ba5feb5c9b9f52830e7 Rename mirror workflow and script to sync-planetscale-go\n* a973291f89fe648e7ee759b03cd4a8d3efda3286 Restore upstream client.go so the vendored copy is byte-identical\n* 2c893ad839c131768a4f804522e0a6a25006dd52 Retrigger CI.\n* b8364d8ae627da5ff53a7fc2c9045ccdb85424b3 Run mirror job in the release environment for app credentials\n* 81724b66b3c82e9970c364957473cf51c058212b Skip deployment records for the sync job's environment use\n* 9c2f6d1e36ace1c6dcfe0518d354304895ffa82f Sync the vendored client to planetscale-go v0.176.0.\n* a453e9dda80be1a379cc249e4bf8c3dcb83fe467 Sync the vendored client to planetscale-go v0.178.0 and merge main.\n* 63882ee2b7f481b16c1c33882f05000e9738d3c6 Temporarily trigger mirror workflow on branch push for testing\n* 821ffa1e2059249c68596abd84c091670fe6c054 Use the CLI GitHub App for mirror auth\n* 281fa922d04407edc762f2381786635c69d3e885 Vendor the API client from planetscale-go into internal/planetscale.\n* 45158e548724c1741c2b66ed781e59d5d46a00a5 fix(release): darwin/amd64 binaries abort on macOS 26\n\n","publishedAt":"2026-07-14T01:06:45.000Z","url":"https://github.com/planetscale/cli/releases/tag/v0.300.0","media":[],"prerelease":false,"source":{"slug":"planetscale-cli","name":"PlanetScale CLI","type":"github"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-cli","groupName":"PlanetScale CLI","coverageCount":0,"composition":{"bugs":1,"features":0,"enhancements":1}},{"id":"rel__t7dUE5zgTKZqc0izEQKS","version":null,"type":"feature","title":"i8ge Metal instances are now available","summary":"New i8ge instance class for Postgres Metal databases offers locally-attached NVMe drives from 1.25 TB on M-160 to 60 TB on M-7680, available in eight AWS regions.","titleGenerated":"PlanetScale launches i8ge Metal instances with larger local NVMe storage","titleShort":"i8ge Metal instances ship with up to 60 TB NVMe","importance":3,"content":"We have added a new instance class for Postgres Metal databases: `i8ge`. These are our most storage-dense Metal instances yet, pairing each size with a much larger locally-attached NVMe drive: from 1.25 TB on an M-160 all the way up to 60 TB on an M-7680.\n\ni8ge-backed sizes are available in every size from M-160 to M-7680 in the following AWS regions:\n\n- AWS ap-northeast-1 (Tokyo)\n- AWS ap-south-1 (Mumbai)\n- AWS ap-southeast-1 (Singapore)\n- AWS ap-southeast-2 (Sydney)\n- AWS eu-central-1 (Frankfurt)\n- AWS eu-west-1 (Dublin)\n- AWS us-east-2 (Ohio)\n- AWS us-west-2 (Oregon)\n\nYou can select an i8ge cluster size when creating a database or resizing an existing Metal database from the cluster configuration page.\n\nLearn more about PlanetScale Metal:\n\n- [Metal documentation](https://planetscale.com/docs/metal)\n- [Metal pricing](https://planetscale.com/pricing)","publishedAt":"2026-07-14T00:00:00.000Z","url":"https://planetscale.com/changelog/i8ge-metal-instances","media":[],"prerelease":false,"source":{"slug":"planetscale-changelog","name":"PlanetScale Changelog","type":"scrape"},"org":{"slug":"planetscale","name":"PlanetScale"},"product":null,"groupSlug":"planetscale-changelog","groupName":"PlanetScale Changelog","coverageCount":0,"composition":{"bugs":0,"features":1,"enhancements":0}}],"pagination":{"nextCursor":"2026-07-14T00:00:00.000Z|2026-07-15T01:02:24.524Z|rel__t7dUE5zgTKZqc0izEQKS","limit":20}}