Register for Neon Developer Days 🚀Read More

Release notes

The latest product updates from Neon

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.

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.

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.

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.

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.

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.

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.

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 connection issue that occurred when creating a new project using the project selection interface.

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.

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.

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.

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.

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.

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.

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.

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 Using API 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.

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.

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.

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.

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.

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.
Edit this page
Was this page helpful?