Neon is Generally Available! Serverless Postgres with branching to boost your development velocity.Read more

Changelog

The latest product updates from Neon

RSS feed

Fixes & improvements

  • Based on user feedback, we've changed the Storage metric on the Billing page in the Neon Console to display the current total storage size across all of your projects and branches. Previously, the Storage metric reported the peak storage size for the current billing period.
  • You can now access integration documentation directly from the Integrations page in the Neon Console. A Read button, available on several integration cards, opens a documentation side drawer where you can learn how to integrate the selected platform or service with Neon.
  • If you previously signed up for Neon using your Hasura account and now want to use your personal email instead, you can make this change under Profile → Account Settings → Personal Information. You must log out and back into the Neon console before doing so. For more information, see Change your email.
  • We added a new Restart compute endpoint method to the Neon API. This method suspends the specified compute endpoint and restarts it immediately. It's sometimes necessary to restart a compute endpoint to enable new features or apply new limits. This method makes that task easier and enables us to add a restart compute option to the Neon Console, which you'll see in an upcoming release.
  • Fixed an issue that prevented preview branches from being shown on the Neon Vercel Integration drawer in the Neon Console.
  • Added an alert to the Neon Vercel Integration for older Neon projects that do not store role passwords. Neon projects created after March 2023 store role passwords in a secure storage vault associated with the project, allowing passwords to be retrieved from the Connection Details widget and by features such as the Vercel integration that require a password. Projects created before March 2023 do not store role passwords.
  • Fixed an error message on the Create a new branch page for the Include data up to time selector. The date format in the error message was incorrect.

What's new in docs?

We have three new authentication guides for you to check out this week. Learn how to authenticate users to access your Neon database with Auth0, Clerk, or Okta.

New Monitoring widget on the Dashboard

We've added a Monitoring widget to the Neon Dashboard, giving you an easy way to check CPU and RAM usage for your Neon projects. The display defaults to your primary branch but you can switch to view usage details for any branch in your project.

monitoring widget

We're committed to improving observability for your Neon projects and databases. To learn more about monitoring in Neon, see Monitoring.

A teaser for organizations

You might notice a new addition to our breadcrumb navigation: Create organization under your account selector. It's greyed out and inactive for now, but we've included it here as a reminder: organization support is coming soon!

organization teaser

Check our roadmap to see what else is coming next.

PostgreSQL Partition Manager extension

Neon now supports the pg_partman partition manager extension, which enables creating and managing time and number-based table partition sets in Postgres.

Local File Cache (LFC) statistics and working set size function

You can now view Local File Cache (LFC) statistics for your Neon compute. The statistics include a cache hit ratio, which can help you determine if your data is being accessed from memory or the Neon storage layer.

The Local File Cache (LFC) stores frequently accessed data in the local memory of your Neon compute instance, which helps reduce latency and improve query performance by minimizing fetches from storage. The LFC acts as an add-on or extension of Postgres shared_buffers, which is set to 128 MB in Neon, regardless of compute size. The LFC extends cache memory to as much as 80% of your compute's RAM.

Local File Cache (LFC) statistics are exposed through a neon_stat_file_cache view, provided by the neon extension. To access the view, install the neon extension on a preferred database or connect to the Neon-managed postgres database where it's preinstalled. For instructions, see The neon extension.

You can retrieve LFC stats with the following query:

SELECT * FROM neon_stat_file_cache;
 file_cache_misses | file_cache_hits | file_cache_used | file_cache_writes | file_cache_hit_ratio
-------------------+-----------------+-----------------+-------------------+----------------------
           2133643 |       108999742 |             607 |          10767410 |                98.08

You can also use EXPLAIN ANALYZE with the FILECACHE option to view data for LFC hits and misses. See View LFC metrics with EXPLAIN ANALYZE.

To learn how LFC data can help you right-size your compute, see How to size your compute.

Fixes & improvements

Neon Vercel integration enhancements

We've introduced a few enhancements to help you manage preview branches created by the Neon Vercel integration:

  • There is now a drop-down menu on the Branches tab in the Vercel integration drawer where you can delete all preview branches or those marked as Obsolete. Obsolete branches are those without an associated git branch. For more information, see Manage branches created by the integration.
  • The integration now supports automatic deletion of obsolete preview branches. You can enable this feature by selecting Automatically delete obsolete Neon branches when installing the integration. We'll soon add an option to the Vercel integration drawer that lets you enable and disable automatic branch deletion for new and existing integrations. Deletion occurs when the git branch that triggered a branch's creation is deleted.
  • We now show a branch creation date for each preview branch listed on the Branches tab in the Vercel integration drawer.

Fixes & improvements

  • Corrected an issue that prevented Free Tier users from creating a new read-write compute for a primary branch after deleting the one created with their Neon project.
  • Updated the content displayed on the Projects page in the Neon Console when all projects are removed.
  • Adjusted copy and links on the connection details modal that's displayed after creating a new project.

What's new in docs?

We have new schema migration guides for you to check out this week:

We're also excited to share a new Postgres Documentation Page, a central hub for all things Postgres. This includes the latest topics listed below. As Neon is Postgres, we encourage you to consult both our Neon-specific guides and the official PostgreSQL documentation.

A reorganized Integrations page

As our list of integrations continues to grow, we've added categorized navigation, making it easier to explore what's offered. Click a category heading and then Add or Request the integrations you're interested in.

Extra storage option for the Launch plan

Based on the feedback we've received, Neon's Launch plan has been enhanced to offer an "extra storage" option. If you require more than the 10 GiB storage allowance included with the Launch plan but aren’t ready for the Scale plan, you can now purchase additional storage in 2 GiB increments. For a detailed comparison of Neon's pricing plans, please refer to our Pricing page.

Neon Vercel Integration enhancements

  • The Neon Vercel Integration now adds a /preview prefix to the names of preview branches. You can view preview branches on the Branches page in the Neon Console or on the Vercel integration drawer, which you can access on the Integrations page.
  • Improved the sort order of preview branches listed in the Vercel integration drawer. The most recently created branches are now listed first.
  • Fixed an issue that marked the Vercel deployment status as successful while the preview deployment was still in progress.

Fixes & improvements

  • To make it easier to share your project with other users, we've added a Sharing button to the project dashboard. The button is located at the top right corner of the console, next to your profile avatar.
  • The Consumption API endpoint is now fully available and no longer in Preview status. You can use this endpoint to get a full list of key consumption metrics for all the projects in your Neon account in a single API request. For more info:
  • We've added a new Get URI API endpoint, which you can use to retrieve a database connection string programmatically.
  • You are now able to downgrade directly from Scale to Launch when that fits your usage needs. Previously, you needed to downgrade to the Free Tier first before moving back up to Launch.
  • The Neon CLI now offers a Linux ARM64 binary, which you can find here. For Neon CLI installation instructions, see Neon CLI — Install and connect.
  • For the Neon serverless driver, a cancellation command is now triggered in Postgres for queries over HTTP that exceed the 15-second timeout for long-running queries. Additionally, user-facing error classification names were added to make it easier to identify error types for queries over HTTP.
  • Added a Suggest an integration button to the Integrations page in the Neon Console, where you can share your feedback about the integrations Neon should add next. The button replaces a suggestion card.
  • Fixed the Revoke access confirmation modal that is displayed when revoking access to a shared project. The modal appeared blank.
  • Improved the field validation on the registration form on the Neon Sign Up page.
  • Fixed an issue that prevented changing the email address of a Neon account.
  • Corrected an issue that occurred when accessing Neon as a new user via the Neon CLI. After registering for a Neon account, the registering user was not directed back to the correct page to complete the authentication process.
  • Changed the "Storage" label on the Branches widget and Branches page to "Data size" to avoid confusion with the Storage label on the Usage widget. "Data size" refers to your logical data size, while "Storage" is the data size and history for all branches in your project. For more information about Storage in Neon, see Usage metrics.

Neon Vercel Integration enhancements

  • Manage branches created by the integration: The Neon Vercel Integration creates a branch for each preview deployment. To avoid using up your storage or branch allowances, we recommend removing old or obsolete branches regularly. You can now do this from the Vercel integration drawer in the Neon Console. See Manage branches created by the integration.
  • Change the database and role for preview branches: When you install the integration, you select a database and role for your Neon project. The integration uses these details to define database connection variables for your preview branches. You can now change the database and role for new preview branches from the Vercel integration drawer in the Neon Console. See Change the database and role for preview branches.
  • Fixed an issue that prevented Vercel environment variables created by the integration from being removed when deleting the associated Neon project.

Fixes & improvements

  • You can now view the sign-in methods configured for your Neon account from the Profile page under Account Settings. The Profile page also supports unlinking social accounts such as Google or GitHub from your Neon account.
  • When creating a project, the default Postgres role created with your project is now named for the database using the following naming scheme: dbname_owner, where dbname is the name of the database. This change reflects that the default Postgres role is the owner of the initial database that is created with the project.

The Neon Vercel Integration is now GA

After several improvements and enhancements, we're excited to announce that the Neon Vercel Integration is now officially out of beta and has entered General Availability (GA). Thank you to all our early adopters for your valuable feedback.

Using Neon with Vercel enables you to deploy a managed Postgres backend in seconds and automatically create a database branch for each preview deployment. To learn more, see Connect with the Neon Vercel Integration.

Fixes & improvements

  • The Neon Vercel Integration now supports immediate update of Postgres environment variables from the Vercel drawer on the Integrations page in the Neon Console. For instructions, see Manage Vercel integration settings.
  • Fixed an issue that prevented a Scale plan user from submitting a support ticket from the Create Support Ticket form in the Neon Console.
  • Added alert messages that appear in the Usage section on the Billing page when approaching or exceeding your plan allowances. For information about Neon plans and allowances, see Neon plans.
  • Added a confirmation dialog showing the selected plan and payment method when a user selects Upgrade to Launch plan or Upgrade to Scale plan on the Billing page in the Neon Console.
  • Updated PgBouncer to version 1.22.1. Neon uses PgBouncer to provide support for connection pooling.
  • Removed a redundant Close button from the Edit compute endpoint drawer on the Free Tier.
  • Fixed an issue that caused project creation limits to be ignored when creating a new project before the previous project creation operation was finished.
  • Fixed an issue that incorrectly permitted a Neon account to share a project with the owner of the project.

What's new in docs?

We have a few new guides for you to check out this week:

Fixes & improvements

  • The Neon Vercel Integration now displays a message on the Deployment Details page in Vercel under Running checks if you exceed the branch limit for your Neon project.
  • Added Application-Layer Protocol Negotiation (ALPN) to the Neon Proxy, enabling the serverless driver to prefer HTTP/2 connections.
  • The IP Allow feature now supports specifying IPv6 addresses.
  • Improved error messaging for connection failures when IP Allow is enabled and the IP address of the connecting client is not on the allowlist.
  • The neon_superuser role now has full privileges on tables and sequences created in the public schema and can grant those privileges to other roles. This change ensures that tables and sequences created under a Postgres superuser role during extension installation are fully accessible to a neon_superuser.
  • A connection dropped by the Neon SQL Editor while running a query now cancels the query process in Postgres. Previously, the query process was left running.
  • Adjusted the Usage section on the Billing page, including changing the way extra usage is displayed for Scale plan accounts. Instead of showing extra usage separately, the displayed limits are increased.
  • The Get projects and Get shared projects APIs now fetch all projects when using the search parameter. If a limit value is specified, it is applied after the fetch to limit displayed results.
  • Improved the error code and message displayed when a user reaches the compute-hour limit for non-primary branch computes.
  • Fixed issues with the Branch selector in the Connection Details widget that occurred when switching projects using the project breadcrumb selector.
  • Adjusted the behavior of the project breadcrumb selector in the Neon Console to accommodate slow network connections. A "loading" icon is now displayed while the project menu is loaded, and a link to the currently loaded project is displayed until the project menu is ready.
  • Improved the Django settings.py connection snippet and added a .env connection snippet to the Connection Details widget in the Neon Console.
  • The Feedback link found in the sidebar of the Neon Console can now be accessed via a direct link, which we've incorporated into the documentation and elsewhere.

Branch restore with Time Travel Assist

We are thrilled to announce the full launch of our Branch Restore feature with Time Travel Assist, now available for all users.

Using the new Restore page in the Neon Console, or the branches restore command in the Neon CLI, you can easily restore a branch to an earlier state in its own or another branch's history. From the Restore page in the Neon Console, you can also use Time Travel Assist to connect to a specific point in your history retention window, letting you run read-only queries against the point-in-time connection to pinpoint the exact moment you need to restore to, or perform other troubleshooting from your data's history.

Read more about the different types of restore operations available, as well as how to use Time Travel assist, on our documentation page for the feature: Branch restore. You can also follow along with a sample restore from history operation in our blog post, Announcing Point-in-Time Restore, or go for a deeper dive into the technical underpinnings of the feature in Point In Time Recovery Under the Hood in Serverless Postgres.

New Pricing Plans

New pricing plans went into effect earlier this week. This was a significant change with a lot of effort behind the scenes and out front to get it right. We added two new pricing plans, Launch and Scale, bringing us to four different plans to choose from: Free Tier, Launch, Scale, and Enterprise. Visit our Pricing page to learn about the features, allowances, and pricing details for each plan. For an overview of how billing works for these plans, start here.

We know this is a big change. For a rationale about the thinking that went into it, read this blog post, Making pricing more predictable, by our co-founder, Stas Kelvich.

Autoscaling graphs for better observability

Getting better visibility into how your compute scales up and down based on actual usage has been a highly requested feature for our paying users. As a step towards improving monitoring and observability in the Neon Console, we are introducing a new Autoscaling graphs usage visualization tool, available now for all paying users with autoscaling enabled.

To access this view, open a branch from Project → Branches, or from the new Branch → Overview page, and edit the branch's Compute.

Autoscaling graph

New navigation in the Neon Console

We've also made big changes to how you find your way around your projects and branches in the Neon Console. First, we separated our sidebar links into easier-to-understand categories: Project, Branch, and Resources. You can find actions related to either Project or Branch under each label, with support options grouped under Resources.

We also added a more dynamic breadcrumb, with selectors letting you switch between projects and branches, depending on where you are in the Neon Console. This short clip shows you how the navigation works, as well as how to get to the new autoscaling graphs for a selected branch's compute.

Some other nice updates include:

  • Added bold page titles to more easily identify which page you are on as you move through the Neon Console. If you click through to the Operations page or Integrations page for example, through whatever path you take to get there, you'll better know where you are.
  • We've moved your profile avatar to the header of the page, giving you easier access to your account settings and API keys.

Neon Vercel Integration improvements

The following changes were made to the Neon Vercel Integration:

  • To ensure that users accessing a Neon database from a serverless environment have enough connections, the DATABASE_URL and PGHOST environment variables added to a Vercel project by the Neon integration are now set to a pooled Neon connection string by default. Pooled connections support up to 10,000 simultaneous connections. Previously, these variables were set to an unpooled connection string supporting fewer concurrent connections.

    For tools or applications that require a direct database connection, we added two new environment variables that are set to an unpooled connection string: DATABASE_URL_UNPOOLED and PGHOST_UNPOOLED. If necessary, you can configure the Neon Vercel Integration to use these variables. See Manage Vercel integration settings. for more information.

    For information about "pooled" vs "unpooled" connections in Neon, see Connection pooling.

  • Adjustments were made to ensure that the integration correctly branches from the primary branch of your Neon project after changing the primary branch.

  • Resolved a problem encountered during the Neon Vercel Integration setup that caused inconsistencies in the branch, roles, and databases displayed when selecting a Neon project.

  • Improved reliability in keeping environment variables set by the Neon Vercel Integration synchronized with those set in your Vercel project.

To learn more about the Neon Vercel Integration, see Connect with the Neon Vercel Integration.

Prisma: One connection to rule them all

Connecting to Neon is simplified with Prisma ORM 5.10.0 or higher. You can now use a single pooled connection string when connecting from Prisma to your Neon database. Previously, to use connection pooling with Neon, you had to configure two connections: a pooled database connection for Prisma Client and a direct database connection for Prisma Migrate (using Prisma’s directUrl datasource field). Additionally, you no longer have to append a pgbouncer=true option to a pooled Neon connection string.

The simplified configuration looks similar to this:

schema.prisma file:

datasource db {
  provider = "postgresql"
  url   = env("DATABASE_URL")
}

.env file:

# Pooled Neon connection string
DATABASE_URL="postgres://alex:AbC123dEf@ep-cool-darkness-123456-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require"

Support for pg_ivm

We've introduced support for the pg_ivm extension in Neon, offering an efficient way to maintain materialized views using Incremental View Maintenance (IVM). With IVM, only the changes since the last refresh are added to the materialized view instead of recomputing the entire view. This can lead to significant performance improvements, especially when you have frequent updates affecting only a small portion of your data.

For more information about the extension, see pg_ivm. For a full list of extensions supported in Neon, see Supported Postgres extensions.

Fixes & improvements

  • As part of the overall move to new pricing plans, the history retention period for Free Tier users is now 1 day. Previously, it was 7 days.
  • Fixed an issue that sometimes prevented users from successfully logging in using neonctl auth. Previously, if you were not logged in to the Neon Console, authentication via the CLI would sometimes fail. Read more about web authentication on the CLI Install page.
  • Added new Grafbase and Outerbase cards to the Integrations page. If you're interested in either of these, head to the Integrations page and click Request to add your vote.
  • Various improvements to the SQL Editor, including improved pagination for large result sets and the ability to cancel an in-progress query using the Escape key.
  • Fixed an issue with some Safari browser versions where disabled inputs were rendered invisible (instead of just greyed out).
  • Reaching the max_connections limit in your Postgres instance now results in a human-readable error message, with a suggestion to increase the minimum vCPU for your compute endpoint. Previously, the server just kept silently retrying the connection until timeout or a cancelation request.
  • When creating a new project, items in the Region selector are now grouped by continent to make it easier to find individual regions.
  • Under Account Settings, you can now manage your password settings from a dedicated new Password section instead of from the Profile section.
  • Fixed an issue that sometimes caused email change operations to fail.
  • Fixed an issue where changing the default minimum and maximum compute sizes for autoscaling sometimes failed to save.

What's new in docs?

A new Monitoring page that gives an overview of what kinds of monitoring and observability tools and features are available in Neon right now. Expect this page to get regular updates as we add more observability features.

We have several new guides for you to check out this week:

We also added documentation for the Postgres extension pg_prewarm, used to preload data into the Postgres shared buffer cache.

Postgres version updates

Supported Postgres versions were updated to 14.11, 15.6, and 16.2, respectively.

Change the email associated with your account

We've added the ability to change the email associated with your account. For example, if you previously signed up using a GitHub or Google account and now want to use your personal email, you can make this change under Profile → Account Settings → Personal Information or using this direct link: change email. For Hasuara users, changing email is not yet supported.

See Changing your email for details.

Neon serverless driver connection caching

Connection caching is now enabled by default at the Neon proxy for HTTP fetch queries using the Neon serverless driver. Connection caching provides server-side connection pooling so that a new connection does not have to be created for each query. Previously, this feature could only be enabled by setting an experimental fetchConnectionCache option to true in your serverless driver connection configuration. If you currently specify this option, you can now remove it. The server-side connection cache works with both pooled and unpooled connections.

Fixes & improvements

  • Fixed an issue that caused asterisk values masking passwords in DATABASE_URL values to be incorrectly displayed in the Neon Vercel Integration.

  • Production environment variables set by the Neon Vercel Integration are now updated if you change your Neon project's primary branch.

  • Corrected the default Postgres in the Create project modal and Neon API.

  • Fixed an issue that caused an error page to be displayed when selecting Settings and then Storage in the Neon Console.

  • Fixed an issue that prevented users from logging in to the Neon Console.

  • The Get projects and Get shared projects APIs now include a search parameter that lets you search for projects by project name or id.

  • To prevent storage bloat, Neon now automatically removes inactive replication slots after a period of time if there are other active replication slots. If you have or intend on having more than one replication slot, please see Unused replication slots to learn more.

  • The neon_superuser role now has membership in the predefined pg_monitor Postgres role, which provides read/execute privileges on various Postgres monitoring views and functions. For example, a neon_superuser role can now:

    • View previously unavailable columns in the pg_stat_progress_vacuum view.
    • View queries executed by other users in the pg_stat_statements view.

    The neon_superuser can also grant the pg_monitor role to other Postgres roles.

IPv6 support coming soon

Neon will soon start accepting IPv6 connections at no extra charge. We will keep supporting IPv4 connections, also at no extra charge.

We'll progressively roll out IPv6 to all our supported regions throughout February. You shouldn’t experience any downtime or disturbances: if your host is IPv6 enabled and its client library prefers IPv6 by default, your new connections will start using it. No action is required from you.

If you have any questions, reach out to us in Discord.

Support for prepared statements with PgBouncer

The PgBouncer version used by Neon to offer pooled connection support was updated to version 1.22.0. This version of PgBouncer adds support for DEALLOCATE ALL and DISCARD ALL in transaction mode. In Neon, the new version of PgBouncer enables support for protocol-level prepared statements.

Support for protocol-level prepared statements with PgBouncer means you can now use prepared statements with pooled connections. Using prepared statements can help boost query performance while providing an added layer of protection against potential SQL injection attacks. To learn more, see Optimize queries with PgBouncer and prepared statements.

Fixes & improvements

  • For logical replication, CREATE PUBLICATION my_publication FOR ALL TABLES syntax is now supported in Neon. Previously, FOR ALL TABLES was not supported, and multiple tables could only be specified using CREATE PUBLICATION my_pub FOR TABLE <table1>, <table2> syntax.
  • The Branch selector in the Connection Details widget on the Neon Dashboard now has a Create new branch option.
  • The Quickstart banner that appears at the top of the Neon Dashboard for newly created projects now includes commands for creating and listing branches using the Neon CLI.
  • Added a Save changes button to the Vercel integration drawer on the Integrations page for Vercel environment variable changes. Previously, changes were saved implicitly without confirmation.
  • Corrected the globe coordinates for a supported region on the Project creation page in the Neon console.
  • Updated the documentation link on the Developer Settings page (accessed from your account Profile) to link to the Neon API documentation instead of the Neon documentation landing page.
  • Removed the requirement to specify a --project-id value when issuing a Neon CLI ip-allow command when there is only a single Neon project in your Neon account. The option is now only required if you have multiple Neon projects.

What's new in docs?

To help our users unlock the full potential of Postgres, we're building out our Postgres data type documentation. Whether you're a seasoned Postgres user or new to the platform, our new data type guides can help you get started.

Check out our new Deno Deploy guide to learn how to Connect a Neon Postgres database from your Deno application.

Explore our recently added Reset branch from parent documentation to discover how to update your working branch with the most recent updates from your main branch. For a more visual guide, see this video from Neon DevRel on X.

From the Neon blog

In case you missed them, be sure to check out our latest blog posts:

Edit this page
Was this page helpful?