Watch Neon Developer Days 🚀Read More

Release notes

The latest product updates from Neon

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.
  • 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.

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.

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.

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.

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.

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.

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 connect feature no longer requires selecting an endpoint for projects with a single endpoint.

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.

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 connect 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 connect 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.

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 10GB storage limit will be honored for existing projects that currently have more than 3GB of data.
  • UI: Added a Delete endpoint button to the Endpoints page.
  • UI: Updated the Neon passwordless connect 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 connect.
  • UI: Fixed the NodeJS connection string example in the Connection Details widget on the Dashboard.

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?