docs: resolve verified public source inconsistencies - #5682
Conversation
|
@KyleAMathews is attempting to deploy a commit to the neondatabase Team on Vercel. A member of the Team first needs to authorize it. |
399cf61 to
11cdb5d
Compare
|
|
||
| <Admonition type="info" title="Region and access requirements"> | ||
| Object Storage, Functions, and the AI Gateway are in beta and available only in **AWS US East (Ohio) (`aws-us-east-2`)**, on new or existing projects in that region, so use a project there to try them. Postgres and Managed Better Auth work in any region. The three new beta services are free to use during beta, subject to usage limits. The AI Gateway is only available on paid plans; the other two are on any plan. | ||
| Object Storage, Functions, and the AI Gateway are in beta and available only in **AWS US East (Ohio) (`aws-us-east-2`)**, on new or existing projects in that region, so use a project there to try them. Postgres is available in every supported region. Managed Better Auth is available in AWS regions, but not Azure regions. The three new beta services are free to use during beta, subject to usage limits. The AI Gateway is only available on paid plans; the other two are on any plan. |
There was a problem hiding this comment.
| Object Storage, Functions, and the AI Gateway are in beta and available only in **AWS US East (Ohio) (`aws-us-east-2`)**, on new or existing projects in that region, so use a project there to try them. Postgres is available in every supported region. Managed Better Auth is available in AWS regions, but not Azure regions. The three new beta services are free to use during beta, subject to usage limits. The AI Gateway is only available on paid plans; the other two are on any plan. | |
| Object Storage, Functions, and the AI Gateway are in beta and available only in **AWS US East (Ohio) (`aws-us-east-2`)**, on new or existing projects in that region, so use a project there to try them. Postgres and Managed Better Auth are available in all supported regions. The three new beta services are free to use during beta, subject to usage limits. The AI Gateway is only available on paid plans; the other two are on any plan. |
There was a problem hiding this comment.
Updated this to say Postgres and Managed Better Auth are available in all regions offered for new projects. That keeps the concise framing while making the scope explicit.
|
|
||
| <Admonition type="info" title="Region and access requirements"> | ||
| Object Storage, Functions, and the AI Gateway are in beta and available only in **AWS US East (Ohio) (`aws-us-east-2`)**, on new or existing projects in that region, so use a project there to try them. Postgres and Managed Better Auth work in any region. The three new beta services are free to use during beta, subject to usage limits. The AI Gateway is only available on paid plans; the other two are on any plan. | ||
| Object Storage, Functions, and the AI Gateway are in beta and available only in **AWS US East (Ohio) (`aws-us-east-2`)**, on new or existing projects in that region, so use a project there to try them. Postgres is available in every supported region. Managed Better Auth is available in AWS regions, but not Azure regions. The three new beta services are free to use during beta, subject to usage limits. The AI Gateway is only available on paid plans; the other two are on any plan. |
There was a problem hiding this comment.
Neon no longer supports Azure regions.
There was a problem hiding this comment.
Adjusted the overview to avoid mentioning Azure. The dedicated Azure deprecation material remains on the Regions page for existing-project users.
| summary: >- | ||
| Neon projects deploy to multiple AWS and Azure regions. The region is fixed at | ||
| project creation and cannot be changed afterward. Use this page to choose a | ||
| New Neon projects deploy to AWS regions. Existing Azure projects remain |
There was a problem hiding this comment.
Let's not mention Azure regions at all since they are no longer available for new projects.
There was a problem hiding this comment.
Removed Azure from the Regions summary and opening. I retained the dedicated deprecation section and Azure NAT IPs because existing Azure projects still need that guidance.
| - **Logical replication**: Enable logical replication to replicate data from your Neon project to external data services and platforms. | ||
| - **Transfer**: Transfer your project from the current organization to another organization you belong to. Transferring a project out of an organization requires the **Admin** organization role. | ||
| - **Delete**: Use with care! This action deletes your entire project and all its objects, and is irreversible. | ||
| - **Delete**: Use with care! This action deletes your entire project and all its objects. You can recover it within seven days; after that, deletion is permanent. |
There was a problem hiding this comment.
| - **Delete**: Use with care! This action deletes your entire project and all its objects. You can recover it within seven days; after that, deletion is permanent. | |
| - **Delete**: Use with care. This action deletes your entire project and all its objects. You can recover it within seven days; after that, deletion is permanent. |
philip
left a comment
There was a problem hiding this comment.
Love it, left a few comments with one change request.
| ## Delete a branch | ||
|
|
||
| Deleting a branch is a permanent action. Deleting a branch also deletes the databases and roles that belong to the branch as well as the compute associated with the branch. You cannot delete a branch that has child branches. The child branches must be deleted first. | ||
| By default, deleting a branch soft-deletes it for seven days. During that window, eligible users can recover the branch. This recovery feature is in preview and isn't available to all users. After seven days, Neon permanently deletes the branch. |
There was a problem hiding this comment.
This is great, but branch recovery development is still ongoing. It's not yet available despite a few API references leaking through along the way.
There was a problem hiding this comment.
Thanks for clarifying the release state. I removed the Branch Recovery and hard_delete guidance, restored the current permanent-deletion wording, and updated the PR body to treat the OpenAPI/SDK references as leaked pre-release artifacts. The eventual launch docs remain in draft PR #5198.
|
|
||
| <Admonition type="note"> | ||
| `neon dev` returns `200 OK` instead of `101 Switching Protocols` for WebSocket upgrade requests during beta. Test WebSocket behavior against a deployed function (`neon deploy`). | ||
| With `neon` CLI 2.45.0 or later, you can test WebSocket behavior locally with `neon dev` or against a deployed function after running `neon deploy`. With an earlier CLI version, `neon dev` returns `200 OK` instead of `101 Switching Protocols` for WebSocket upgrade requests, so test against a deployed function or upgrade the CLI. |
There was a problem hiding this comment.
Thank you for spotting this! This doc PR was waiting for the backend release that, as you noted, is here now. I'll re-test and clean up the PR.
There was a problem hiding this comment.
Thanks. I kept the narrow CLI version boundary here; #5484 can supersede it with the fuller upgradeWebSocket guidance after your retest.
|
|
||
| Neon supports the [neon-api - Python client for the Neon API](https://pypi.org/project/neon-api/), a wrapper for the [Neon API](/docs/reference/api). This SDK simplifies integration of Python applications with the Neon platform, providing methods to programmatically manage API keys, Neon projects, branches, databases, endpoints, roles, and operations. | ||
|
|
||
| <Admonition type="warning" title="Compatibility limits in version 0.3.0"> |
There was a problem hiding this comment.
Excellent, we must fully address this SDK soon. Either update (likely means rewriting completely) or deprecate. Your note is a great start!
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Summary
This PR corrects verified mismatches between Neon’s website, public OpenAPI contract, published packages, and executable SDK/CLI source. The edits are intentionally narrow: they preserve the existing tone and page structure, keep “branch your whole backend” as the product framing, and move unresolved implementation questions to this PR instead of exposing uncertainty in customer documentation.
Users get accurate lifecycle, availability, branching, package, and SDK guidance. No product code or API contract changes in this PR.
Root cause
These pages describe interfaces that evolve in separate repositories and projections. Several claims remained tied to earlier API shapes, package releases, or CLI behavior after the authoritative contract or executable source changed. In a few places, two website pages also contradicted each other.
Approach
Key invariants
Correction ledger
The website baseline for stale claims is
neondatabase/website@23681e7. The live Neon OpenAPI v2 contract was rechecked on 2026-08-31 (SHA-256d5bff604e6a0fd3676010eeca721e292c23d41d7f7f07c730b53c712426b5394). Executable-source checks useneondatabase/neon-pkgs@bf9b4c8,neondatabase/neon-api-python@a3ad034, andneondatabase/neon-js@029a336.errorand calledfailednonterminal (API-docs claim, Manage operations claim). OpenAPI describes eight statuses and says bothfailedanderrorhave ended. The SDK waiter likewise treatsfailed,error, andcancelledas terminal failures. OpenAPI retainsfailures_countandretry_atas retry history.branches.recover(), but SDK 2.0.0 removed it when the route left OpenAPI (SDK changelog). OpenAPI still leaks seven-day recovery andhard_deletetext, but the website previously reverted Branch Recovery docs because the feature was not live, and product-owner review confirms it remains unavailable.database_name, and OpenAPI says omission selects the default database.neon.tsreference defines Data API as a service and itsNEON_DATA_API_URLprojection; the glossary also lists all six backend services.ERROR, then said unsupported501responses areWARN(conflicting statements).501exception to the table.set_as_primary, revokes permissions at the collection with a body (source, current permission-item route), and reveals passwords with POST (source). Current API routes useset_as_default, a permission-id path, and GET for password retrieval.apiKeyunless anapiadapter is supplied; only the production host has an internal default (source). The same source retains the Console API-key recovery link.neon-jspublication@neondatabase/neon-js@0.7.0-betaon 2026-08-11; tagged source implements the single-URL form.neon devneonctl2.45.0 on 2026-08-06; its changelog calls out localupgradesupport, and the tagged runtime installs the listener.wal_level=logicalwas coming soon (previous claim), while current docs provide Console and API enablement.wal_leveldefaults toreplicaand becomeslogicalwhen logical replication is enabled.POST /projects/{project_id}/recover.Project.platform_idcurrently says only AWS is supported.Version and rollout audit
Dates below are the earliest verified public evidence, not inferred backend rollout dates. Dual instructions are limited to client package versions that users can still have installed.
@neon/sdkclassifiedfailed,error, andcancelledas failures by its first 0.1.0 release on 2026-06-25 (source commit).database_namewas documented by 2026-03-05 (commit).neon.tsNEON_DATA_API_URLwere documented on 2026-06-16 (commit).501→WARNexception when introduced on 2026-07-14 (commit).neon-api0.3.0 remains the latest package, published 2025-01-16 (PyPI); its route shapes differ from current OpenAPI./v1release requires explicit credentials./v1reference. Keep the current explicit-key path and the still-valid Console key link.neon-jsinitializationupgradesupport first shipped inneonctl2.45.0 on 2026-08-06 (changelog).wal_level=logicalbehavior was documented in December 2023 and logical replication launched to all users on 2023-12-23 (changelog).Reviewer-confirmed release state
Branch Recovery is not currently available. The OpenAPI deletion text and earlier SDK wrapper are leaked pre-release artifacts from several failed release attempts. This PR does not publish that behavior; draft PR #5198 remains the launch destination, including final validation of child-branch behavior.
Engineering questions
These source conflicts were rechecked but are intentionally not presented as settled customer guidance:
database_nameoverride. The previous note also called one database per branch the recommended pattern, but no current product or API source found in this audit repeats that recommendation. Should the recommendation be restored, and if so, where is its current source of truth?functions:invokeenforcement: OpenAPI includesfunctions:invokeinCredentialScope, while the Functions authentication page describes a public URL with handler-owned authentication. Is the scope enforced, reserved, or stale?INFO, while the Storage page documentsINFO/WARN/ERRORby status code. The local inconsistency on the Storage page is fixed, but emitted runtime severity still needs an implementation or live-sample check.queryProjectBranchLogs,listProjectBranchLogFields, andlistProjectBranchLogFieldValuesPrivate Beta. This needs API-owner confirmation, so this PR leaves customer-facing release wording unchanged.neon-client/python version=(0.1.0). This is a package-source issue and does not require a website claim.functionversusfunctions: The package README lists singularfunction, while executable registration makesfunctionscanonical andfunctionan alias. Website command docs already use the canonical form.Non-goals and trade-offs
productionversus API/CLImain, are not treated as contradictions.Verification
npx prettier --check $(git diff --name-only origin/main...HEAD) npm run check:docs npm run check:docs-api-consistency npm run check:content-data npm run check:api-ref-generated npm run test:unit:run.changeset/config.json.Files changed
content/api-docs/operations.md,content/docs/manage/operations.md: operation status contract and retry history.content/docs/auth/branching-authentication.md: Auth default and explicit database selection.content/docs/compute/functions/websockets.md: versioned local WebSocket behavior.content/docs/data-api/access-control.md,content/docs/data-api/get-started.md,content/docs/reference/javascript-sdk.md: currentneon-jsinitialization with the pre-0.7.0-beta path retained.content/docs/get-started/backend-overview.md,public/prompts/neon-backend.md: Data API membership and service-specific lifecycle details while preserving whole-backend framing.content/docs/introduction/regions.md: current new-project region availability.content/docs/manage/branches.md,content/docs/reference/typescript-sdk.md: retain current branch-deletion guidance and remove the unavailable SDK recovery method.content/docs/manage/projects.md: project deletion and recovery consistency.content/docs/reference/compatibility.md: logical replication availability.content/docs/reference/config-runtime.md: explicit credential and host behavior plus the API-key creation link.content/docs/reference/python-sdk.md: versioned route compatibility warning.content/docs/storage/logs.md: documented501severity exception.