Announcing autoscaling in feature-preview!Learn More

Release notes

The latest product updates from Neon

Filter by category:

What's new

  • Added documentation for Neon's newly released Autoscaling feature. To learn how Neon automatically and transparently scales compute on demand, see Autoscaling. Pro users can enable Autoscaling when creating a Neon project or afterward by editing a compute endpoint. For instructions, see:

  • Added documentation for Neon's pg_tiktoken extension. This extension enables fast and efficient tokenization of data in your PostgreSQL database using OpenAI's tiktoken library. To learn how to install the extension, utilize its features for tokenization and token management, and integrate the extension with ChatGPT models, see The pg_tiktoken extension.

  • Added documentation for pg_vector extension. This extension enables vector similarity search and storing embeddings in PostgreSQL. It is particularly useful for applications involving natural language processing, such as those built on top of OpenAI's GPT models. For information about vector similarity and embeddings, how to enable the pgvector extension in Neon, and how to create, store, and query vectors, see The pgvector extension.

  • Reorganized our Prisma documentation into two parts to make it easier for you to get started with Prisma and Neon. The first part explains how to connect Prisma to Neon, establish connections when using Prisma Client with serverless functions, and resolve connection timeout issues. The second part describes how to configure Neon with Prisma Migrate for schema migrations.

  • Added documentation describing primary and non-primary branches. Each Neon project has a primary branch called main, by default. The advantage of the primary branch is that its compute endpoint remains accessible if you exceed your project's limits, ensuring uninterrupted access to data that resides on the primary branch. Any branch not designated as the primary branch is considered a non-primary branch. To learn more, see:

  • Added definitions for Neon operations to the glossary. An operation is an action performed by the Neon Control Plane on a Neon object or resource. Operations are typically initiated by user actions, such as creating a branch or deleting a database. Other operations are initiated by the Neon Control Plane, such as suspending a compute endpoint after a period of inactivity or checking its availability. You can monitor operations to keep an eye on the overall health of your Neon project or to check the status of specific operations. When working with the Neon API, you can poll the status of operations to ensure that an API request is completed before issuing the next API request. For more information, refer to our Operations documentation.

Release note page

What's new

  • Control Plane: Added support for the timescaledb extension, which scales PostgreSQL for time-series data. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • UI: Added hover help to the PRIMARY branch badge that identifies a branch as the primary branch for a project. The help message states that the compute endpoint associated with the primary branch remains accessible if you exceed project limits, ensuring uninterrupted access to the data on your primary branch.

Bug fixes

  • UI: Fixed the Neon Project Creation dialog to display a value for the Fixed Size compute option. A value was not displayed previously.
  • UI: Fixed the Create Compute Endpoint and Edit Compute Endpoint dialogs to enable switching between Fixed Size and Autoscaling compute options, enabling you to configure the compute size for each compute endpoint individually. For information about Neon's Autoscaling feature, see Autoscaling.
  • UI: Fixed the Edit Compute Endpoint dialog so that the Autoscaling compute provisioning slider does not permit selecting unsupported minimum values. The minimum compute size for Autoscaling is 1 vCPU and 4 GB of RAM.
  • UI: Fixed an issue that caused text on the Neon Dashboard to overflow when reducing the size of the browser window.
Release note page

What's new

  • Pageserver: Added disk_size and instance_type properties to the Pageserver API. This data is required to support assigning Neon projects to Pageservers based on Pageserver disk usage.
  • Pageserver: Implemented syscalls changes in the WAL redo seccomp (secure computing mode) code to ensure AArch64 support.
  • Proxy: Added error reporting for unusually low proxy_io_bytes_per_client metric values.
  • Proxy: Added support for additional domain names to enable partner integrations with Neon.
  • Safekeeper: The wal_backup_lsn is now advanced after each WAL segment is offloaded to storage to avoid lags in WAL segment cleanup.
  • Safekeeper: Added a timeout for reading from the socket in the Safekeeper WAL service to avoid an accumulation of waiting threads.

Bug fixes

  • Pageserver: Corrected an issue that caused data layer eviction to occur at a percentage above the configured disk-usage threshold.
  • Proxy: The passwordless authentication proxy ignored non-wildcard common names, passing a None value instead. A non-wildcard common name is now set, and an error is reported if a None value is passed.
Release note page

What's new

  • API: Added consumption_period_start and consumption_period_end properties to the Get project details API. These properties provide the date and time when Neon starts and stops measuring usage for the current billing period.
  • Control Plane: Added support for the pg_stat_statements extension, which provides tracking of plan and execution statistics for SQL statements. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • Control Plane: Added an option to allow the Neon Control Plane to provide a compute node configuration specification in an API call after a compute node is started.
  • Integrations: Added information to the Neon Vercel Integration UI to indicate that Neon securely stores passwords. Neon stores a database user's password in a secure storage vault associated with the Neon project.
  • UI: You can now configure the period of inactivity after which a compute is automatically suspended by modifying the Auto-suspend delay setting for a compute endpoint. For example, you can increase the Auto-suspend delay setting to reduce how often a compute is suspended, or you can disable the Auto-suspend feature entirely to ensure that a compute remains active. The maximum Auto-suspend delay setting is 86400 seconds (24-hours). A setting of 0 means use the default (5 minutes / 300 seconds), and a setting of -1 means never suspend the compute. You can access the configuration dialog by editing a compute endpoint. Auto-suspend delay
  • UI: Added a Storage widget to the Neon Dashboard that shows current project storage size, number of branches, and data size for the primary branch. These metrics previously appeared in the Usage widget. Storage widget
  • UI: Removed the previously deprecated Pooler enabled option from the Edit Compute Endpoint dialog. Connection pooling is now enabled for individual connection strings instead of compute endpoints. For more information, see Connection pooling.
  • UI: The Usage widget in the Neon Dashboard now shows the start date for the project usage metrics shown in the widget.
  • UI: Added a link to the Pro badge that appears in the Neon Console for users that have upgraded to Neon's Pro plan. Clicking the badge directs you to the Billing page in the Neon Console.
  • UI: Added a documentation link and text to the Roles page in the Neon Console explaining the purpose of roles.
  • UI: Added hover help to the PRIMARY branch badge that identifies a branch as the primary branch for a project. The help message states that the compute endpoint associated with the primary branch remains accessible if you exceed project limits, ensuring uninterrupted access to the data on your primary branch.

Bug fixes

  • API: Project limits for shared projects are now checked against the project owner's limits. Previously, limits were checked against the project user's limits, which could prevent a Free Tier user from making full use of a project shared by a Pro plan user.
  • UI: Corrected an issue that directed users to a Something went wrong page after creating a branch without a compute endpoint.
  • UI: Added missing endpoint_id to the connection examples accessible from the Connection Details widget on the Neon Dashboard.
Release note page

What's new

  • Free Tier: The compute active time limit of 100 hours per month for non-primary branches, introduced on February 24, 2023, now applies to all Neon Free Tier projects. The limit was not applied to projects created before February 24 2023 to give users time to adjust their usage or upgrade to a paid plan. For information about Free Tier limits, see Free Tier. If you have questions about this change or upgrading to a paid plan, please contact Sales.
Release note page

What's new

  • API: Added a branch object to the Create project endpoint that allows you to specify names for the primary branch, role, and database created with a project. Previously, specifying non-default names for these objects required additional API calls after creating a project.
  • API: Updated the List project consumption endpoint description to indicate that the pagination maximum is 1000.
  • Control Plane: Added an option to enable a foreground deletion policy for Kubernetes clusters, which blocks other operations until cascading resource deletions are finished. The foreground option reduces the amount of polling for operation completion.
  • Control Plane: Added the ability to search for branches in S3 storage, enabling identification of branches in storage that have already been deleted in the console.
  • Control Plane: Simplified SQL logging to reduce the amount of log write processing.
Release note page

What's new

  • The Neon serverless driver was verified to work with Deno. Where you would install another PostgreSQL driver, run npm install @neondatabase/serverless instead, and then import the Neon serverless driver:

    import { Pool } from 'npm:@neondatabase/serverless';
Release note page

What's new

  • UI: Designating a different branch as the primary branch of a Neon project is now supported. The compute endpoint associated with the primary branch remains accessible if you exceed project limits, ensuring uninterrupted access to data on the primary branch. You can designate a new primary branch by selecting a branch from the Branches page in the Neon console and clicking Set as primary.
  • UI: A Beta version of Neon's Autoscaling feature is now available for paid plan users in selected regions. Autoscaling allows you to specify a minimum and maximum compute size. Neon scales compute resources up and down within the specified compute size boundaries to meet workload demand. The Autoscaling feature can be enabled when creating a Neon project or by editing a compute endpoint.
  • Integrations: The Neon Vercel Integration no longer resets the password of the Neon role (the Neon database user). Previously, the password was reset to enable the integration to configure Vercel environment variables that require a password. Neon now stores passwords in a secure storage vault associated with the Neon project, allowing existing passwords to be retrieved.
  • Control Plane: Free Tier compute endpoints are now assigned 0.25 Compute Units (CU) by default, which is equal 0.25 vCPUs and 1 GB of RAM.

Deprecated

  • API: Removed the quota_reset_at property from the Project consumption endpoint used by Neon partners. The property did not provide useful data.
Release note page

What's new

  • Pageserver: Logical size and partitioning values are now computed before threshold-based eviction of data layers to avoid downloading previously evicted data layer files when restarting a Pageserver.
  • Compute: Free space in the local file system that Neon uses for temporary files, unlogged tables, and the local file cache, is now monitored in order to maximize the space available for the local file cache.

Bug Fixes

  • Pageserver: The delete timeline endpoint in the Pageserver management API did not return the proper HTTP code.
  • Pageserver: Fixed an issue in a data storage size calculation that caused an incorrect value to be returned.
  • Pageserver: Addressed unexpected data layer downloads that occurred after a Pageserver restart. The data layers most likely required for the data storage size calculation after a Pageserver restart are now retained.
Release note page

What's new

  • Added a guide for connecting Neon to PolyScale. The PolyScale service makes data-driven apps faster by simplifying global data distribution and caching. You can connect Neon to PolyScale in minutes, providing your database-backed applications with speedy access to your Neon data from anywhere in the world. For more information, see Connect Neon to PolyScale.

  • Added the ability to filter the Neon release notes by category. You can now select a category such as Console, Storage, or Plans to view the updates from Neon that you are most interested in.

  • Added a Neon tutorial that covers basic Neon concepts and features. Current tutorial topics include:

    Watch for new topics as we expand the tutorial to cover more Neon concepts and features.

Release note page

What's new

  • UI: Adjusted the text in the Usage widget on the Neon Dashboard that describes the expected delay time for usage metrics.
  • UI: Adjusted the Project storage metric labels in the Usage widget to identify one as Project storage (usage), which is a measure of monthly storage in GiB-hrs, and the other as Project storage (size), which is a measure of the current data size.
  • UI: Revised the subscription cancellation warning on the Billing page.
  • UI: Updated text and links in the Neon onboarding banner in the Neon Console.
  • UI: Updated the Docs link in the Neon Console sidebar to point to the new documentation landing page.
Release note page

What's new

  • API: Updated the region_id description in the Project API to include a link to the list of regions supported by Neon.
  • UI: Revised the style of the Unsubscribe dialog accessed from the Billing page in the Neon Console.
  • UI: Updated the metric units in the Usage widget on the Neon Dashboard

Bug fixes

  • UI: Fixed an issue that prevented Usage widget metrics on the Neon Dashboard from displaying data as expected. The API that supports the widget did not provide the required data.
  • UI: Fixed an issue that caused Free Tier usage to be included in metrics data displayed in the Usage widget on the Neon Dashboard after upgrading to the Neon Pro plan. This issue did not affect billing.
Release note page

What's new

  • Pageserver: Improved the check for unexpected trailing data when importing a basebackup, which is tarball with files required to bootstrap a compute node.
  • Pageserver: Separated the management and libpq configuration, making it possible to enable authentication for only the management HTTP API or the Compute API.
  • Pageserver: Reduced the amount of metrics data collected for Pageservers.
  • Pageserver, Safekeeper: Removed unused Control Plane code.
  • Pageserver: JWT (JSON Web Token) generation is now permitted to fail when running Pageservers with authentication disabled, which enables running without the 'openssl' binary. This change enables switching to the EdDSA algorithm for storing JWT authentication tokens.
  • Pageserver: Switched to the EdDSA algorithm for the storage JWT authentication tokens. The Neon Control Plane only supports EdDSA.
  • Added metrics that enable detection of data layer eviction thrashing (repetition of eviction and on-demand download of data layers).
  • Pageserver, Safekeeper: Revised $NEON_AUTH_TOKEN variable handling when connecting from a compute to Pageservers and Safekeepers.
  • Safekeeper: Added an internal metric to track bytes written or read in PostgreSQL connections to Safekeepers, which enables monitoring traffic between availability zones.
  • Proxy: All compute node connection errors are now logged.

Bug Fixes

  • Pageserver: Fixed an issue that resulted in old data layers not being garbage collected.
  • Proxy: Fixed an issue that caused Websocket connections through the Proxy to become unresponsive.
Release note page

What's New

  • Added a Billing page describing Neon paid plans, pricing, and related topics.

  • Added instructions for using the Neon Serverless driver on Vercel Edge Functions and Cloudflare Workers. The driver is a drop-in replacement for node-postgres that allows you to query data from environments that support WebSockets but not TCP sockets.

  • Added an SDK reference page, which provides links to community-created SDKs for interacting with the Neon API. Community-created SDKs include:

    Thanks to Dmitry Kisler and Ganesh Prasannah for the contributions.

  • Updated the Neon Docs landing page. The new landing page provides a visual interface for navigating the Neon documentation site.

  • Added an RSS feed for the Neon Release notes.

  • Redirected old Neon API reference links to the new Neon API reference.

  • Updated various Neon API reference style elements to align styles with the Neon Docs site.

  • Updated the query example in the Neon Console onboarding banner and in the Query with Neon's SQL Editor topic in the documentation. The CREATE TABLE statement did not include a primary key, which prevented the data from being edited when accessed from pgAdmin.

Release note page

What's new

  • API: Added a suspend_timeout_seconds property to the Endpoint API, which specifies the duration of inactivity (in seconds) after which a compute endpoint is automatically suspended.
  • UI: Added support for fractional Compute Units (CU), enabling configuration of compute endpoints with a quarter or half CU. One CU has 1 vCPU and 4 GB of RAM.
  • UI: Adjusted the labels and text on the Edit Compute Endpoint dialog.
  • UI: Added support for Pro Plan customers to change payment details. Payment details can be changed by editing the Payment method on the Billing page in the Neon Console.
  • UI: Added a Request subscription cancellation button to the Billing page in the Neon Console, which opens an Unsubscribe dialog. Customers can use the dialog to submit a plan cancellation request.
  • UI: Revised the cancellation warning on the Billing page in the Neon Console.
  • UI: Added a safety limit of 20 active compute endpoints. When the limit is exceeded, an endpoint is created but not activated.
  • UI: When creating a branch, a complete connection string with the user name, password, and database name is now provided in the Connection Details dialog that is shown after branch creation.
  • UI: Added a Usage widget to the Neon Dashboard for monitoring project usage. The usage widget tracks metrics such as Active time, Compute time, Project storage, Branches, and Current data size.
  • UI: Added more domains to the console's Content Security Policy (CSP) HTTP response headers to enhance Neon Console security. CSP headers provide an additional layer of security for web pages by allowing a website to control what resources (such as scripts, stylesheets, and images) can be loaded and executed on its pages.
Release note page

What's new

  • In addition to the Free Tier, Neon now offers the following paid plans:

    • Pro: A usage-based plan, ideal for small-to-medium teams. With the Pro plan, you get up to 20 projects, unlimited branches, unlimited compute time, up to 200 GB of storage, and access to paid plan features such as project sharing, autoscaling (coming soon), and configurable auto-suspend compute (coming soon).
    • Enterprise: A volume-based plan for medium-to-large teams and database fleets. Includes all Pro plan features plus customized limits and potential for volume discounts.
    • Platform Partnership: A volume-based plan for large teams, database fleets, and resale. Includes all Enterprise plan features plus resale support.

    You can learn more about Neon's paid plans and pricing on the Neon Pricing page.

Release note page

What's new

  • API: Removed the physical_size property from the Branch response body in the Neon API.
  • UI: Changed the User label on the Connection Details widget to Roles. Database users are now referred to as Roles in Neon.
  • UI: Added descriptive text and a documentation link to the Integrations page in the Neon Console.
  • UI: Added support for sharing projects with other Neon users. Project sharing is performed from the Settings page in the Neon Console. The project sharing feature is available only to Neon paid plan users, but projects can be shared with any Neon user, including Free Tier users. For instructions, see Manage projects.
  • UI: Added an Upgrade to Pro option to the Neon Console to enable upgrading from Free Tier to Neon's Pro plan. For information about Neon's paid plans, please refer to Billing.

Bug Fixes

  • Control Plane: Addressed a memory leak that affected Neon Console performance. A memory limit was put in place prevent similar issues.
  • UI: Fixed the connection examples accessible from the Connection Details widget on the Neon Dashboard. Examples other than the psql example had an extra project name in the connection hostname.
  • UI: Fixed the "Manage" link on the Branches widget on the Neon Dashboard. The link did not work.
Release note page

What's new

  • Compute: Released a new pg_tiktoken PostgreSQL extension, created by the Neon engineering team. The extension is a wrapper for OpenAI’s tokenizer. It provides fast and efficient tokenization of data stored in a PostgreSQL database. The extension supports two functions:

    • The tiktoken_encode function takes text input and returns tokenized output, making it easier to analyze and process text data.
    • The tiktoken_count function returns the number of tokens in a text, which is useful for checking text length limits, such as those imposed by OpenAI’s language models.

    For more information about the pg_tiktoken extension, refer to the blog post: Announcing pg_tiktoken: A Postgres Extension for Fast BPE Tokenization. The pg_tiktoken code is available on GitHub.

  • Compute: Added support for the PostgreSQL prefix, hll and plpgsql_check extensions. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.

  • Compute, Pageserver, Safekeeper: Added support for RS384 and RS512 JWT tokens, used to securely transmit information as JSON objects.

  • Pageserver: Removed the block cursor cache, which provided little performance benefit and would hold page references that caused deadlocks.

  • Autoscaling: Added support for scaling Neon's local file cache size when scaling a virtual machine.

Release note page

What's New

  • Released a new version of the Neon serverless driver (v0.2.6), which allows you to query data from Cloudflare Workers, Vercel Edge Functions, and other environments that support WebSockets. The updated driver offers:

    • Automatic import of the ws (WebSocket library) package if required, which makes the driver easier to use on StackBlitz and with Zapatos, for example.
    • More helpful error messages when connection details are not provided. For example, a more informative error message is reported if you forget to set an environment variable for the database connection or forget to include a password in your database connection string.
  • Added three new example application repositories to help you get started with the Neon serverless driver on Vercel Edge Functions. The example application generates a JSON listing of the 10 nearest UNESCO World Heritage sites using IP geolocation (data copyright © 1992 – 2022 UNESCO/World Heritage Centre).

    UNESCO World Heritage sites app

    • The neondatabase/neon-vercel-rawsql example demonstrates using raw SQL with Neon's serverless driver on Vercel Edge Functions.
    • The neondatabase/neon-vercel-zapatos example demonstrates using Zapatos with Neon's serverless driver on Vercel Edge Functions. Zapatos offers zero-abstraction Postgres for TypeScript.
    • The neondatabase/neon-vercel-kysely example demonstrates using kysely and kysely-codegen with Neon's serverless driver on Vercel Edge Functions. Kysely is a type-safe and autocompletion-friendly typescript SQL query builder. kysely-codegen generates Kysely type definitions from your database.

    The UNESCO World Heritage sites example is also available for the Neon serverless driver on Cloudflare Workers. See neondatabase/serverless-cfworker-demo.

Release note page

Bug Fixes

  • Pageserver: Added logic to handle unexpected Write-Ahead Log (WAL) redo process failures, which could cause a Broken pipe error on the Pageserver. In case of a failure, the WAL redo process is now restarted, and requests to apply redo records are retried automatically.
  • Pageserver: Added timeout logic for the copy operation that occurs when downloading a data layer. The timeout logic prevents a deadlock state if a data layer download is blocked.
  • Safekeeper: Addressed Failed to open WAL file warnings that appeared in the Safekeeper log files. The warnings were due to an outdated truncate_lsn value on the Safekeeper, which caused the walproposer (the Postgres compute node) to download WAL records starting from a Log Sequence Number (LSN) that was older than the backup_lsn. This resulted in unnecessary WAL record downloads from cold storage.
Release note page

What's new

  • UI: Updated the labels, links, and units shown on the Project limits widget on the Neon Dashboard.

Bug Fixes

  • API: Adjusted the tags in the Neon API specification that assign endpoints to categories. The new Neon API reference displays one endpoint per page. Multiple tags assigned to an endpoint resulted in endpoints not being listed under their primary category.
  • UI: Fixed the vertical alignment of buttons on authorization dialogs.
  • UI: Removed a newline character from the connection string in the connection details dialog that is displayed after creating a new project.
Release note page

What's new

  • Compute: Added support for the PostgreSQL rum and pgTAP extensions. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.

Bug Fixes

  • Pageserver: A system metric that monitors physical data size overflowed when a garbage collection operation was performed on an evicted data layer.
  • Pageserver: An index upload was skipped when a compaction operation did not perform an on-demand download from storage. With no on-demand downloads, the compaction function would exit before scheduling the index upload.
Release note page

What's New

  • Added Neon API Operation endpoint examples and a topic describing how to poll operation status. When working with the Neon API programmatically, it may be necessary to poll operations to ensure that currently running API requests are finished before proceeding with the next request.

  • Introduced a new Neon API documentation user interface. The new UI is more user-friendly, easier to navigate, and offers a more intuitive design, making it easier for developers to find what they need and get started with our APIs quickly. The UI can be viewed in light or dark mode and includes a Try it feature that allows you execute API requests from your browser.

    Neon API documentation

Release note page

What's new

  • API: A new cpu_used_sec property was added to the Project response body in the Neon API. This property shows the number of CPU seconds used by a branch's compute endpoints. The value resets to zero at the beginning of each billing period.
  • Control Plane: By default, Neon suspends a compute endpoint after five minutes of inactivity. A custom configuration option was added to enable configuring or disabling the suspension threshold for compute endpoints. Disabling the threshold allows a compute endpoint to remain active indefinitely, which avoids latencies associated with restarting idle compute endpoints. This feature is not yet generally available. You can expect it to be introduced with Neon paid tiers.
  • UI: New Neon projects now store role passwords in a secure storage vault associated with the project, allowing passwords to be retrieved from the Connection Details widget on the Neon Dashboard. Secure password storage reduces the need for password resets and facilitates the use of Neon features that require a password. The stored passwords feature is not yet available for existing Neon projects.
  • UI: New Neon projects no longer include the system-managed web_access role. This role was used by the Neon SQL Editor and passwordless auth feature. With the introduction of stored passwords, the web_access role is no longer required. Removal of the web_access role also addresses permission issues encountered when attempting to perform actions as the web_access role on objects owned by other roles or vice versa.
Release note page

What's new

  • Compute: Added support for the following PostgreSQL extensions:
    • pg_graphql
    • pg_jsonschema
    • pg_hashids
    • pgrouting
    • hypopg
    • Server Programming Interface (SPI) extensions:
      • autoinc
      • insert_username
      • moddatetime
      • refint
    For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • Compute: Updated supported PostgreSQL versions to 14.7 and 15.2, respectively.
  • Pageserver: Optimized the log-structured merge-tree (LSM tree) implementation to reduce write amplification.
Release note page

What's New

Release note page

What's new

  • API: The connection_uris property in the Create branch response is no longer a required property, meaning that the field is not included in the response if the value is empty. The connection_uris property is now returned only in cases where a branch has only a single database and role.

  • API: Added property descriptions for Project, Branch, Endpoint, Database, Role, and Operation endpoints.

  • Control Plane: A compute endpoint now remains in an active state after resetting a password, creating a role, or creating a database. Previously, a compute endpoint was suspended following those actions. This behavior caused unnecessary latency when accessing the compute endpoint immediately afterward. The latency was due to the few seconds required to restart the compute endpoint.

  • UI: The Neon Free Tier now includes a compute endpoint with each branch. Previously, there was a limit of 3 endpoints per project. This limit was removed based on user feedback indicating that it was not conducive to developer workflows that create a branch for each preview deployment.

    Instead of limiting the number of endpoint computes in the Neon Free Tier, there is now a limit of 100 compute active time hours per month. Currently, the compute hour limit applies to newly created projects only. The limit does not yet apply to existing projects. We expect to apply the limit to all projects later this quarter. Regardless of the compute hour limit, you are always able to connect to the compute endpoint associated with the primary branch of your Neon project. For more information, see Technical Preview Free Tier.

    If you have any questions about how this change to Neon's Free Tier limits might impact your existing project, please contact us at support@neon.tech.

  • UI: With the removal of the endpoint limit, endpoints no longer appear in the Project limits widget on the Neon Dashboard.

  • UI: With the introduction of pooled connections strings (see Enable pooling), enabling pooling for a compute endpoint is deprecated. With this change, the Pooler enabled toggle on the Edit Compute Endpoint dialog is now disabled and will be removed in a future release.

  • UI: Changed a column heading in the table on the Operations page from ID to Action. The items listed in the column are operation actions rather than IDs.

  • UI: Renamed the Users page in the Neon Console to Roles. This change aligns Neon's terminology with PostgreSQL, which uses the concept of "roles" to refer to database users. (See Database roles, in the PostgreSQL documentation.) All UI elements in the Neon Console were updated to reflect this change.

  • Integrations: Improved text and fixed a documentation link in the Neon Vercel integration UI.

Release note page

What's new

  • Compute: Added support for the PostgreSQL xml2 and pgjwt extensions. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.

  • Compute: Updated the versions for the following PostgreSQL extensions:

    • Updated the address_standardizer, address_standardizer_data_us, postgis, postgis_raster, postgis_tiger_geocoder, postgis_topology extensions to version 3.3.2.
    • Updated the plv8, plls, plcoffee extensions to 3.1.5.
    • Updated the h3_pg extension to 4.1.2.

    Updating an extension version requires running an ALTER EXTENSION <extension_name> UPDATE TO <new_version> statement. For example, to update the postgis_topology extension to the newly supported version, run this statement:

    ALTER EXTENSION postgis_topology UPDATE TO '3.3.2';
  • Pageserver: Corrected the storage size metrics calculation to ensure that only active branches are counted.

  • Proxy: Enabled OpenTelemetry tracing to capture all incoming requests. This change enables Neon to perform an end-to-end trace when a new connection is established.

Release note page

What's new

  • Control Plane: Increased the PgBouncer maximum client connection setting from 1000 to 10000, enabling Neon to support up to 10000 simultaneous connections. For more information about connection pooling in Neon, see Connection pooling.
  • Control Plane: Added an internal retry mechanism for connections to the Neon proxy, which improves the success rate for connection attempts. The Neon proxy is a service that accepts and handles connections from clients that use the PostgreSQL protocol.
  • UI: Added Content-Security-Policy (CSP) HTTP response headers to enhance Neon Console security. CSP headers provide an additional layer of security for web pages by allowing a website to control what resources (such as scripts, stylesheets, and images) can be loaded and executed on its pages.

Bug fixes

  • API: The Neon API specification now shows the default (10) and maximum (100) pagination values for the List projects API endpoint. These settings were enforced previously but were not included in the Neon API specification.
  • API: Updating a project name resulted in the loss of values defined in default_endpoint_settings property, which defines custom settings for project's compute endpoints.
  • Control Plane: A chain of operations failed to run in the expected order due to a lock related issue. In addition to operations running out of sequence, some operations were executed more than once.
Release note page

What's new

  • Compute: Added support for the PostgreSQL pgvector, plls and plcoffee extensions. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • Proxy: Significantly reduced network latencies for WebSocket and pooled connections by implementing caching mechanism for compute node connection information and enabling the TCP_NODELAY protocol option. The TCP_NODELAY option causes segments to be sent as soon as possible, even if there is only a small amount of data. For more information, refer to the TCP protocol man page.
  • Pageserver: Added an experimental feature that automatically evicts layer files from Pageservers to optimize local storage space usage. When enabled for a project, Pageservers periodically check the access timestamps of the project's layer files. If the most recent layer file access is further in the past than a configurable threshold, the Pageserver removes the layer file from local storage. The authoritative copy of the layer file remains in S3. A Pageserver can download a layer file from S3 on-demand if it is needed again, to reconstruct a page version for a client request, for example.
Release note page

What's new

  • API: Added a quota_reset_at property to the Project response schema in the Neon API. This property displays a future date indicating when a resource consumption quota will be reset. For example, the Neon Free Tier offers 100 compute hours per month. The quota_reset_at property shows when that quota will be set back to 100 hours.
  • API: Added a compute_seconds_limit property to the CurrentUserInfoResponse schema in the Neon API. This property defines the monthly compute limit in terms of compute seconds.

Bug fixes

  • Integrations: The Neon integration with Vercel did not create branches for preview deployments when the Vercel user ID differed from the one specified when adding the Neon integration to Vercel. This issue was encountered when using the Neon integration from a Vercel Teams account.
Release note page

What's new

  • UI: Updated various UI elements in the Neon Console to rename Endpoints to Compute endpoints. The term Endpoint was not specific enough to accurately reflect the resource being referred to. A Compute endpoint in Neon refers the compute instance that runs PostgreSQL.
  • UI: Added a PRIMARY badge to identify the primary branch of a Neon project. The badge is visible on the Branches page in the Neon Console and in other UI elements that show a project's branches.
  • API: The default_endpoint_settings property in the Project schema was split into default_endpoint_settings and settings. The default_endpoint_settings property is now used exclusively for PostgreSQL specific settings applied to a project's compute endpoints. The settings property is used for general project settings such as the compute quota. If you have been using createProject or updateProject API requests in your code, you may need to update those requests to account for this change.
Release note page

What's new

  • Compute: Added support for the PostgreSQL postgis-sfcgal extension. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.

  • Compute: Added support for International Components for Unicode (ICU), which permits defining collation objects that use ICU as the collation provider. For example:

    CREATE COLLATION german (provider = icu, locale = 'de');
Release note page

What's new

  • Integrations: You can now integrate Neon with your Vercel project directly from your Vercel account. The new integration, which is currently in Beta, is available from the Vercel Integration Marketplace. The integration allows you to connect your Vercel project to a new or existing Neon project. It also enables creating a database branch for each Vercel preview deployment and for your Vercel development environment. For more information about the Neon-Vercel integration, see Connect Vercel and Neon.

  • Control Plane: You can now enable connection pooling in Neon for individual connections. Pooling is enabled by adding a -pooler suffix to the endpoint ID in the Neon hostname. For example:

    postgres://sally@ep-square-sea-260584-pooler.us-east-2.aws.neon.tech/neondb

    Connections that do not specify the -pooler suffix connect to the database directly. The ability to enable pooling for individual connections supports workflows that require both pooled and non-pooled connections to the same database. For example, serverless applications that use Prisma Client require a pooled connection, while Prisma Migrate requires a direct connection to the database. For more information, see Enable connection pooling.

    The previous method of enabling connection pooling for a compute endpoint is deprecated. When switching to the new per-connection method, be sure to disable connection pooling at the compute endpoint. You can do so by editing the compute endpoint.

  • UI: With the removal of the endpoint limit, endpoints no longer appear in the Project limits widget on the Neon Dashboard.

Bug fixes

  • Console: Added validation to ensure that emails are provided in the expected format when creating a Neon account.
  • Control Plane: Added validation for the Log Sequence Number (LSN) provided when creating a branch from a particular LSN value to prevent the possibility of creating a branch from an unrelated parent branch. An appropriate error is now reported when an invalid LSN value is provided.
Release note page

What's new

  • API: The response body for projects, branches, and endpoints now exposes a creation_source property. Currently, the creation_source property identifies the console as the creation source in all cases but will eventually identify other sources, such as the Neon API.
  • API: Listing projects with the Neon API now supports cursor-based pagination. Pagination enables limiting the number of responses displayed at one time, which is useful when a response includes a large number of projects. By default, the first 10 projects are returned. You can set the limit parameter to request up to 100 projects.
  • Control Plane: Added support for OpenTelemetry for a number of operations. OpenTelemetry is an observability framework that assists in generating and capturing telemetry data from cloud-native software.
  • Control Plane: Removed the stop_compute operation, which is no longer used. It was replaced by suspend_compute.
  • UI: Revised the layout of the Neon Console to improve navigation. The following enhancements were implemented:
    • A new sidebar with icons replaces the navigation bar that was located at the top of the console.
    • Operations, Databases, and Users pages, previously accessed from the Settings page, are now directly accessible from the sidebar.
    • Links to Community, Feedback, Docs, Release notes, and Support, previously located in a Help menu in the navigation bar, were moved to the sidebar for easier access.
    • The Neon account avatar was moved from the top right corner of the console to the sidebar.

Bug fixes

  • API: Fixed a race condition that occurred when creating a project and attempting to fetch information about branch in the same project.
  • Control Plane: Fixed a cannot execute GRANT in a read-only error that occurred when a database owner enabled the default_transaction_read_only setting, preventing the Control Plane from configuring the compute instance.
  • UI: Fixed the positioning of selection menus in the console to avoid scrolling outside intended boundaries.
Release note page

Features

  • Compute: Added support for the the PostgreSQL unit extension. For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • Compute: Removed logic that updated roles each time a Neon compute instance was restarted. Roles were updated on each restart to address a password-related backward compatibility issue that is no longer relevant.
  • Pageserver: Reimplemented the layer map used to track the data layers in a branch. The layer map now uses an immutable binary search tree (BST) data structure, which improves data layer lookup performance over the previous R-tree implementation. The data required to reconstruct page versions is stored as data layers in Neon Pageservers.
  • Pageserver: Changed the garbage collection (gc) interval from 100 seconds to 60 minutes. This change reduces the frequency of layer map locks.
  • Pageserver: Implemented an asynchronous pipe for communication with the Write Ahead Log (WAL) redo process, which helps improves OLAP query performance.
Release note page

Bug Fixes

  • Compute: Fixed a compute instance restart error. When a compute instance was restarted after a role was deleted in the console, the restart operation failed with a "role does not exist" error while attempting to reassign the objects owned by the deleted role.
Release note page

What's new

  • Compute: Added support for several PostgreSQL extensions. Newly supported extensions include:
    • bloom
    • pgrowlocks
    • intagg
    • pgstattuple
    • earthdistance
    • address_standardizer
    • address_standardizer_data_us
    For more information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • Compute: Updated the list of PostgreSQL client libraries and runtimes that Neon tests for connection support. The pg8000 Python PostgreSQL driver, version 1.29.3 and higher, now supports connecting to Neon.
  • Compute: Added statistics to EXPLAIN that show prefetch hits and misses for sequential scans.
  • Proxy: Updated the error message that is reported when attempting to connect from a client or driver that does not support Server Name Indication (SNI). For more information about the SNI requirement, see Connect from old clients. Previously, the error message indicated that the "Project ID" is not specified. The error message now states that the "Endpoint ID" is not specified. Connecting to Neon with a Project ID remains supported for backward compatibility, but connecting with an Endpoint ID is now the recommended connection method. For general information about connecting to Neon, see Connect from any application.
Release note page

What's new

  • Pageserver: Added support for on-demand download of layer files from cold storage. Layer files contain the data required reconstruct any version of a data page. On-demand download enables Neon to quickly distribute data across Pageservers and recover from local Pageserver failures. This feature augments Neon's storage capability by allowing data to be transferred efficiently from cold storage to Pageservers whenever the data is needed.
Release note page

What's New

  • UI: Added a Pooler enabled toggle control to the Edit endpoint dialog to permit enabling or disabling connection pooling for endpoint compute instances. The same control is available on the Create endpoint dialog. Previously, connection pooling was enabled or disabled for a project, and the control was located in Settings > General. Connection pooling is disabled, by default. For more information about Neon's connection pooling feature, see Connection pooling.
  • UI: Completed the migration of the Neon Console from Neon API v1 to Neon API v2. The Neon API v1 is deprecated.
  • UI: Added a Region column to the Projects dialog in the Neon Console to show the region where a Neon project resides.
  • UI: Improved WebSockets integration with the Neon Console, and added Websocket support for endpoint updates.
  • API: Added a branch_logical_size_limit attribute to the Neon API Project response body, which shows the logical data size limit for project branches. This attribute replaces the logical_size_limit attribute, which was shown in the Branch response body. The Neon Free Tier limits the logical data size of a branch to 3072MB (3GB).
  • API: Added the ability to delete or reassign the endpoint associated with a project's root branch. Previously, these actions could not be performed on the endpoint associated with a project's root branch. You can edit or delete an endpoint by selecting Edit or Delete from the kebab menu in the table on the Endpoints page.
  • API: Updated descriptions and examples in the Neon API v2 reference.
  • Control Plane: Migrated older branches that were created using the Neon API v1 to their parent project. Branches created with Neon API v1 existed as separate Neon projects. After the migration, the branches exist as Neon API v2 branch and endpoint objects that belong to a parent project. Connection strings for migrated branches, which use the old project_id in the hostname, are no longer valid. Instead of the project_id, an endpoint_id must be specified in the hostname. For information about constructing a valid connection string, see Connect from any application. An email with migration instructions was sent to affected users.

Bug Fixes

  • UI: Passwords are now temporarily displayed in the Connection Details widget on the project Dashboard after project creation and password reset operations. The password is displayed until you navigate away from the Neon Console or refresh the browser.
  • API: Added validation to ensure that the name specified when creating a role does not exceed 63 bytes. Role names longer than 63 bytes caused compute startup issues.
Release note page

What's New

  • Control Plane: Neon now attempts to deploy compute resources in the same availability zone as the Pageserver.
  • API: The request body for the create branch API is now optional. Previously, a request body with branch or endpoints attributes was required. Without a request body, the default behavior is to create a branch from the project's root branch (main) without an endpoint, and the branch name is auto-generated.

Bug Fixes

  • UI: Removed the password from the connection string that is displayed in the Connection Details widget on the Neon Dashboard after project creation. A connection string and .env file with the password are provided in a pop-up dialog after creating a project.
  • UI: Neon's passwordless auth feature no longer requires selecting an endpoint for projects with a single endpoint.
Release note page

What's new

  • Compute: Added support for sequential scan prefetch, which reduces round trips between Computes and Pageservers. Sequential scan prefetch allows fetching numerous pages at once instead of one by one, improving I/O performance for operations such as table scans.
  • Compute: Added support for the pg_prewarm PostgreSQL extension, which utilizes the above-mentioned sequential scan prefetch feature. The pg_prewarm extension provides a convenient way to load data into the PostgreSQL buffer cache after a cold start. For information about PostgreSQL extensions supported by Neon, see PostgreSQL extensions.
  • Compute: Updated supported PostgreSQL versions to 14.6 and 15.1, respectively.
  • Pageserver: Updated the storage_sync operation to make it more robust and reliable while syncing files between Pageservers and S3.
  • Safekeeper: Replaced etcd subscriptions with a custom Neon storage broker. The storage broker allows Safekeepers and Pageservers to learn which storage node holds a timeline and the status of a timeline while avoiding too many connections between nodes.
Release note page

What's new

  • API: Added request and response body examples to the Neon API v2 specification.
  • API: Disabled deleting or changing the endpoint compute instance associated with a project's root branch.
  • API: Added a logical_size_limit attribute to the branch schema, which shows the data size limit for a branch.
  • API: Renamed the max_project_size attribute in Neon API v1 specification to branch_logical_size_limit.
  • API: Removed the max_project_size attribute from Neon v2 API schema.
  • Control Plane: Implemented a forced suspension of endpoints that are unresponsive for more than 2 hours.
  • UI: Removed the Neon invite gate. An invitation is no longer required to try Neon. It is available to everyone. For more information, refer to the Neon is Live! blog post.
  • UI: Released the Neon database branching feature. Branching is now available to all users. For more information, refer to the Database Branching for Postgres with Neon blog post.
  • UI: Added new and improved popup dialogs for project, branch, and role creation.
  • UI: Added an Endpoints page to the Neon Console for creating and managing endpoints, which are the compute resources in your Neon project. For more information about endpoints, see Endpoints.
  • UI: Enabled creating branches with data up to a specified Log Sequence Number (LSN).
  • UI: Updated the passwordless auth feature to show the branch name on the browser page that is displayed during authentication.
  • UI: Updated the Create branch page to display the local timezone when selecting the Time option during branch creation.
  • UI: Removed branches without endpoints from the branch selector in Neon SQL Editor. To query a branch, the branch must have an associated endpoint through which a connection can be established.
  • UI: Added a Free tier widget to the Neon Dashboard, which shows how many branches and endpoints you have created and the status of your free tier limits. The widget also shows the data size limit per branch, which is 3GB. For information about Free Tier limits, see Neon Technical Preview Free Tier.

Bug fixes

  • API: Fixed a project duplication issue in the list projects method in the Neon API v1.
  • Control Plane: Improved the reliability of the passwordless auth feature.
  • Control Plane: Fixed an issue that caused an endpoint to be created in a region other than the project's region.
  • UI: Enabled reset password functionality for non-root branches.
Release note page

What's new

  • API: Creating branches using the Neon API v1 is now deprecated.
  • API: Added support for cursor pagination when listing operations.
  • API: Added validation for empty names to branch and project endpoints.
  • API: Added LSN validation to the create branch endpoint.
  • API: Made the parent_id and name attributes optional when creating a branch.
  • API: Added a complete endpoint hostname value in the endpoint response body.
  • API: Added support for changing the branch of an endpoint.
  • API: Added an allow_connections flag for endpoints to permit disabling connections to the endpoint.
  • API: Added support for creating a branch without an endpoint, which is now the default if the endpoints attribute is not specified. Creating a branch without an endpoint supports backup uses cases and useful in scenarios where the number of branches exceeds the number of available endpoints due to endpoint limits.
  • API: Added response examples to the API specification.
  • API: Create project and create endpoints now treat the region_id parameter as region.id. The attribute was previously treated as region.handle. Code that uses these endpoints may need to be updated.
  • Control Plane: Renamed the default database created in the root branch of a Neon project from main to neondb.
  • Control Plane: Added new autoscaling limits.
  • Control Plane: Added a project maintenance flag.
  • Control Plane: Added a region maintenance and testing flag.
  • UI: Added a branch ID value and Create branch button to the branch details page in the console.
  • UI: Updated the Neon Free Tier limits. See Technical Preview Free Tier for details. The new Neon Free Tier limits apply to both new and existing projects, but the previous 10 GB storage limit will be honored for existing projects that currently have more than 3 GB of data.
  • UI: Added a Delete endpoint button to the Endpoints page.
  • UI: Updated the Neon passwordless auth feature to select an endpoint to connect to instead of a project.

Bug fixes

  • API: Fixed the ordering of operations and projects.
  • API: Corrected the error reported when a duplicate branch name is used.
  • Control Plane: Added handling for ID collisions when creating a branch or endpoint.
  • UI: Fixed an endpoint polling issue.
  • UI: Stopped polling when deleting a project.
  • UI: Added handling for errors that occur when polling endpoint status.
  • UI: Removed visibility of internal service roles.
  • UI: Added handling for sign-in during passwordless auth.
  • UI: Fixed the NodeJS connection string example in the Connection Details widget on the Dashboard.
Release note page

What's new

  • UI: Postgres 15 is now the default version when creating a Neon project.
  • UI: Added support for renaming branches. To rename a branch, select the branch on the Branches page in the Neon Console and click Rename branch.
  • UI: Added TIME and LSN fields to the branch details page for child branches. The TIME field shows the time value selected when creating a branch with data up to a specified point in time. The LSN field shows a Log Sequence Number (LSN), indicating that the branch was created with data up to that LSN.
  • UI: Added a branch icon to the branch selection menu on the Databases and Users pages in the Neon Console.
  • UI: Added badges for various elements on the branch details page in the Neon Console.
  • Control Plane: Introduced a maintenance mode for Neon projects. When a project is placed into maintenance mode, its endpoints are forcibly suspended and modifications are not permitted until maintenance is completed.
  • Control Plane: Added support for Cross-Origin Resource Sharing (CORS) to the Neon API v1 and v2.
  • Control Plane: Added descriptions for endpoint categories to the Neon API v2, and changed the ApiKey tag to API Key.
  • Control Plane: Added the ability to fetch all endpoints for a specified branch to the Neon API v2. Thank you to our Neon community member for the feature request.
  • Control Plane: Added the ability to create endpoints without specifying an instance ID to the Neon API v2.
  • Control Plane: Added the ability to retrieve information about the current user to the Neon API v2. User details such as login, email, and other parameters specified in the OpenAPI specification can now be retrieved.

Bug fixes

  • UI: Fixed an issue that prevented project and endpoint statuses from being updated when making changes.
  • Control Plane: Added a "Content-Type" header with an "application/json" value to Neon API v2 error responses.
  • Control Plane: Fixed a memory leak that occurred when handling SQL requests.
  • Control Plane: Improved diagnostic information by extracting error messages from Pageserver responses during project creation.
  • Control Plane: Stopped manually rolling back the current transaction when the user cancels the context. The Go driver ConnBeginTx interface performs this operation automatically.
Release note page

What's new

  • Pageserver, Safekeeper, Compute, and Proxy: Reduced the size of Neon storage binaries by 50% by removing dependency debug symbols from the release build.
  • Pageserver: Moved the Write-Ahead Log (WAL) redo process code from Neon's postgres repository to the neon repository and created a separate wal_redo binary in order to reduce the amount of change in the postgres repository codebase.
  • Compute: Updated prefetching support to store requests and responses in a ring buffer instead of a queue, which enables using prefetches from many relations concurrently.
  • Pageserver and Safekeeper: Removed support for the --daemonize option from the CLI process that starts the Pageserver and Safekeeper storage components. The required library is no longer being maintained and the option was only used in our test environment.
  • Pageserver: Added a tenant sizing model and an endpoint for retrieving the tenant size.
Release note page

What's new

  • UI: Added support for the US East (Ohio), Europe (Frankfurt), and Asia Pacific (Singapore) regions, allowing you to create Neon projects closer to your application servers. For more information about Neon's region support, see Regions.

  • UI: Updated Neon's branching capabilities. The following enhancements were introduced:

    • Added a Branches page to the Neon Console for creating and managing branches.
    • Each project now has a root branch called main.
    • Branches now belong to a project. You can create a branch from your project's root branch (main) or from another branch in the project.
    • You can now define the data to include in a branch. You can include all data up to the current point in time or up to a past point in time.
    • Each branch is now created with a named endpoint, which is the compute instance associated with a branch. Connecting to a branch requires connecting to the branch's endpoint. You can obtain a connection string for a branch endpoint from the Connection Details widget on the Neon Dashboard.

    For more information about Neon's branching capabilities, see Branching, and Get started with branching.

    Neon Branching capabilities are not yet publicly available. If you would like to try this feature, contact us at iwantbranching@neon.tech, describing your use case and requesting that Neon enable branching for your account.

  • UI: With the addition of support for new regions and updates to Neon's branching capabilities, changes were made to the hostname in Neon connection strings. Previously, a hostname had this format: <project_id>.cloud.neon.tech. With the introduction of new regions, a <region_slug> and <platform> value were added to the hostname for projects created in newly supported regions. With the update to branching capabilities, <project_id> was replaced by <endpoint_id>. As a result of these changes:

    • Projects created in the original Neon region, US West (Oregon), have this hostname format: <endpoint_id>.cloud.neon.tech.
    • Projects created in the newly supported regions, have this hostname format: <endpoint_id>.<region_slug>.<platform>.neon.tech.

    The old hostname format continues to be supported for projects created before these changes were introduced.

  • UI: Added highlighting support for PostgreSQL 15 SQL Keywords to Neon's SQL Editor. Keywords are highlighted when entered in the SQL Editor.

  • UI: Added the ability to display the navigation bar at the top of the Neon Console as a side drawer menu on small screens.

Bug fixes

  • UI: Fixed an issue in the SQL Editor that prevented errors from being reported when rerunning multi-statement queries.
  • UI: Updated the .pgpass configuration instructions provided after creating a project or resetting a password. The instructions did not include the required PostgreSQL port number.
  • Control Plane: Improved handling of OAuth consent challenges. A user is now directed to the destination URL to complete the login or consent request instead of receiving a 410 Gone error when resubmitting an OAuth consent challenge.
  • Control Plane: Fixed memory leaks that could occur for background operations started in a context that does not expire. An operation failure could have resulted in resources not being cleaned up.
Release note page

What's new

  • Compute: Added support for PostgreSQL 15.0 and its PostgreSQL extensions. For information about supported extensions, see Available PostgreSQL extensions.
  • Compute: Disabled the wal_log_hints parameter, which is the default PostgreSQL setting. The Pageserver-related issue that required enabling wal_log_hints has been addressed, and enabling wal_log_hints is no longer necessary.
  • Pageserver: Added a timeline state field to the TimelineInfo struct that is returned by the timelines internal management API endpoint. Timeline state information improves observability and communication between Pageserver modules.
Release note page

What's new

  • Compute: Fixed an issue that prevented creating a database when the specified database name included trailing spaces.
  • Pageserver: Fixed an INSERT ... ON CONFLICT handling issue for speculative Write-Ahead Log (WAL) record inserts. Under certain load conditions, records added with INSERT ... ON CONFLICT could be replayed incorrectly.
  • Pageserver: Fixed a Free Space Map (FSM) and Visibility Map (VM) page reconstruction issue that caused compute nodes to start slowly under certain workloads.
  • Pageserver: Fixed a garbage collection (GC) issue that could lead to a database failure under high load.
  • Pageserver: Improved query performance for larger databases by improving R-tree layer map search. The envelope for each layer is now remembered so that it does not have to be reconstructed for each call.
Release note page

What's new

  • Pageserver: Increased the default compaction_period setting to 20 seconds to reduce the frequency of polling that is performed to determine if compaction is required. The frequency of polling with the previous setting of 1 could result in excessive CPU consumption when there are numerous tenants and projects.
  • Pageserver: Added initial support for online tenant relocation.
  • Pageserver: Added support for multiple PostgreSQL versions.
  • Compute: Added support for the h3_pg and plv8 PostgreSQL extensions. For information about PostgreSQL extensions supported by Neon, see Available PostgreSQL extensions.
  • Compute: Added support for a future implementation of sequential scan prefetch, which improves I/O performance for operations such as table scans.
  • Compute: Moved the backpressure throttling algorithm to the Neon extension to minimize changes to the Neon PostgreSQL core code, and added a backpressure_throttling_time function that returns the total time spent throttling since the system was started.
  • Proxy: Improved error messages and logging.
Release note page

What's new

  • Integrations: Added OAuth support for Hasura users, enabling seamless authentication with Neon from Hasura Cloud. To learn more about connecting from Hasura Cloud to Neon, see Connect from Hasura Cloud to Neon.

Bug fixes

  • UI: The Database drop-down menu in the Connection Details widget on the Dashboard and in the Neon SQL Editor now permits selecting any created database.
  • Control Plane: The availability checker now waits for the project operations queue to clear before starting.
  • Control Plane: Operations for redo are now selected based on the correct status.
  • Control Plane: The V2 branch creation endpoint is now accessible using an OAuth token.
Release note page

What's new

  • Integrations: Added read, update, delete project access scopes for OAuth applications.
  • Integrations: Added the ability to select access scopes and projects on the OAuth consent page.
  • API: Added a protected: boolean flag to the roles public API response.
  • API: Changed region and platform ids from serial numbers to strings in the public API.
  • API: Changed the operations id from a serial number to a UUID type in the public API.
  • Control Plane: Added an internal mechanism for relocating projects between Pageservers.
  • Control Plane: Stopped sending metrics to Grafana Cloud.
  • Control Plane: Removed usage of the obsolete zenith_ctl binary.
  • Control Plane: Split the monolithic project object into project, branches, and endpoints in the internal database schema.

Bug fixes

  • UI: Fixed a failure that occurred after receiving an empty response in the SQL Editor.
  • UI: Fixed an issue to ensure that table names are reset when switching between schemas on the Tables page in the Neon Console.
  • Control Plane: Fixed a passwordless auth issue that occurred when creating a new project using the project selection interface.
Release note page

What's new

  • UI: Added functionality that enables providing an OAuth app name to a client.

Bug fixes

  • UI: Fixed the title on the 'Sign in' page.
  • UI: Changed the PostgreSQL version displayed on the project dashboard to 14.5.
  • Control Plane: Fixed authentication of concurrent proxy connections to an idle compute node. Previously, one of the concurrent proxy connection attempts would fail with a Failed to connect to the compute node error.
Release note page

What's new

  • Compute: Updated the PostgreSQL version to 14.5.
  • Compute: Added support for the PostGIS extension, version 3.3.0. For information about PostgreSQL extensions supported by Neon, see Available PostgreSQL extensions.
  • Proxy: Added support for forwarding the options, application_name, and replication connection parameters to compute nodes.
Release note page

What's new

  • Control Plane: Implemented OAuth backend support and OAuth consent screens, which enable granting OAuth applications permission to create projects on behalf of users. Services interested in OAuth integration with Neon should contact partnerships@neon.tech.

Bug fixes

  • UI: Fixed the syntax highlighting for Golang snippets.
  • UI: Fixed styles for smaller screens.
Release note page

What's new

  • UI: Added a Submit Feedback feedback form to the Neon Console. The form is accessible from the Help menu.

Bug fixes

  • UI: Fixed a CORS error for API requests in the Swagger UI. The error occurred when using the 'Try it out' feature.
Release note page

What's new

  • UI: Added a Tables page to the Neon Console for viewing database schemas and tables. Drop-down menus permit navigating between project databases. Table data can be viewed by selecting the table from the sidebar.
  • UI: Added a Help menu to the Neon Console which provides links to various user assistance resources.
  • Control Plane: Added the ability to select Safekeepers from different availability zones for new projects.

Bug fixes

  • UI: Fixed the .pgpass password file instructions that are presented when resetting a password #1825.
  • UI: Added validation messages to the Project Creation dialog.
  • UI: Fixed broken links in the Neon onboarding section of the Neon Console.
  • UI: Updated the email addresses presented in the UI for requesting branching capabilities and support. The email address for requesting access to branching is iwantbranching@neon.tech. The email address to request support is support@neon.tech.
Release note page

What's new

  • UI: The Neon SQL Editor now maintains a history of previously executed queries and permits saving queries. For more information about these capabilities, see Query with Neon's SQL Editor.
  • UI: Added token-based authorization to the Swagger UI for Neon's public API.
  • UI: Changed the display status of operations waiting in the queue from In progress to Scheduling.
  • UI: Disabled controls that incorrectly remained enabled while the Neon project was in a transitive state.
  • Control Plane: Set max_replication_write_lag to 15 MB to tune the backpressure mechanism and improve PostgresSQL responsiveness under load.
  • Control Plane: Improved the ability to investigate performance issues by collecting and saving more detailed compute node startup time metrics.

Bug fixes

  • UI: Fixed incorrect encoding when switching between code samples in the Connection Details widget on the project Dashboard, and added descriptions to connection string examples.
  • UI: Fixed various typos and errors.
Release note page

Bug fixes

  • UI: Fixed an issue that prevented project status updates from being communicated to the Neon Console. Prior to this fix, the previous project status was reflected in the Neon Console until the page was reloaded.
Release note page

What's new

  • UI: Added validation to ensure that the API key Name field is not left blank when creating a new API Key on the Developer Settings page. For information about API keys, see Manage keys.
  • UI: Added a Create branch button to the project Dashboard for selected users. To request early access to Neon branching capabilities, send an email to iwantbranching@neon.tech.
  • UI: Added a detailed error message to the Neon SQL Editor for failed queries.
  • Control Plane: Added a new version of the operations executor that includes various stability and observability improvements.
  • Control Plane: Compute node logs are now dumped if the startup process fails.
  • Control Plane: Added support for deleting timeline data from all storage nodes (Safekeepers and Pageserver) after project deletion.
Release note page

What's new

  • Compute: Installed the uuid-ossp extension binaries, which provide functions for generating universally unique identifiers (UUIDs). CREATE EXTENSION "uuid-ossp" is now supported. For information about extensions supported by Neon, see Available PostgreSQL extensions.
  • Compute: Added logging for compute node initialization failure during the 'basebackup' stage.
  • Pageserver: Avoided busy looping when deletion from cloud storage is skipped due to failed upload tasks.
  • Pageserver: Merged the 'wal_receiver' endpoint with 'timeline_detail', in the internal management API.
  • Pageserver: Added reporting of the physical size with the tenant status, in the internal management API.
Release note page

What's new

  • UI: Added an Enable pooling toggle to the project General setting page, which permits enabling or disabling connection pooling for a project. For more information about Neon connection pooling support, see Connection pooling.
  • Control plane: Implemented the usage of several instances for serving the public API and web UI to enable zero-downtime deployments.
  • API: Changed the error reported when a concurrent operation on a project prevents acquiring a project lock. Error 423 Locked is now reported instead of 409 Conflict.
Release note page

What's new

  • Safekeeper: Added support for backing up Write-Ahead Logs (WAL) to S3 storage for disaster recovery.
  • Safekeeper: Added support for downloading WAL from S3 storage on demand.
  • Safekeeper: Switched to etcd subscriptions to keep Pageservers up to date with the Safekeeper status.
  • Safekeeper: Implemented JSON Web Token (JWT) authentication in the Safekeeper HTTP API.
  • Proxy: Added support for propagating SASL/SCRAM PostgreSQL authentication errors to clients.
  • Compute: Updated the PostgreSQL version to 14.4.
  • Compute: Renamed the following custom configuration parameters:
    • zenith.page_server_connstring to neon.pageserver_connstring
    • zenith.zenith_tenant to neon.tenant_id
    • zenith.zenith_timeline to neon.timeline_id
    • zenith.max_cluster_size to neon.max_cluster_size
    • wal_acceptors to safekeepers
  • Control Plane: Renamed zenith_admin role to cloud_admin.
  • Pageserver: Implemented a page service fullbackup endpoint that works like basebackup but also sends relational files.
  • Pageserver: Added support for importing a base backup taken from a standalone PostgreSQL instance or another Pageserver using psql copy.
  • Pageserver: Fixed the database size calculation to count Visibility Maps (VMs) and Free Space Maps (FSMs) in addition to the main fork of the relation.
  • Pageserver: Updated the timeline size reported when DROP DATABASE is executed.
  • Pageserver: Decreased the number of threads by running gc and compaction in a blocking tokio thread pool.
  • Pageserver: Switched to per-tenant attach/detach. Download operations of all timelines for one tenant are now grouped together so that branches can be used safely with attach/detach.

Bug fixes

  • Compute: Enabled the use of the CREATE EXTENSION statement for users that are not database owners.
  • Safekeeper: Fixed the walreceiver connection selection mechanism:
    • Reconnecting to a Safekeeper immediately after it fails is now avoided by limiting candidates to those with the fewest connection attempts.
    • Increased the max_lsn_wal_lag default setting to avoid constant reconnections during normal work.
    • Fixed wal_connection_attempts maintenance, preventing busy reconnection loops.
Release note page

What's new

  • Control Plane: Implemented connection pooling support for Neon projects, allowing Neon to support a greater number of connections. For information about enabling connection pooling for a Neon project, see Connection pooling.
  • API: Added a pooler_enabled property to the project update API call to indicate whether or not connection pooling is enabled.

Bug fixes

  • API: Fixed several bugs that could cause intermittent 409 responses, which indicate a request conflict with the current state of the target resource.
Release note page

What's new

  • UI: The Neon Technical Preview invite code is now requested only at the first login.
  • UI: Added a cover to password fields to protect passwords from view. Passwords are presented to users after performing actions such as creating a project, creating a user, or resetting a password.
  • API: Changed the user_id type from int64 to uuid.
  • API: Implemented a unified JSON error response where possible, in the format of { "message": "error text" }.
  • API: Made platform, region, and instance_type ids optional during new project creation.

Bug fixes

  • Control Plane: Fixed an issue that allowed the web_access system role to be modified or deleted, which could affect the functioning of the Neon SQL Editor.
Release note page
Edit this page
Was this page helpful?