Learn how to set up a Neon Twin—a dev environment in Neon that mirrors production. Build on Neon, keep prod elsewhere

Changelog

The latest product updates from Neon

RSS feed

Monitor queries in the Neon Console

Currently available to members in our Early Access Program, you can now monitor your active queries and query history from the Monitoring page in your Neon project.

Neon query history

  • The Active Queries view displays up to 100 currently running queries for the selected Branch, Compute, and Database.
  • The Query History view shows the top 100 previously run queries for the selected Branch, Compute, and Database. Queries can be sorted by Frequency or Average time.

For more about these new monitoring options, see Monitor active queries and Monitor query history.

Save your connection details to 1Password

If you've got the 1Password browser extension, you can now save your database connection details to 1Password directly from the Neon Console. In your Project Dashboard, click Connect, then click Save in 1Password.

1Password button on connection modal

Renamed Neon Authorize to Neon RLS Authorize

We've renamed our JWT-based authorization feature to Neon RLS Authorize to better reflect its core value: connecting your authentication provider's JWTs with Postgres Row-Level Security (RLS) policies. You can now find this feature under Settings > RLS Authorization in the Neon Console.

RLS Authorize in the Settings page

Learn more about Neon RLS Authorize or try our tutorial.

Renamed Neon Identity to Neon Auth

We've also renamed our Early Access auth integration feature to Neon Auth. Neon Auth lets you automatically sync user profiles from your authentication provider to your database. Learn more about it in Neon Auth.

Or sign up to the Early Access Program to try it out.

Scheduled updates on Free & coming soon to Launch and Scale

Two weeks ago, we announced scheduled updates for Neon, including Postgres version upgrades, security patches, and Neon feature enhancements.

This week, we introduced the Updates page in your Project Settings. Free Plan users get update notices 24 hours in advance. Updates, which take only a few seconds, are applied at the scheduled time or the next time your compute restarts.

Free plan updates UI

Launch and Scale Plan users will start seeing update notices in another week or so. We aim to provide 7 days' notice for updates on paid plans. Paid users can also choose a preferred update window — you can do that now, well ahead of any planned updates.

Paid plan updates UI

We also support checking for scheduled updates using the Neon API.

For more information about scheduled updates, see our Updates documentation. If you have questions, please reach out to us on Discord or contact Neon Support.

Fixes & improvements
  • Postgres extension updates

    We updated the pg_mooncake extension version to 0.1.1.

    If you installed this extension previously and want to upgrade to the latest version, please refer to Update an extension version for instructions.

  • Time Travel connections

    Ephemeral computes, used for Time Travel connections, now use a compute size of 0.50 CU (0.50 vCPU, 2 GB RAM). This is up from the 0.25 CU size used previously. For more, see Time Travel — Billing considerations.

  • Console updates

    • We've updated the Usage section on the Billing page to make it easier to track your plan allowances, extras, and total usage.
    • The Schema-only branch option on the Create new branch modal is now disabled when you reach the root branch limit for your project. For details, see Schema-only branches allowances.
  • Support for CREATE ROLE ... NOLOGIN

    Neon now supports creating Postgres roles with the NOLOGIN attribute. This allows you to define roles that cannot authenticate but can be granted privileges.

    CREATE ROLE my_role NOLOGIN;

    Roles with NOLOGIN are commonly used for permission management.

    Support for NOLOGIN was also extended to the Neon API and CLI:

  • CLI support for schema-only branches

    We added CLI support for our recently introduced schema-only branches feature. You can now create a schema-only branch from the CLI using the --schema-only option with the neon branches create command.

    neon branches create --schema-only
  • Branch archiving

    Neon now limits each project to 100 unarchived branches. Branches older than 14 days and inactive for more than 24 hours are automatically archived to cost-efficient storage. No action is needed to unarchive a branch—it happens automatically when accessed, usually without noticeable performance impact. If you exceed the 100-unarchived branch limit, Neon will archive branches more quickly to stay within the limit. To learn more, see Branch archiving.

  • Vercel Native Integration

    Fixed an authentication issue that prevented creating another user from a Vercel team in Neon.

  • Vercel Previews Integration

    • The Neon Vercel Previews Integration now supports deployments to Vercel custom environments. However, automated branch deletion does not remove environment variables created by the Neon integration in custom environments. These variables must be deleted manually in the Vercel dashboard.
    • Fixed an issue where preview deployments in Vercel custom environments were incorrectly recreated in the preview environment instead of the intended custom environment. Additionally, addressed a problem where preview deployments triggered via the Vercel CLI failed to be recreated due to missing Git information in the Get Deployment API response. Deployments now correctly redeploy when Git information is unavailable.
    • For Neon branches created for Vercel preview deployments, we now show the Vercel preview deployment URL and the associated GitHub pull request on the Branches page in the Neon Console.
  • Fixes

    • Resolved an issue where the System operations tab on the Monitoring page could display system operations from more than one project when switching between projects.
    • Resolved an issue where the branches list in the Neon Console did not immediately update after restoring a branch.
    • Fixed a time format issue on the project settings Updates page where displayed time values were inconsistent, with one shown in UTC and another in local time.
    • Fixed an issue related to resetting account passwords and changing account emails.
    • Fixed a concurrency issue where two branches created from the same parent in close succession collided. Previously, the operations on the parent did not complete fast enough for both create branch operations to work.
    • Fixed an email validation issue on the Feedback form in the Neon Console.
    • Fixed an issue in the Neon SQL Editor where the compute status in the compute drop-down menu remained Idle after running a query.

The Neon Slack App is available for early access

Neon Slack App

The Neon Slack App helps you stay connected to your Neon Serverless Postgres databases. Here's what you can do with it:

  • 📈 Track compute and storage usage in real time
  • 🔔 Get alerts when your database approaches its performance limits
  • 🟢 Quickly check the Neon platform's status

We’d love to hear your feedback. Use the /neon feedback command in Slack to share your thoughts and feature requests.

👉 See the documentation for setup instructions.

Scheduled updates on the Free Plan starting soon

Last week, we announced that Neon is introducing scheduled updates, starting with Free Plan accounts. These updates include Postgres version upgrades, security patches, and Neon feature enhancements. Your project's computes will be updated automatically at a scheduled date and time. While updates need a compute restart, it only takes a few seconds to complete.

Free Plan accounts will start seeing update notices in their projects' settings on a new Updates page in early February, at least 24 hours before any scheduled update.

Update notices for Neon's paid plans will start rolling out in the second week of February, with at least 7 days' notice before a planned update.

Stay tuned for more details.

Protect sensitive data with schema-only branches

You can now create schema-only branches that copy just the database schema from a source branch — without any data. This is ideal for working with confidential information. Instead of copying sensitive data, create a branch with just the database structure and add your own randomized or anonymized test data. It's a secure and compliant way for your team to develop and test using Neon branches.

To learn more, see Schema-only branches.

Schema-only branches are currently available through our Early Access Program. Learn how to join.

Project-scoped API keys from the Console

Recently, we added support for project-scoped API keys for your Neon Organization. These keys provide member-level authorization, scoped to a particular project. First available only via API, you can now create them from the Neon Console as well, for better visibility and management.

project-scoped API key from the Console

Learn more about creating project-scoped API keys.

Support for the postgres_fdw extension

Neon now supports the postgres_fdw (foreign data wrapper) extension. This extension lets you integrate with remote Postgres databases by defining foreign tables that map to tables in external databases. You can then query remote data as if it were stored locally. Check out our guide to learn more.

pg_cron is now available for all users

The pg_cron extension is now available to everyone using Neon. Before, you needed a paid plan and help from Neon Support to use it. See Enable the pg_cron extension to get started.

Fixes & improvements
  • Drizzle Studio update

    We updated the Drizzle Studio integration that powers the Tables page in the Neon Console to version 1.0.12. For the latest improvements and fixes, see the Neon Drizzle Studio Integration Changelog.

  • Console updates

    Added a clear banner in the SQL Editor's results pane when running Time Travel queries to show that you're viewing historical data.

    time travel banner in SQL Editor

  • Postgres extension updates

    • Neon now lets you install the previous version of pgvector, which is one version behind the latest supported version.

      For example, if Neon’s latest supported pgvector version is 0.8.0, you can install the prior version, 0.7.4, by specifying the version number:

      CREATE EXTENSION vector VERSION '0.7.4';

      For more, see Use a previous version of pgvector.

    • The pgx_ulid extension (0.2.0) is now available for Postgres 17. To install it, run:

      CREATE EXTENSION pgx_ulid;`
  • Neon API

    Newly created Neon API keys are now prefixed with napi_. This change improves security by making it possible to use secret scanning mechanisms that rely on identifiable markers.

    Existing API keys remain valid. If you want to use the new format, you can generate a new API key. For instructions, see API keys.

  • Fixes

    • Fixed a bug where you might see an empty error screen when changing your email or resetting your password.
    • Fixed an issue where the SQL Editor sometimes ran queries on the main branch instead of your selected branch.

Neon Chat for Visual Studio Code

The Neon Chat for Visual Studio Code extension is now available in the GitHub Marketplace. This AI-powered assistant lets you chat with the latest Neon documentation without leaving your IDE.

Get answers to common questions like:

  • How to create a project?
  • How can I get started with the Neon API?
  • How do I create a branch using the Neon CLI?

Neon Chat for Visual Studio Code

Scheduled updates coming soon 📅

Neon is introducing scheduled updates, starting with Free Plan accounts and later expanding to Paid Plans. These updates will cover Postgres updates, security patches, and Neon feature enhancements, automatically applied to your project's computes. Here's what to expect:

  • Updates aren’t new, but now they’ll be scheduled so you’ll know when they’re coming and won't fall behind on important maintenance.
  • Updates require a compute restart, but restarts are quick and automatic — taking just a few seconds.
  • If your computes scale to zero & restart regularly, available updates will be applied on compute restart, removing the need for "scheduled" updates.
  • You’ll be able to track scheduled updates in your project settings.
  • Free Plan accounts will have updates scheduled in advance for a specific day and time, while Paid Plan accounts will be able to choose a preferred update window.

Stay tuned for specific details about when scheduled updates will roll out. Free Plan users can expect to see scheduled updates first, starting in early February. Scheduled updates on Paid Plans will roll out later, with updates for large compute sizes (> 8 CU) rolling out last.

Connect to external Postgres databases with the dblink extension

Neon now supports accessing external Postgres databases using the dblink extension. dblink lets you easily connect to other Postgres databases and run queries on them. It's a good choice for quick, one-off queries or situations where you need data from a remote database but don’t want to configure a foreign data wrapper.

Support for the pg_repack extension

The Postgres pg_repack extension is now available on paid Neon plans upon request. This extension helps you remove bloat from tables and indexes while optionally restoring the physical order of clustered indexes — all without requiring an exclusive lock during processing. This extension is currently available only on paid Neon plans. To enable pg_repack, open a support ticket and include your endpoint ID and the database name where you'd like the extension enabled.

Meet "Instagres": No signup, instant Postgres ✨

Neon's architecture lets us do some pretty interesting things, like creating a Postgres database in less than a second (AI agents loves this, btw). To showcase this ability, we've built "Instagres," an app that lets you generate a Postgres database URL almost instantly — no sign up required. If you'd like to keep the database for more than an hour, you can transfer it to your Neon account.

Instagres UI

Give it a try at https://www.instagres.com/ or by running npx instagres in your terminal.

The "Instagres" app is powered by Cloudflare, React Router, and DrizzleORM.

If you like this feature or see different use cases for it, please let us know via the Feedback form in the Neon Console or our feedback channel on Discord.

To learn more, read the blog post.

Pooled connection strings are now default in the Neon Console

Pooled connection strings are now the default in the Connection Details widget in the Neon Console. Pooled connection strings include a -pooler option, which directs connections to a pooled connection port powered by PgBouncer. With support for up to 10,000 concurrent connections, connection pooling improves performance, reduces latency, and makes resource management more efficient for most applications. For specific tasks like pg_dump and other session-dependent operations like schema migrations, you can still get direct connection string at any time by disabling the connection pooling toggle in the Connection Details widget or by removing -pooler from your connection string manually.

pooled connection string

A new version of the Neon Python SDK

Neon's Python SDK, which is a wrapper for the Neon API, has been updated to a new version (0.3.0). This new version updates the Python data types from Neon's API schema.

This SDK simplifies integration of Python applications with Neon by providing methods to programmatically manage Neon API keys, projects, branches, databases, endpoints, roles, and operations.

Fixes & improvements
  • Drizzle Studio update

    The Drizzle Studio integration that powers the Tables page in the Neon Console has been updated to version 1.0.11. For the latest improvements and fixes, see the Neon Drizzle Studio Integration Changelog.

  • Console updates

    Increased concurrency limits. Last week we announced increased Neon API operation concurrency limits on Neon's Free, Launch, and Scale plans. This enhancement is now supported on all Neon plans.

    As noted in last week's changelog: Previously, concurrent API operations within a Neon project — such as operations on different branches — could trigger a "project already has running operations" error, where one branch operation would block others. This improvement reduces the need to work around strict concurrency limits. However, we still recommend adding retry functionality to handle rare cases where an API operation fails due to ongoing operations.

    This change applies only to the Neon API. In the Neon Console, controls such as buttons that initiate new operations are still briefly disabled until ongoing operations are complete. Concurrency improvements will be reflected in the UI in a future release.

  • Fixes

    Fixed an issue with the Create branch button in the Neon Console. Previously, the button became disabled for unfinished project operations, including those that failed due to an error. Now, the button is disabled only for project operations in the canceling, running, or scheduling state.

Neon Copilot Extension

The Neon Database Copilot Extension is now available in the GitHub Marketplace. This extension makes it easier to configure Neon for your repository. You can chat with the latest Neon documentation within the context of your repository!

GitHub Copilot Extension

Chat with curated Neon database documentation directly in GitHub Copilot and get answers to common questions like:

  • How to create a project?
  • How can I get started with the Neon API?
  • How do integrate the Neon API into my GitHub repository.

Setup instructions:

  1. Install the extension
  2. Type @neondatabase in the chat to start interacting

Coming soon, you'll be able to directly interact with Neon endpoints by simply asking questions. Additionally, new tools will enable you to create Neon databases directly from the chat interface.

Schema Diff API

Rounding out our schema diff features, Neon now supports a schema diff API endpoint (compare_schema), enabling programmatic comparison of database schemas between Neon branches. This addition complements our existing Schema Diff features available in the Console, CLI, and GitHub Action.

Example:

curl --request GET \
     --url 'https://console.neon.tech/api/v2/projects/{project_id}/branches/{branch_id}/compare_schema?base_branch_id={base_branch_id}&db_name={db_name}' \
     --header 'accept: application/json' \
     --header 'authorization: Bearer $NEON_API_KEY'

For detailed documentation, see Using the Schema Diff API.

Postgres extension updates

  • The pg_mooncake extension has been updated to version 0.1.0. For details about this release, see the release page.

    To use the pg_mooncake extension with Neon, check out our pg_mooncake guide for more information.

    To upgrade from a previous version of the extension, follow the instructions in Update an extension version.

  • The pg_embedding extension, deprecated in September 2023, has been removed from Neon. This extension supported the Hierarchical Navigable Small World (HNSW) algorithm for vector similarity search in Postgres. HNSW support is now available in the pgvector extension, which is also supported by Neon.

Fixes & improvements
  • Drizzle Studio update

    The Drizzle Studio integration that powers the Tables page in the Neon Console has been updated. For the latest improvements and fixes, see the Neon Drizzle Studio Integration Changelog.

  • Console updates

    • Enhanced pagination controls on the Branches page now let you adjust rows per page and skip directly to first/last pages.
    • Billing period dates in the console are now consistently shown in UTC format. Previously, these dates were sometimes shown incorrectly due to timezone conversions.
    • The Datadog integration is now accessible from both the Integrations and Monitoring pages for all users, with availability based on your plan.
    • The Trust Center is now accessible from the Help Menu (?) in the Neon Console. Here you can learn about our security practices and access security documentation.
  • Neon API

    • The Create project API now defines Postgres 17 as the default version.✨

    • Increased concurrency limits. We've increased Neon API operation concurrency limits. Previously, concurrent API operations within a Neon project — such as operations on different branches — could trigger a "project already has running operations" error, where one branch operation would block others. This improvement reduces the need to work around strict concurrency limits. However, we still recommend adding retry functionality to handle rare cases where an API operation fails due to ongoing operations.

      This enhancement is available on Neon's Free, Launch, and Scale plans and will soon roll out to all Neon plans. It applies only to the Neon API. In the Neon Console, controls such as buttons that initiate new operations are still briefly disabled until ongoing operations are complete.

    • We’ve added a new API endpoint to help you retrieve the total number of branches in a project. Use the following request to get the branch count for any project:

      GET /api/v2/projects/{project_id}/branches/count

      Example response:

      {
         "count": 2
      }
  • Neon CLI

    The Neon CLI now creates projects with Postgres 17 by default ✨

  • Fixes

    • Data sizes are now displayed as kB, MB, GB (instead of KiB, MiB, GiB) across our console, docs, and website.
    • Restored the ability for Enterprise customers to set custom scale-to-zero timeout periods.
    • Replaced incorrect "insufficient permissions" message with a loading indicator when Organization admins open a project's Delete page.
    • Prevented duplicate installations of the Neon GitHub integration for organizations and personal accounts.

🎉 Happy New Year, everyone! 🎉

We're excited to kick off 2025 and let you know that we're shipping again! 🚢 Here's to an amazing year ahead. Let's go!

Postgres 17 for newly created Neon projects

Create PG17 project

Postgres 17 is now the default for newly created Neon projects. Neon continues to support Postgres 14, 15, and 16, if you prefer to stick with those. For Neon's Postgres version support policy, see Postgres Version Support.

Support for pg_cron

The Postgres pg_cron extension is now available on paid Neon plans upon request. This extension lets you schedule and manage periodic jobs directly in your Postgres database. To enable pg_cron, open a support ticket and include your endpoint ID and the database name where you'd like the extension enabled. Once added, you'll need to restart your compute to make it available.

Higher connection limits for autoscaling configurations

In Postgres, the max_connections setting controls the maximum number of simultaneous client connections the database server can handle. In Neon, this setting is configured based on your compute size configuration. Previously, with Neon's autoscaling feature, max_connections was defined by your minimum compute size only. To provide more available connections, max_connections is now set according to both your minimum and maximum compute size, allowing for much larger connection limits. For more information about how max_connections is configured for your Neon computes, see Parameter settings that differ by compute size.

PgBouncer default_pool_size now scales

Neon supports connection pooling with PgBouncer. Previously, Neon's PgBouncer configuration set the default_pool_size to a fixed value of 64, which limited Postgres connections to 64 per user/database pair, regardless of the compute size.

Now, the default_pool_size is dynamically set to 0.9 * max_connections, enabling significantly more concurrent Postgres connections per user/database pair. Note that larger compute sizes benefit from higher max_connections limits, which result in a proportionally larger default_pool_size.

For example, on an 8 CU compute with a max_connections limit of 3604, the default_pool_size increases from 64 to 3243 (0.9 × 3604).

Neon Identity is now available in Early Access

We're excited to announce Neon Identity, a new feature that automatically syncs user profiles from your auth provider straight to your Neon database. Eliminate custom integration code and focus on building.

With Neon Identity, user profiles are synchronized to the neon_identity.users_sync table, making it easy to access user data without additional configuration.

Join the Early Access Program to try it out. Sign up here.

Check out our docs to learn more.

Currently supporting Stack Auth, more providers coming soon.

More support for AI agents

Neon is now available as a tool for AI agents on both AgentStack and Composio.

AgentStack lets you create AI agent projects from the command line. The Neon tool allows agents to create ephemeral or long-lived Postgres instances for structured data storage. View the Neon tool here to see how an AI agent can create a Neon database in less than 500 ms, connect to the database, and run SQL DDL and DML statements.

@tool("Create Neon Project and Database")
def create_database(project_name: str) -> str:
  """
  Creates a new Neon project. (this takes less than 500ms)
  Args:
      project_name: Name of the project to create
  Returns:
      the connection URI for the new project
  """
  try:
      project = neon_client.project_create(project={"name": project_name}).project
      connection_uri = neon_client.connection_uri(
          project_id=project.id, database_name="neondb", role_name="neondb_owner"
      ).uri
      return f"Project/database created, connection URI: {connection_uri}"
  except Exception as e:
      return f"Failed to create project: {str(e)}"

Composio lets you connect 200+ tools to AI Agents — and it now supports Neon, enabling full integration between LLMs and AI agents and Neon's API. You can find the integration here.

Composio integration

Neon Auth.js adapter

We've introduced an Auth.js adapter for Neon, which enables storing user and session data in your Neon database. For adapter installation and setup instructions, see Neon Adapter in the Auth.js docs.

"Perplexity mode" for the Docs

We’ve added an AI-powered "perplexity mode" to the Neon Docs site, providing a conversational interface to quickly get the answers you need.

Perlexity mode for docs

Our AI chat assistant is built on various sources including the Neon Docs, the Neon Discord Server, and API docs — and it's updated daily.

Click Ask Neon AI to try it out.

Fixes & improvements
  • Drizzle Studio update

    The Drizzle Studio integration that powers the Tables page in the Neon Console has been updated. For the latest improvements and fixes, see the Neon Drizzle Studio Integration Changelog.

  • Console updates

    We adjusted billing period start dates in the console to use UTC time. Previously, timezone differences could cause the start date to display as the last day of the previous month.

  • Private Networking

    Fixed an issue where invalid VPC endpoint IDs would not be deleted. Invalid endpoint IDs are now transitioned to a deleted state after 24 hours and automatically removed at a later date.

  • Neon API

    The List branches endpoint now supports sorting and pagination with the addition of sort_by, sort_order, limit, and cursor query parameters. The sorted by options include updated_at, created_at, or name, and sort_order options include asc and desc. After an initial call, pagination support lets you list the next or previous number of branches specified by the limit parameter.

  • Neon API Client

    The TypeScript SDK for the Neon API was updated to a new version (1.11.4). The new version adds support for creating organization API keys.

  • Logical Replication

    Before dropping a database, Neon now drops any logical replication subscriptions defined in the database.

  • Fixes

    Fixed an issue that permitted installing the Neon GitHub integration for organizations or personal accounts where the integration was already installed.

Was this page helpful?