---
title: "@neon/sdk 4.0.0 drops signal from the client wait option and rejects a missing apiKey: 2026-09-09 | Harbyn"
description: "@neon/sdk 4.0.0 drops signal from the client wait option and rejects a missing apiKey, announced Sep 9, 2026."
canonical: "https://harbyn.com/changes/neon/2026-09-09-neon-sdk-4-0-0"
last-updated: 2026-10-04
---

# @neon/sdk 4.0.0 drops signal from the client wait option and rejects a missing apiKey

Markdown version of <https://harbyn.com/changes/neon/2026-09-09-neon-sdk-4-0-0>.

Breaking change - Neon. medium severity. In effect.

In @neon/sdk 4.0.0 the client-wide wait option no longer accepts signal: pass signal on each call. Calls can set wait: { pollIntervalMs, timeoutMs } in CallOptions; operations.waitFor keeps its own pollIntervalMs, timeoutMs and signal. createNeonClient now throws a client-kind error when apiKey is missing or empty instead of failing with a 401 on the first call, and NeonTimeoutError becomes the abstract base of NeonRequestTimeoutError and NeonWaitTimeoutError, which are constructed instead.

## Facts

| Fact | Value |
| --- | --- |
| Vendor | [Neon](https://harbyn.com/vendors/neon.md) |
| Kind | Breaking change |
| Severity | medium |
| Status | In effect |
| Announced | Sep 9, 2026 |
| Added to Harbyn | Oct 4, 2026 |
| Lead time | No dated deadline |
| Packages | `npm: @neon/sdk <4.0.0` |
| Vendor page | <https://github.com/neondatabase/neon-pkgs/tree/HEAD/packages/sdk> |
| Review | Reviewed by a person, extracted by a deterministic parser |

## Find it in your code

```sh
npx harbyn scan
```

The scanner reads your repository on your machine and reports every file and line that uses the identifiers above. Nothing leaves your machine.

## Sources

Where this event comes from: the page we read, when we read it, and the hash of that snapshot.

- <https://registry.npmjs.org/@neon/sdk> (release, fetched 2026-10-04 08:06 UTC, sha256 `a9eaa7748b331de29ef16c465072f3ecda0abb549b8be9146f0f2256bc6dd4ee`)

## Related changes

### More from Neon

- [@neon/sdk 3.2.0 paginated lists return bare items when throwOnError is true](https://harbyn.com/changes/neon/2026-09-08-neon-sdk-3-2-0-paginated-lists-honour-throwonerror.md) (Breaking change, announced Sep 8, 2026)
- [@neon/sdk 6.0.0 returns a Trigger union from neon.triggers and drops source\_branch\_id](https://harbyn.com/changes/neon/2026-09-16-neon-sdk-6-0-0.md) (Breaking change, announced Sep 16, 2026)
- [backend GA; @neon/sdk 5.0.0 and later take named parameters (breaking)](https://harbyn.com/changes/neon/2026-09-18-neon-sdk-5-takes-named-parameters.md) (Breaking change, announced Sep 18, 2026)
- [@neon/sdk 7.0.0 removes snapshot slugs](https://harbyn.com/changes/neon/2026-09-29-neon-sdk-7-0-0.md) (Breaking change, announced Sep 29, 2026)

### Changes at other vendors

- [Amazon Selling Partner API: October listing attribute usage and enumeration value updates](https://harbyn.com/changes/amazon-sp-api/2026-10-14-sp-api-updates-new-listings-items-api-ivp-values-in-eu5-jp-and-ca-stores-oct-2.md) (effective Oct 26, 2026)
- [Supabase: four CBC-mode TLS 1.2 cipher suites will be removed from project HTTP APIs](https://harbyn.com/changes/supabase/2026-10-12-an-outdated-subset-of-tls-1-2-ciphers-will-be-disabled-on-project-http-apis.md) (effective Nov 10, 2026)
- [Google Workspace APIs: OAuth clients must be marked as agentic to call Google Workspace MCP servers](https://harbyn.com/changes/google-workspace/2026-10-12-oauth-clients-must-be-marked-as-agentic-to-call-google-workspace-mcp-servers.md) (effective Nov 11, 2026)
- [Bitbucket Cloud API: Git Credential Manager upgrade required for OAuth 2.0 Git authentication](https://harbyn.com/changes/bitbucket/2026-10-13-git-credential-manager-upgrade-required-for-oauth-2-0-git-authentication.md) (effective Nov 30, 2026)

[All upcoming deadlines](https://harbyn.com/deadlines.md)
