releases.shpreview
Neon/Neon Changelog

Neon Changelog

Mon
Wed
Fri
JunJulAugSepOctNovDecJanFebMarAprMay
Less
More
Releases14Avg4/mo

May 29, 2026– Neon is building the backend for apps and agents, and more

Neon is building the backend for apps and agents

We're excited to announce that Neon is building a complete backend for apps and agents. Three new services are joining the platform, each built around the same instant, branchable, serverless model as Postgres:

  • Postgres — ✅ Available
  • Neon Auth — ✅ Available
  • Data API — ✅ Available
  • Object Storage — 🔜 Coming Soon
  • Compute — 🔜 Coming Soon
  • AI Gateway — 🔜 Coming Soon

Storage is an S3-compatible object storage service that branches with your database, keeping data and storage in sync across every branch. Compute is serverless compute deployed alongside your database. The AI Gateway covers model routing, logging, and cost controls for AI workloads, built on the same infrastructure that handles 125 trillion tokens per month on Databricks.

Read the full announcement and sign up for early access to be among the first to try each service as it becomes available.

Schema Diff now supports larger schemas

The schema line limit for branch comparisons has been raised from 8,000 to 20,000 lines, unblocking diffs on larger production schemas that were previously hitting the ceiling.

If you're not familiar with schema diff: Neon lets you compare the SQL schemas of any two branches side by side. It's useful for reviewing migrations before merging, auditing schema drift between environments, or checking what changed before a branch restore. You can run comparisons from the Neon Console, the CLI (neon branches schema-diff), or the API. There's also a Schema Diff GitHub Action that posts a schema comparison comment on every pull request automatically.

Per-branch consumption metrics API

You can now retrieve consumption metrics broken down by branch using GET /consumption_history/v2/branches. It returns the same six usage-based metrics as the project consumption endpoint, but at the branch level:

  • compute_unit_seconds
  • root_branch_bytes_month
  • child_branch_bytes_month
  • instant_restore_bytes_month
  • public_network_transfer_bytes
  • private_network_transfer_bytes

When to use it: The project consumption endpoint (GET /consumption_history/v2/projects) tells you how much each project consumed. The branch endpoint tells you which branches within those projects consumed it. That matters when you're running CI pipelines, parallel development environments, or any workflow that creates many branches. You can attribute usage to individual branches instead of rolling it up to the project.

curl --request GET \
  --url 'https://console.neon.tech/api/v2/consumption_history/v2/branches?project_ids=$PROJECT_ID&org_id=$ORG_ID&from=2026-05-01T00:00:00Z&to=2026-05-29T00:00:00Z&granularity=daily&metrics=compute_unit_seconds,root_branch_bytes_month,child_branch_bytes_month' \
  --header 'Authorization: Bearer $NEON_API_KEY' \
  --header 'Accept: application/json' | jq

The response groups metrics by branch, using the same time-bucketed structure as the project endpoint:

{
  "branches": [
    {
      "branch_id": "br-young-sky-a1b2c3d4",
      "project_id": "calm-night-03860858",
      "periods": [
        {
          "period_id": "7f3a1c2d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
          "period_plan": "launch",
          "period_start": "2026-05-01T00:00:00Z",
          "consumption": [
            {
              "timeframe_start": "2026-05-01T00:00:00Z",
              "timeframe_end": "2026-05-02T00:00:00Z",
              "metrics": [
                { "metric_name": "compute_unit_seconds", "value": 1440 },
                { "metric_name": "root_branch_bytes_month", "value": 875309056 },
                { "metric_name": "child_branch_bytes_month", "value": 0 }
              ]
            }
          ]
        }
      ]
    }
  ],
  "pagination": {
    "cursor": "br-young-sky-a1b2c3d4"
  }
}

You can filter to specific branches using branch_ids, and paginate through large result sets with the cursor parameter (up to 1,000 branches per page).

Available on paid usage-based plans (Launch, Scale, Agent, Enterprise). See the API reference.

Replayable AI agents with Neon snapshots

When an agent mutates a database and something goes wrong, you can't just retry the prompt. The data has already changed.

Pairing a Neon snapshot with a serialized copy of your agent's execution state creates a checkpoint you can restore and replay from. Because Neon preserves the connection string after a restore, no app restarts or reconfiguration are needed. Use it to pause before destructive calls, debug by replaying historical runs on an isolated branch, or link every agent trace to a snapshot ID for auditability.

The new guide covers a complete implementation using the OpenAI Agents SDK: Build replayable AI agents with Neon snapshots.

Fixes & improvements

Vercel integration

The Neon-managed Vercel integration drawer now includes toggles for NEON_AUTH_BASE_URL and VITE_NEON_AUTH_URL. Both are off by default. Enable them and click Save changes to sync Neon Auth URLs to Vercel for branches where Neon Auth is provisioned. If you set these variables manually in Vercel, enable the toggles before your next drawer save or the integration will remove them on save.

Neon Auth

Neon Auth now rejects webhook URLs that use a raw IP address (for example https://203.0.113.1/webhook). Configure an HTTPS hostname instead. Private and encoded IP bypass attempts remain blocked. See Webhooks.

Postgres extensions

The pg_ivm extension is no longer available for new Neon projects. Databases that already installed it are unaffected. See Supported Postgres extensions.

May 15, 2026– Neon Auth updates, Neon Auth MCP tools, and Stripe Projects guide

Neon Auth: new plugins and settings

Neon continues to cover more of the backend stack, and auth is central to that. Four new Neon Auth features:

Magic Link sign-in: The Magic Link plugin lets users sign in via a link sent to their email, no password required. If you're using Neon Auth UI components, enable it with a single prop:

<NeonAuthUIProvider
  authClient={authClient}
  magicLink
>

Enable the plugin from the Console or via the API. See Magic Link plugin.

Phone number sign-in: Existing users can sign in with an OTP delivered by SMS. You bring your own SMS provider, connected via a send.otp webhook. The sign-in flow is a two-step SDK call:

// Step 1: send the OTP
await authClient.phoneNumber.sendOtp({ phoneNumber });

// Step 2: verify the code and sign in
await authClient.phoneNumber.verify({ phoneNumber, code });

Enable the plugin from the Console or via the API. See Phone number plugin.

Wildcard trusted domains: Add a wildcard trusted domain like https://*.my-app-preview.vercel.app to cover all preview deployments under that pattern, instead of adding each hostname individually.

Custom application name: Set a custom name that appears in user-facing auth messages like verification emails. Configurable per branch, so development and production can use different names. See Update auth configuration.

tip

Getting ready for production? The Auth production checklist covers trusted domains, email provider setup, OAuth credentials, and more.

Neon Auth MCP tools

Two new Neon Auth management tools are now available in the Neon MCP server:

  • configure_neon_auth: Configure your Neon Auth setup, including OAuth providers, email providers, and authentication methods.
  • get_neon_auth_config: Retrieve your current Neon Auth configuration, including integration metadata.

If you haven't set up the Neon MCP server yet, run npx neonctl@latest init. Once connected, you can configure Neon Auth using natural language in your AI editor. For example:

Set up Neon Auth for my project. Enable Google OAuth and email/password sign-in,
and set the application name to "My App".

See Neon MCP server for full setup details.

Neon and Stripe Projects

Neon works with Stripe Projects, Stripe's platform for AI-native development. With the Stripe Projects CLI installed, your AI agent can provision a Neon Postgres database in a single command:

stripe projects add neon/postgres

Stripe Projects handles authentication and writes credentials directly to your .env file. No dashboards, no copy-pasting connection strings. See the Neon with Stripe Projects guide for a complete example.

Azure regions deprecation reminder

If your project uses an Azure region (azure-eastus2, azure-westus3, or azure-gwc), you have until August 27, 2026 to migrate. See Azure regions deprecation for timeline and migration options.

Postgres 18 is generally available

Postgres 18 is now generally available on Neon. The preview limitations have been lifted, and Postgres 18 is fully supported for production workloads. To get started, create a new project and select 18 as the Postgres version.

To learn more about the new features and improvements in Postgres 18:

For Neon's Postgres version support policy, see Postgres version support.

Manage organization spending limits via the API

Last week we introduced organization spending limits in the Neon Console. From the Billing page, org admins can set a monthly cap, and Neon emails admins when spend reaches 80% and 100% of that limit.

This week the same functionality is available through the Neon API so you can manage your spend limit programmatically.

  • View monthly spend limit

    curl "https://console.neon.tech/api/v2/organizations/${ORG_ID}/billing/spending_limit" \
      -H "Authorization: Bearer ${NEON_API_KEY}" \
      -H "Accept: application/json"
  • Set monthly spend limit

    curl -X PUT "https://console.neon.tech/api/v2/organizations/${ORG_ID}/billing/spending_limit" \
      -H "Authorization: Bearer ${NEON_API_KEY}" \
      -H "Content-Type: application/json" \
      -d '{"spending_limit_cents":10000}'
  • Delete monthly spend limit

    curl -X DELETE "https://console.neon.tech/api/v2/organizations/${ORG_ID}/billing/spending_limit" \
      -H "Authorization: Bearer ${NEON_API_KEY}" \
      -H "Accept: application/json"

For details, see Spending limits and the April 24 changelog.

New NAT gateway IPs and VPC endpoint services in US East (N. Virginia)

We've expanded infrastructure capacity in the AWS US East (N. Virginia) region (us-east-1) with new NAT gateway IP addresses and new VPC endpoint service addresses for Private Networking.

Update your IP allowlists

If 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.

If you use Private Networking in us-east-1, you can now use the additional VPC endpoint service addresses for enhanced capacity and reliability. See the Regions documentation for the complete list of NAT gateway IPs and the Private Networking guide for VPC endpoint service addresses by region.

Load test at Grafana k6 and Neon branches

Neon branching gives you an isolated copy of your database with production-like data and separate compute, so you can run Grafana k6 against your application without hammering production or relying on an undersized staging database. Create a branch from your production branch, point your app at the branch connection string, exercise realistic concurrency with k6, then tune queries and indexes on the branch and validate improvements before you ship changes.

The guide Simulate production load using Neon branching and k6 walks through the full flow. It uses a branch named load-test-branch in the examples; with the Neon CLI, a minimal create from your real data branch looks like this:

neon branches create \
  --name load-test-branch \
  --parent main \
  --project-id "$NEON_PROJECT_ID"

Use the new branch's connection URI in DATABASE_URL, then run your app and k6 against that database.

The guide's load-test.js centers on options: stages ramp virtual users up and down, and thresholds fail the run if latency or errors cross the line. A tiny export default is still required so k6 knows what each virtual user does. The full guide adds category mix, check, and sleep for realism:

const http = require('k6/http');

export const options = {
  stages: [
    { duration: '10s', target: 20 },
    { duration: '30s', target: 50 },
    { duration: '10s', target: 0 },
  ],
  thresholds: {
    http_req_duration: ['p(95)<50'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
  http.get('http://localhost:3000/api/products?category=Electronics');
}

plv8 Postgres extension deprecation

The plv8 extension (JavaScript in Postgres via V8) is deprecated on Neon. CREATE EXTENSION plv8 is now rejected with a deprecation message. If you still rely on plv8, migrate functions to plpgsql or application code and remove the extension; see The plv8 extension and Supported Postgres extensions.

Neon API pooler_mode and pgbouncer_settings deprecation

pooler_mode and pgbouncer_settings on compute endpoints in the Neon Management API are deprecated, with sunset after June 20, 2026. The pooler_mode option was maintained for legacy setups only. Neon supports connection pooling via a pooled connection URI from the Connect modal. Custom pgbouncer_settings configurations must be requested through Neon support. For Neon's default PgBouncer settings, see Neon PgBouncer configuration. If you pass pooler_mode or pgbouncer_settings on Neon API create or update requests, those values are now ignored.

Apr 24, 2026– Organization spend limits, snapshot storage consumption API, One-click Neon MCP setup for Kiro, durable AI agents, and agent-readable docs

Organization spend limits and email alerts

You can now set a monthly spending limit for your organization from the Billing page in the Neon Console. When spend reaches 80% and 100% of that limit, Neon sends email alerts to organization admins. Spend is evaluated about every 15 minutes, and reminder emails continue weekly until you raise the limit or the billing cycle resets.

When you enable a limit, you enter a dollar amount and choose threshold behavior. Email alerts are available now. In a future release, you'll be able to suspend computes automatically when the limit is reached.

To get started, see Spending limits.

Monitor snapshot storage consumption

Building on the recent snapshot size fields added to snapshot API responses, the Retrieve project consumption metrics endpoint now supports a snapshot_storage_bytes_month metrics parameter. Use it to track monthly snapshot storage in your project-level consumption reporting.

Example response body (excerpt):

{
  "timeframe_start": "2026-02-05T00:00:00Z",
  "timeframe_end": "2026-02-06T00:00:00Z",
  "metrics": [
    { "metric_name": "root_branch_bytes_month", "value": 758611968 },
    { "metric_name": "instant_restore_bytes_month", "value": 983488 },
    { "metric_name": "snapshot_storage_bytes_month", "value": 0 }
  ]
}
Snapshot billing

Snapshot storage is billed at $0.09/GB-month as of May 1, 2026. See Backup & restore and Plans for pricing details.

For the full list of metrics, see Querying consumption metrics.

One-click Neon MCP setup for Kiro

The Neon MCP Server now supports an Add to Kiro badge for one-click MCP setup. Thanks to Anil Maktala for the contribution.

Did you know?

Neon is also a Kiro Power. See Neon Is Now a Kiro Power for details.

Build durable agents with Pydantic AI, DBOS, and Neon

Multi-step agents depend on LLMs and tools that can time out, rate limit, or fail mid-run. A practical pattern is durable execution: checkpoint progress in Postgres so a workflow can resume after a crash or retry without redoing expensive steps from scratch. DBOS provides that durable execution layer, Pydantic AI structures agent logic and tool orchestration, and Neon backs the database so checkpoint state lives in serverless Postgres that scales with your workload.

For a full walkthrough with a working example, see Building Durable AI Agents with Pydantic AI, DBOS, and Neon.

Making Neon docs work for AI agents

We've been optimizing our docs for AI agents. The post Agents grew up, so did our docs covers what worked, what didn't, and what we're still figuring out. It includes findings from a scan of 250+ doc sites, plus details like our MDX-to-Markdown pipeline, content negotiation (serving Markdown to agents or by appending .md to any doc URL), agent-aware 404 handling, and a restructured llms.txt index.

Apr 17, 2026– Neon Postgres plugin for OpenAI Codex, snapshot API size fields, Singapore region networking, and more

Neon plugin for OpenAI Codex

The Neon Postgres plugin is officially available in the OpenAI Codex plugin directory. It adds the Neon MCP Server and Neon-focused Agent Skills to Codex, so you can create and manage Neon projects, branches, and databases from chat, run SQL and migrations, and get guided help on connections, branching, autoscaling, Neon Auth, and more.

Install the plugin

Codex CLI: If you do not have the CLI yet, install it and start codex:

npm install -g @openai/codex
codex

Then in Codex run /plugins, find Neon Postgres, and choose Install plugin. Complete any Neon sign-in or connection prompts.

For Codex app instructions, more detail on what's bundled, and example prompts, see Codex plugin for Neon. For an overview, see the Neon blog.

Snapshot API responses include storage size fields

The snapshot object in the Neon API now supports full_size and diff_size fields for monitoring snapshot storage.

  • Manual snapshots expose full_size: the full logical size at the time of the snapshot.
  • Scheduled snapshots: the first scheduled snapshot reports the full logical size via full_size. Subsequent snapshots report a diff_size value, which is the storage since the previous scheduled snapshot.
{
  "snapshots": [
    {
      "id": "snap-twilight-boat-an3a2yx2",
      "name": "production at 2026-04-17 09:57:07 UTC (manual)",
      "source_branch_id": "br-gentle-leaf-anax5tl3",
      "created_at": "2026-04-17T09:57:09Z",
      "manual": true,
      "full_size": 30965760
    }
  ]
}

The fields are supported on snapshot objects in responses from:

For more on these fields (when each is present, omitted, or zero, and how that relates to charging and incremental billing), see Snapshot size fields in API responses in Backup & restore.

Snapshot billing reminder

Snapshot storage billing starts May 1, 2026. For more information, see Backup & restore.

New NAT gateway IPs and VPC endpoint services in Asia Pacific (Singapore)

We've expanded infrastructure capacity in the AWS Asia Pacific (Singapore) region (ap-southeast-1) with new NAT gateway IP addresses and new VPC endpoint service addresses for Private Networking.

Update your IP allowlists

If 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.

If you use Private Networking in ap-southeast-1, you can now use the additional VPC endpoint service addresses for enhanced capacity and reliability. See the Regions documentation for the complete list of NAT gateway IPs and the Private Networking guide for VPC endpoint service addresses by region.

Organizations

Fixed an issue where approaching maximum storage notification emails for organization-owned projects were sent to every organization Member. These emails are now sent to organization Admins only. See Notes and limitations in the User permissions documentation for how this fits with Admin and Member roles.

Backup & restore

Fixed an issue where finalizing a snapshot restore could leave both the previous branch and the restored branch marked as protected, which inflated protected-branch counts toward your plan limit. Finalizing the restore now moves the protected setting to the branch that holds the restored data. See Backup & restore (finalize step).

Compute updates

Scheduled compute updates: Computes whose maximum autoscale size is 8 CU now receive scheduled updates. Previously, computes with a maximum autoscale size of 8 CU were treated like large computes and did not receive scheduled updates automatically. Computes whose maximum is greater than 8 CU still follow the large compute rules and need a manual restart. See Updates.

Plugins tab for Neon Auth Organization settings

The Neon Auth page now includes a Plugins tab. Organization plugin settings (limits, creator role, invitation email) moved here from Configuration, so plugin-related options stay in one place.

See Organization plugin for what each setting does and how it maps to your app.

New to Neon Auth?

Neon Auth is Neon's managed authentication: users, sessions, and organizations live in your Neon database next to your app data. For overviews, quick starts, plugins, and SDKs, see the Neon Auth documentation.

Upgrade your coding agent with the Neon Skill

skills.sh is a registry of reusable Agent Skills for compatible coding assistants. Add the Neon skill from neon-postgres on skills.sh so your assistant gets structured guidance for Neon Postgres: connections, branching, Neon Auth, APIs, CLI, and MCP.

Watch the demo below to learn more.

Video

Other ways to install (including Cursor, Claude Code, npx skills, and neonctl init) are covered in Agent Skills.

Diagnose production errors with Sentry, Neon MCP, and database branching

Diagnosing and fixing production errors with Sentry and Neon MCP shows how to connect an AI agent (such as Cursor) to the Sentry and Neon MCP servers. You pull stack traces and the failing query from Sentry, then use Neon branching to create an isolated database copy, apply and validate fixes (for example with EXPLAIN ANALYZE), and ship the change to production when you are ready.

Apr 03, 2026– AI shortcuts in the Neon Docs, Postgres extension updates, Azure region deprecation, Mastra and Vercel AI SDK guides, and more

AI-assisted shortcuts in the Neon Docs

Copy page in the header opens a menu on every Neon Docs page: copy the page as Markdown, or open it in ChatGPT or Claude to ask questions with the page in context.

Set up Neon with AI appears in the right-hand sidebar. Choose it to open a modal where you can copy npx neonctl@latest init (npm or Homebrew tabs).

The init command gives your assistant Neon context and configures the Neon MCP Server. For the full flow and supported tools, see Connect MCP clients to Neon.

Postgres extension updates

neon extension version update

The neon extension is now version 1.14, up from 1.9. The neon extension can be used to monitor Local File Cache usage (how often pages are served from cache versus Neon storage) through the neon_stat_file_cache view and EXPLAIN ANALYZE. See The neon extension for details.

pg_search deprecation

Neon support for the pg_search extension is deprecated. As of March 19, 2026, it is not available for new Neon projects.

If you already use pg_search: you will continue to have access to the extension on your existing projects. Our team will contact you to discuss alternative options and deprecation timelines. You do not need to take action before we reach out. See The pg_search extension for alternatives you may want to explore.

Azure region deprecation

As of April 7, 2026, all Neon Azure regions (azure-eastus2, azure-westus3, and azure-gwc) are deprecated.

If your project already runs in an Azure region: your databases keep running as they do today.

If your organization actively uses Azure regions: you can continue to create new projects in Azure regions to maintain your current operations. Otherwise, new Azure project creation is no longer available.

We will contact you directly to discuss migration options and timelines. You do not need to migrate on your own before we reach out. See Region migration if you want to start planning a move.

How to check if you are on an Azure region

Open your organization's Projects page. Your project's region is shown in the Projects table.

Build stateful AI agents with Mastra and Neon

Building stateful AI Agents with Mastra and Neon Postgres shows how to use Mastra's Memory module with Neon so agents keep context across threads and sessions instead of starting from scratch every time.

Build on Neon with the Vercel AI SDK

Build a Data-Driven AI Assistant on Slack with Vercel AI SDK and Neon Read Replicas walks through a Slack bot that answers data questions with the Vercel AI SDK. Queries run against a Neon read replica so production stays protected.

Neon branching GitHub Actions

We updated the Create branch, Delete branch, and Reset branch GitHub Actions. If your workflows already use @v6, @v3, or @v1, you will pick up these changes automatically on your next run.

Neon API

Fixes & improvements

  • Fixed an issue where Ask AI (the Neon AI Assistant drawer) did not open when selecting Support from the Resources (?) menu in the Neon Console.
Last Checked
2h ago
Latest
May 29, 2026
Tracking since Mar 1, 2023