Most auth bugs show up only after you ship. Here’s how to catch them early with Neon Auth + branches
/Changelog

Changelog

The latest product updates from Neon

RSS feed

Project recovery

Accidentally deleted a project? You can now recover it within 7 days of deletion. This feature restores your entire project infrastructure, including all branches, endpoints, compute configurations, and project settings. Your connection strings, collaborators, and snapshots all come back exactly as they were.

Recovery is available through the CLI and API. There are no storage costs or recovery fees during the 7-day recovery window.

For more information, see Recover a deleted project.

100 Free plan projects

Another week, yet another increase: The Neon Free plan now includes:

  • 80 projects
  • 100 projects

That's 100 separate database projects you can spin up, experiment with, and build on. Whether you're prototyping ideas, learning Postgres, or running multiple side projects, you've got plenty of room to work.

Dashboard page showing 100 Free Plan projects

This change applies automatically to all Free plan users. No action required. For more information about plan limits, see Neon plans.

Learn about why we're increasing project limits on the Free plan

Easier setup for Neon MCP Server

Connecting AI editors to the Neon MCP Server is now a single command:

npx neonctl@latest init

This command authenticates via OAuth, automatically creates a Neon API key, and configures Cursor, VS Code, or Claude Code CLI to connect to Neon. It handles all the setup steps that previously required manual configuration file edits and API key management. Once configured, you can immediately ask your AI assistant to create projects, manage branches, or query your database.

If you’re an existing Neon MCP user, setting up the MCP Server this way means you won’t be prompted to repeatedly reconnect through browser-based OAuth flows. Your local configuration and API key are created and saved for reuse.

For more information, see Connect MCP clients to Neon.

Data masking enhancements

We've added address-specific masking functions to data masking in the Neon Console. These functions provide specialized handling for text fields like street addresses, cities, and postal codes, letting you mask location data while preserving geographic patterns.

As well, all masking functions are now organized into categories (Names, Email Addresses, Phone Numbers, and Addresses).

Address masking functions

For more information about data masking, see Data anonymization.

AI-powered Neon Auth setup

Your AI editor can now scaffold complete authentication flows with Neon Auth. We've published AI rules, MCP prompt templates, and a Claude skill that teach AI assistants how to integrate Neon Auth into your apps. These tools detect your framework, install the right packages, create the necessary files, and follow best practices automatically.

The setup includes:

This means you can open Cursor, Claude, or VS Code, ask your AI assistant to "add Neon Auth," and let it handle the implementation.

Learn more in our blog post, Teaching AI to Do Auth (So You Don't Have To).

Fixes & improvements
  • SQL Editor:

    SQL Editor commands like \d and \h now fully support all Postgres 18 features through an updated psql-describe package.

  • Neon Auth:

    • Added Vercel as an OAuth provider, enabling you to integrate Vercel authentication into your applications.
    • Now works with branch expiration.
  • Data Anonymization:

    • Materialized views are now automatically refreshed after data anonymization to prevent stale un-anonymized data from remaining in views.
    • GitHub Actions now supports creating anonymized branches directly in your CI/CD workflows using the new masking_rules input to specify which columns to mask.
  • Vercel Integration:

    • Added support for Vercel Marketplace to trigger database credential rotation for enhanced security.
    • Deleted Vercel integrations are now handled gracefully without triggering errors during operations.
  • Documentation:

    Added an Encore framework integration guide showing how to build backend applications with automatic infrastructure provisioning and Neon Postgres.

Neon Auth: branchable identity in your database

We've rebuilt Neon Auth using Better Auth as the foundation. Auth was the last part of Neon that didn't yet branch. Now it does. All authentication data lives directly in your Neon database, so when you branch, your entire auth state branches with it.

Neon Auth

Users, sessions, organizations, configuration, and JWKS are stored in a dedicated neon_auth schema. Each branch gets its own isolated auth endpoint. No more external identity provider, no webhook syncing, no drift between environments.

What branchable auth enables:

  • Preview environments that actually work. Spin up a branch that mirrors production exactly: same users, same roles, same permissions. Test full signup, login, password reset, and OAuth flows before release.
  • Safe multi-tenant testing. Clone your environment, invite test organizations, modify access rules, and confirm permissions propagate correctly without risking production data.
  • Real auth in CI/CD. Test the complete user lifecycle in automated pipelines with real authentication, not mocked tokens.

How it works:

  • Auth lives in your database. Your user model sits in Postgres, evolving with your migrations and integrating naturally with your schema.

  • Works with RLS automatically. Your Row-Level Security policies can reference the authenticated user directly, without duplicate identity tables.

  • Data API integration. JWTs from Neon Auth are validated by the Data API, so authenticated queries work with your RLS policies out of the box.

  • One SDK for everything. The new @neondatabase/neon-js package brings Neon Auth, Data API, and database access together:

    import { createAuthClient } from '@neondatabase/neon-js/auth';
    import { NeonAuthUIProvider, AuthView } from '@neondatabase/neon-js/auth/react/ui';
    
    const authClient = createAuthClient(import.meta.env.VITE_NEON_AUTH_URL);
    
    export default function App() {
      return (
        <NeonAuthUIProvider authClient={authClient}>
          <AuthView pathname="sign-in" />
        </NeonAuthUIProvider>
      );
    }

Neon Auth is available on all plans, including Free. Get started with Next.js, React, or TanStack.

"Owning your auth means keeping your user model inside your architecture. Neon users now get that ownership while letting Better Auth take care of the parts that make authentication hard." — Bereket Engida, creator of Better Auth

Read more: Meet the New Neon Auth: Branchable Identity in Your Database and The Case for Owning Your Auth

More projects on the Free plan

Another week, another increase: The Neon Free plan now includes:

  • 70 projects
  • 80 projects

More projects means more room to experiment, prototype, and build without worrying about limits.

Dashboard page showing 80 Free Plan projects

This change applies automatically to all Free plan users. No action required. For more information about plan limits, see Neon plans.

Learn about why we're increasing project limits on the Free plan

Purely usage-based billing

We've removed the $5 monthly minimum from our paid plans. Neon is now purely usage-based: if you use $3 one month, that's the bill you'll receive.

For more details, see Neon plans.

Fixes & improvements
  • MCP Server Updates: The Neon MCP Server now supports the new Neon Auth with an updated provision_neon_auth tool and a new setup-neon-auth prompt, an interactive guide for setting up Neon Auth in Vite+React projects.
  • AI Rules: Updated the Neon Auth AI rules prompt for the new Neon Auth.
  • Postgres extension updates: Updated the pg_mooncake extension to version 0.1.3. If you installed this extension previously and want to upgrade to the latest version, please refer to Update an extension version for instructions.
  • Vercel integration: Fixed an issue where deleted Vercel integrations could cause unexpected errors. These cases are now handled gracefully.
  • Data anonymization: Fixed an issue where materialized views retained stale data after anonymization. Materialized views are now automatically refreshed after anonymizing tables.
  • Schema-only branches: Fixed an issue where roles with custom attributes were incorrectly recreated with elevated privileges in schema-only branches.
  • Neon Console: Fixed an issue where the projects list failed to load when a project was unavailable.

70 projects on the Free plan

We've increased the project limit on the Free plan to 70 projects.

Free plan 70 projects

That's 70 separate database projects you can spin up, experiment with, and build on. Whether you're prototyping ideas, learning Postgres, or running multiple side projects, you've got plenty of room to work.

This change applies automatically to all Free plan users. No action required. For more information about plan limits, see Neon plans.

Learn about why we increased project limits on the Free plan

Postgres version updates

We updated supported Postgres versions to 14.20, 15.15, 16.11, 17.7, and 18.1, respectively.

When a new minor version is available on Neon, it is applied the next time your compute restarts. For more about how we handle Postgres version upgrades, refer to our Postgres version support policy.

New Data API advanced settings

The Neon Data API provides a ready-to-use REST API for your Neon database, letting you query tables, views, and functions using standard HTTP requests. We've added two new options to the Advanced settings panel:

  • OpenAPI mode — Enables automatic generation of an OpenAPI schema for your Data API. Use it to generate API documentation, build typed client libraries, import your API into Postman, or integrate with API gateways.
  • Enable server timing headers — Adds Server-Timing headers to API responses, showing how long different parts of each request took to process. Use this to debug slow queries, measure performance, and troubleshoot latency issues.

To learn more about Data API advanced settings, see Manage Data API.

Neon is now a Kiro Power

Kiro announced powers at AWS re:Invent — a new way for developers to access curated tools directly from the IDE. Neon is one of the first launch partners, alongside Figma, Stripe, and Postman.

Kiro Neon Power

With the Neon power, you can manage your Postgres databases without leaving Kiro:

  • Deploy instantly — Provision a Neon database in seconds whenever your workflow needs a Postgres backend.
  • Branch for safe testing — Create lightweight, isolated copies of your database to test migrations, validate queries, or run integration tests without touching production.
  • Time-travel and restore — Roll back to any past state, inspect historical data, or restore from a previous point in time.

Read more: Just Launched: Neon Is Now a Kiro Power

Custom Neon agents for GitHub Copilot

GitHub Copilot now supports custom agents, and we've built two specialized agents that bring Neon's branching workflow directly into your IDE:

  • Neon Migration Specialist — Safe Postgres migrations with zero downtime. Test schema changes in isolated database branches, validate, then apply to production—all automated with support for Prisma, Drizzle, or your favorite ORM.

  • Neon Performance Analyzer — Identify and fix slow Postgres queries automatically. Analyzes execution plans, tests optimizations in isolated branches, and provides clear before/after performance metrics with actionable code fixes.

Both agents leverage Neon's instant branching to give you a safe environment for testing database changes before they hit production.

To learn more about using these agents, see Neon agents for GitHub Copilot.

Fixes & improvements
  • Computes

    • Scale to zero is no longer available for computes larger than 16 CU. To ensure best performance, large computes remain always active. For more information, see Configuring Scale to Zero.
    • The default minimum autoscaling compute size for new projects is now 0.25 CU across all Neon plans (Free, Launch, and Scale). This change does not affect existing projects. You can update your default compute size settings in your project settings.
  • Vercel integration

    • Fixed an issue where data transfer quota exceeded errors were not properly reported when creating branches through the Vercel integration.
    • Added safety checks to prevent accidental deletion of default branches, protected branches, and branches with children during Vercel deployment cleanup.
    • Fixed an issue where project deletion failed when removing a Vercel native integration if the project had protected branches. Protected branches are now automatically unprotected before deletion.
    • Fixed an issue where the wrong database role was selected in Vercel integration settings when switching between different Neon projects.
  • Data masking

    • Added new masking options: random unique email for columns with uniqueness constraints, random int/bigint/date between for customizable value ranges (also supports timestamp columns), and dummy name, fake IBAN, and dummy credit card number for generating realistic fake data.
    • The "Replace with NULL" masking option is no longer shown for non-nullable columns.
    • Fixed an issue where the Apply masking rules button on the Data masking page showed an infinite loading spinner for branches with no applied masking rules.
  • Neon API

    • The Retrieve role details endpoint now returns an authentication_method field indicating how the role authenticates (password, oauth, or no_login).
Was this page helpful?

Subscribe to our changelog.
No spam, guaranteed.