fix(cli): detect IPv6 connectivity errors and suggest the IPv4 pooler#5492
Closed
avallete wants to merge 11 commits into
Closed
fix(cli): detect IPv6 connectivity errors and suggest the IPv4 pooler#5492avallete wants to merge 11 commits into
avallete wants to merge 11 commits into
Conversation
…n /apps/cli-go in the go-minor group across 1 directory (#5482) Bumps the go-minor group with 1 update in the /apps/cli-go directory: [github.com/posthog/posthog-go](https://github.com/posthog/posthog-go). Updates `github.com/posthog/posthog-go` from 1.13.0 to 1.13.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/posthog/posthog-go/releases">github.com/posthog/posthog-go's releases</a>.</em></p> <blockquote> <h2>1.13.1</h2> <h2>Unreleased</h2> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PostHog/posthog-go/blob/main/CHANGELOG.md">github.com/posthog/posthog-go's changelog</a>.</em></p> <blockquote> <h2>1.13.1</h2> <h3>Patch Changes</h3> <ul> <li>541b82f: Include group context in the <code>$feature_flag_called</code> LRU dedupe key so group-scoped flags fire a separate event for each group a user is evaluated under, instead of being dedup-ed against the first group context the same <code>(distinct_id, flag, device_id)</code> was seen under.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PostHog/posthog-go/commit/f68c74f31334c42921039fa6f19c64620a916548"><code>f68c74f</code></a> chore: release v1.13.1 [version bump] [skip ci]</li> <li><a href="https://github.com/PostHog/posthog-go/commit/541b82f623cb60016d4a628d180e056707def137"><code>541b82f</code></a> fix: include group context in $feature_flag_called dedupe key (<a href="https://redirect.github.com/posthog/posthog-go/issues/206">#206</a>)</li> <li><a href="https://github.com/PostHog/posthog-go/commit/4650ca24c595a4e0a3de29c36047e19c8d0e0677"><code>4650ca2</code></a> chore: use shared semantic PR title workflow (<a href="https://redirect.github.com/posthog/posthog-go/issues/210">#210</a>)</li> <li><a href="https://github.com/PostHog/posthog-go/commit/ba838c81f0390d57d050de33df952c69537b1fb4"><code>ba838c8</code></a> chore: validate PR titles with conventional commits (<a href="https://redirect.github.com/posthog/posthog-go/issues/209">#209</a>)</li> <li><a href="https://github.com/PostHog/posthog-go/commit/8ceb0de90586cfcb3ebb1a92bd8f5a70e40a01f0"><code>8ceb0de</code></a> docs: document public APIs and hide testing-only flag definitions method (<a href="https://redirect.github.com/posthog/posthog-go/issues/208">#208</a>)</li> <li><a href="https://github.com/PostHog/posthog-go/commit/1ce09487804d3c37b1d40152a4508d4bff08c21b"><code>1ce0948</code></a> chore: update PostHog/.github pins (<a href="https://redirect.github.com/posthog/posthog-go/issues/207">#207</a>)</li> <li>See full diff in <a href="https://github.com/posthog/posthog-go/compare/v1.13.0...v1.13.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## TL;DR ports `supabase services` to native ts ## What’s introduced adds native TS implementations for services moves the local service version rendering and linked version lookup into shared command logic, adds integration coverage for text/json output and linked version fallback behavior ## Ref - closes CLI-1307 --------- Co-authored-by: Colum Ferry <cferry09@gmail.com>
## What changed
Replaces the Phase-0 Go proxy for `supabase bootstrap` with a native
TypeScript implementation in the legacy shell. `bootstrap` is a
meta-orchestrator that chains: workdir resolve/prompt → template
list/download → blank `init` → ensure-login → `projects create` →
`projects api-keys` (backoff) → `link` services → health poll (backoff)
→ write `.env` → `db push` → start suggestion.
Per the "hoist before you duplicate" policy, the shared orchestration is
extracted from the already-ported `login` / `projects create` /
`projects api-keys` / `link` handlers into `legacy/shared/`, and those
handlers are refactored to delegate (no behavior change — their existing
tests still pass):
- `legacy-ensure-login` (browser login flow + post-login telemetry)
- `legacy-project-create-core`
- `legacy-get-api-keys`
- `legacy-link-services-core`
- `legacy-tenant-keys` (`legacyExtractServiceKeys`)
- the login api/crypto layers move to `legacy/shared/` so `bootstrap`
can compose them without a cross-command import
## Why
Phase 1+ native port of `bootstrap` (the last Quick-Start command still
proxied), unblocking native machine output (`--output-format
json|stream-json`) and removing the Go dependency for everything except
the migration push.
## Reviewer-relevant context
- **`db push` is delegated to the bundled Go binary (interim).** It is
the only non-native step, pending a separate native `db push` port.
`LegacyGoProxy.exec` exits the process on a non-zero exit rather than
returning a failure, so Go's push backoff cannot be reproduced from the
proxy (single attempt). Documented in `SIDE_EFFECTS.md`.
- **Go-parity decisions worth a look:**
- No `cli_project_linked` telemetry — Go's `bootstrap` calls
`link.LinkServices` (services-only), **not** `link.Run`, so it
deliberately skips the project-linked event, status check, and
`linked-project.json` temp write.
- API keys are fetched **without** `reveal` (Go's `RunGetApiKeys` uses
empty params).
- Workdir / DB password env vars are read **prefixed**
(`SUPABASE_WORKDIR`, `SUPABASE_DB_PASSWORD`) to match Go's
`viper.SetEnvPrefix("SUPABASE")`.
- `Using workdir …` prints only when the resolved workdir differs from
the cwd (matches Go's `ChangeWorkDir` guard).
- **Hardening:** template download rejects entries that would escape the
target directory; GitHub and health error bodies are sanitized before
surfacing.
- `docs/go-cli-porting-status.md` flips `bootstrap` `wrapped` → `ported`
with the interim-db-push note.
## Follow-ups (out of scope)
- Native `db push` port will remove the proxy delegation (eliminating
the single-attempt and transient `--password`-in-process-table
limitations).
- `bootstrap.e2e.test.ts` deferred — integration coverage is
comprehensive; e2e needs replayed API fixtures plus handling of the real
Go `db push` subprocess.
This updates the OpenAPI download flow to apply explicit JSON Patch overrides before writing the generated spec. The override corrects the SSO list response schema so items[].saml.id is optional while entity_id remains required, matching the live API response shape. The API artifacts are regenerated from the corrected OpenAPI document, and the CLI SSO list integration coverage now includes a provider whose SAML descriptor omits id.
Dependabot PRs should be approved and placed into auto-merge regardless of semver update type. This removes the semver gate from the auto-merge workflow so branch protection and required CI checks are the only merge gate for dependency updates.
## What changed - Make the warmup failure-path unit tests inject the Docker availability probe instead of touching the real Docker daemon. - Add a short timeout to the real `docker info` probe used by stack e2e warmup. ## Why The failing CI job timed out in the warmup failure-path test. Those tests were meant to exercise mocked prefetch failures, but they still ran the real Docker daemon probe first. If that probe stalls on a CI runner, the test never reaches the mocked failure path. Keeping the probe injected in those unit tests makes them hermetic, while the timeout prevents e2e warmup from hanging indefinitely on an unhealthy Docker socket.
Removes the unit test that compared the TypeScript services image matrix with the Go Dockerfile manifest. That assertion caused Docker-only Dependabot PRs to fail CI whenever Dependabot updated the Dockerfile but not the TypeScript mirror. Keeping the check out of the unit suite lets those automated dependency bumps merge when CI is otherwise green. Also broadens the CLI e2e parity normalizer so two-component Docker tags like `v14.13` are treated as volatile version output, matching the existing behavior for three-component tags. This prevents Go/TypeScript parity from failing solely because Dependabot bumped a Docker image tag. Finally narrows `LOCAL_SERVICE_IMAGES` to module scope now that tests no longer import it.
…emplates with 3 updates (#5484) Bumps the docker-minor group in /apps/cli-go/pkg/config/templates with 3 updates: postgrest/postgrest, supabase/realtime and supabase/logflare. Updates `postgrest/postgrest` from v14.12 to v14.13 Updates `supabase/realtime` from v2.103.2 to v2.103.4 Updates `supabase/logflare` from 1.43.3 to 1.43.4 Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Julien Goux <hi@jgoux.dev>
…ates (#5483) Bumps the npm-major group with 3 updates in the / directory: [@anthropic-ai/claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-typescript), [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) and [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node). Updates `@anthropic-ai/claude-agent-sdk` from 0.3.146 to 0.3.156 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/claude-agent-sdk-typescript/releases">@anthropic-ai/claude-agent-sdk's releases</a>.</em></p> <blockquote> <h2>v0.3.156</h2> <h2>What's changed</h2> <ul> <li>Updated to parity with Claude Code v2.1.156</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.156 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.156 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.156 # or bun add @anthropic-ai/claude-agent-sdk@0.3.156 </code></pre> <h2>v0.3.154</h2> <h2>What's changed</h2> <ul> <li>Fixed stdio MCP servers being incorrectly restarted on every reconcile pass due to config-equality false positives</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.154 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.154 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.154 # or bun add @anthropic-ai/claude-agent-sdk@0.3.154 </code></pre> <h2>v0.3.153</h2> <h2>What's changed</h2> <ul> <li>Updated to parity with Claude Code v2.1.153</li> </ul> <h2>Update</h2> <pre lang="sh"><code>npm install @anthropic-ai/claude-agent-sdk@0.3.153 # or yarn add @anthropic-ai/claude-agent-sdk@0.3.153 # or pnpm add @anthropic-ai/claude-agent-sdk@0.3.153 # or bun add @anthropic-ai/claude-agent-sdk@0.3.153 </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md">@anthropic-ai/claude-agent-sdk's changelog</a>.</em></p> <blockquote> <h2>0.3.156</h2> <ul> <li>Updated to parity with Claude Code v2.1.156</li> </ul> <h2>0.3.155</h2> <ul> <li>Updated to parity with Claude Code v2.1.155</li> </ul> <h2>0.3.154</h2> <ul> <li>Fixed stdio MCP servers being incorrectly restarted on every reconcile pass due to config-equality false positives</li> </ul> <h2>0.3.153</h2> <ul> <li>Updated to parity with Claude Code v2.1.153</li> </ul> <h2>0.3.152</h2> <ul> <li><code>SessionStart</code> hooks can now return <code>reloadSkills: true</code> to trigger a skill re-scan, and set the session title via <code>hookSpecificOutput.sessionTitle</code></li> <li>Added a <code>MessageDisplay</code> hook event that lets hooks transform or hide assistant message text as it is displayed</li> </ul> <h2>0.3.151</h2> <ul> <li>Updated to parity with Claude Code v2.1.151</li> </ul> <h2>0.3.150</h2> <ul> <li>The <code>api_retry</code> system message now reports <code>error: 'overloaded'</code> for 529 responses, instead of <code>'rate_limit'</code> (which is now reserved for 429). Consumers that handled 529 via <code>error === 'rate_limit'</code> should also match <code>'overloaded'</code>, or switch to <code>error_status === 529</code>.</li> <li>Updated to parity with Claude Code v2.1.150</li> </ul> <h2>0.3.149</h2> <ul> <li>Fixed <code>options.env</code> dropping <code>CLAUDE_AGENT_SDK_VERSION</code> (used for <code>User-Agent</code> and telemetry) when a custom environment is supplied, and corrected the <code>Options.env</code> docs to state that the value replaces the subprocess environment rather than merging with <code>process.env</code></li> </ul> <h2>0.3.148</h2> <ul> <li>Updated to parity with Claude Code v2.1.148</li> </ul> <h2>0.3.147</h2> <ul> <li>Updated to parity with Claude Code v2.1.147</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/0d871c8bd74bcf5902f49b329eff3c23ae8e14df"><code>0d871c8</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/7f73ab1b54878340d4a7ab7f35a1c2b6cc7de490"><code>7f73ab1</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/8039cb08921ab09047d34b61388771d76c7c1c9b"><code>8039cb0</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/33218719ae7669f46e7d6fec91dba8a10435ee37"><code>3321871</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/4fed972a4e1e8c8cf09a03b3562da78664703859"><code>4fed972</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/c15f6e270b5240290eefb91db016a7c0c1e46566"><code>c15f6e2</code></a> Use workload identity federation for Claude auth in issue triage (<a href="https://redirect.github.com/anthropics/claude-agent-sdk-typescript/issues/335">#335</a>)</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/fb2636c6ece0689638a8cf67c3d27318a172fa96"><code>fb2636c</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/321a1055052a79f3703aa06bff7d550a371c115b"><code>321a105</code></a> chore: Update CHANGELOG.md</li> <li><a href="https://github.com/anthropics/claude-agent-sdk-typescript/commit/bf61f4ab9ab71a14496cedae439e435521b32575"><code>bf61f4a</code></a> chore: Update CHANGELOG.md</li> <li>See full diff in <a href="https://github.com/anthropics/claude-agent-sdk-typescript/compare/v0.3.146...v0.3.156">compare view</a></li> </ul> </details> <br /> Updates `@anthropic-ai/sdk` from 0.97.1 to 0.100.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-typescript/releases">@anthropic-ai/sdk's releases</a>.</em></p> <blockquote> <h2>sdk: v0.100.0</h2> <h2>0.100.0 (2026-05-28)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.99.0...sdk-v0.100.0">sdk-v0.99.0...sdk-v0.100.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> Add support for claude-opus-4-8, mid-conversation system blocks, and usage.output_tokens_details (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/bb0bf278ea0afdf383b6ea711cadf3ab788ea84a">bb0bf27</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>replace literal newlines (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/66ba1421737231e50bcef295b4437ce60cc90be2">66ba142</a>)</li> </ul> <h2>sdk: v0.99.0</h2> <h2>0.99.0 (2026-05-27)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.1...sdk-v0.99.0">sdk-v0.98.1...sdk-v0.99.0</a></p> <h3>Features</h3> <ul> <li>support custom file size caps (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029">#1029</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/814cd4c6b5b01e9640d52738d87fa61fc62991e7">814cd4c</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>streaming:</strong> carry stop_details through message_delta accumulation (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1027">#1027</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/198bc277fdfccabe5e9f8a7723a2aa191b46af33">198bc27</a>)</li> </ul> <h2>sdk: v0.98.1</h2> <h2>0.98.1 (2026-05-26)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.0...sdk-v0.98.1">sdk-v0.98.0...sdk-v0.98.1</a></p> <h3>Bug Fixes</h3> <ul> <li><strong>client:</strong> preserve directory prefix in skills.versions.create uploads (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1024">#1024</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/abbcd6a47d84bc6efcf259f0f803158847f255cf">abbcd6a</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>client:</strong> swap to using Trusted Publishing (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/821a50ef1fd64270e09c026a3235a34c647cdfab">821a50e</a>)</li> <li><strong>examples:</strong> rename managed-agents private-sandbox-worker example to self-hosted-sandbox-worker (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1023">#1023</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/49fe221fe444a72715a16e4ea2e318e54ba91d4a">49fe221</a>)</li> </ul> <h2>sdk: v0.98.0</h2> <h2>0.98.0 (2026-05-21)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.1...sdk-v0.98.0">sdk-v0.97.1...sdk-v0.98.0</a></p> <h3>Features</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md">@anthropic-ai/sdk's changelog</a>.</em></p> <blockquote> <h2>0.100.0 (2026-05-28)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.99.0...sdk-v0.100.0">sdk-v0.99.0...sdk-v0.100.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> Add support for claude-opus-4-8, mid-conversation system blocks, and usage.output_tokens_details (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/bb0bf278ea0afdf383b6ea711cadf3ab788ea84a">bb0bf27</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>replace literal newlines (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/66ba1421737231e50bcef295b4437ce60cc90be2">66ba142</a>)</li> </ul> <h2>0.99.0 (2026-05-27)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.1...sdk-v0.99.0">sdk-v0.98.1...sdk-v0.99.0</a></p> <h3>Features</h3> <ul> <li>support custom file size caps (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029">#1029</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/814cd4c6b5b01e9640d52738d87fa61fc62991e7">814cd4c</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>streaming:</strong> carry stop_details through message_delta accumulation (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1027">#1027</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/198bc277fdfccabe5e9f8a7723a2aa191b46af33">198bc27</a>)</li> </ul> <h2>0.98.1 (2026-05-26)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.0...sdk-v0.98.1">sdk-v0.98.0...sdk-v0.98.1</a></p> <h3>Bug Fixes</h3> <ul> <li><strong>client:</strong> preserve directory prefix in skills.versions.create uploads (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1024">#1024</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/abbcd6a47d84bc6efcf259f0f803158847f255cf">abbcd6a</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>client:</strong> swap to using Trusted Publishing (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/821a50ef1fd64270e09c026a3235a34c647cdfab">821a50e</a>)</li> <li><strong>examples:</strong> rename managed-agents private-sandbox-worker example to self-hosted-sandbox-worker (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1023">#1023</a>) (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/49fe221fe444a72715a16e4ea2e318e54ba91d4a">49fe221</a>)</li> </ul> <h2>0.98.0 (2026-05-21)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.1...sdk-v0.98.0">sdk-v0.97.1...sdk-v0.98.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> Add support for thinking-token-count beta for estimated tokens in thinking block deltas when streaming (<a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/0528d47b0a390ee7f88d72f85ffe6079ae1c6c00">0528d47</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/6f97c4d68c67aa15aa96064e6bfdce14c6ca1452"><code>6f97c4d</code></a> chore: release main</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/1fd7ec701aa19bf83a6253b38cda2a9be972a00b"><code>1fd7ec7</code></a> feat(api): Add support for claude-opus-4-8, mid-conversation system blocks, a...</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/f5bfc105efc5fedad786ccf683d5e09532de02fc"><code>f5bfc10</code></a> docs: replace literal newlines</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/1b2500dcae08afdac762df4986b295708c21af66"><code>1b2500d</code></a> chore: release main</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/05304ab0ace3612c52de729bd259066dcb2dc5c6"><code>05304ab</code></a> ci: pin detect-breaking-changes actions to commit SHAs (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1022">#1022</a>)</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/1ec38204c89a2f2c29e818f13bf86dda7a61e5da"><code>1ec3820</code></a> fix(streaming): carry stop_details through message_delta accumulation (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1027">#1027</a>)</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/8bb6782c9548e3f38bd17e148690be093d626aca"><code>8bb6782</code></a> feat: support custom file size caps (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029">#1029</a>)</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/1fe87f37472318a18d37025d3981ccf942d6f1d8"><code>1fe87f3</code></a> chore: release main</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/a654489537d06068e54dacac2406c42333e95bd3"><code>a654489</code></a> chore(client): swap to using Trusted Publishing</li> <li><a href="https://github.com/anthropics/anthropic-sdk-typescript/commit/9c5c09856ece89df4023e1e0ed1dc97ea72d642e"><code>9c5c098</code></a> fix(client): preserve directory prefix in skills.versions.create uploads (<a href="https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1024">#1024</a>)</li> <li>Additional commits viewable in <a href="https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.1...sdk-v0.100.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for <code>@anthropic-ai/sdk</code> since your current version.</p> </details> <br /> Updates `posthog-node` from 5.35.5 to 5.35.6 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md">posthog-node's changelog</a>.</em></p> <blockquote> <h2>5.35.6</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/PostHog/posthog-js/pull/3681">#3681</a> <a href="https://github.com/PostHog/posthog-js/commit/7b84b7599d076c9c3c86f923f7d56cf937ad9874"><code>7b84b75</code></a> Thanks <a href="https://github.com/ablaszkiewicz"><code>@ablaszkiewicz</code></a>! - unify captureException in posthog core (2026-05-28)</li> <li>Updated dependencies [<a href="https://github.com/PostHog/posthog-js/commit/7b84b7599d076c9c3c86f923f7d56cf937ad9874"><code>7b84b75</code></a>]: <ul> <li><code>@posthog/core</code><a href="https://github.com/1"><code>@1</code></a>.29.13</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PostHog/posthog-js/commit/a12207094c7e7a9b72dbdb513ade41d46df0dcda"><code>a122070</code></a> chore: update versions and lockfile [version bump]</li> <li><a href="https://github.com/PostHog/posthog-js/commit/7b84b7599d076c9c3c86f923f7d56cf937ad9874"><code>7b84b75</code></a> fix: unify capture exception (<a href="https://github.com/PostHog/posthog-js/tree/HEAD/packages/node/issues/3681">#3681</a>)</li> <li>See full diff in <a href="https://github.com/PostHog/posthog-js/commits/posthog-node@5.35.6/packages/node">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Julien Goux <hi@jgoux.dev>
## Summary Updates `update-scoop.ts` so manifests pushed to `supabase/scoop-bucket` follow the same structure as the official Scoop/Main bucket entry, while keeping our bucket-specific description. - Switch Windows artifacts from versioned `.zip` URLs to unversioned `.tar.gz` URLs (`supabase_windows_amd64.tar.gz` / `supabase_windows_arm64.tar.gz`), matching Main and the unversioned aliases already published on GitHub Releases. - Move `bin` to the top level as a string (`"bin": "supabase.exe"`) instead of per-architecture array entries. - Add the Main-style `autoupdate.hash` block pointing at `$baseurl/supabase_$version_checksums.txt`. - Keep `"description": "Supabase CLI"` rather than Main's Firebase tagline. - Preserve `--local` behavior by continuing to reference versioned tarballs from `dist/`, since local builds do not create unversioned aliases. ## Context The previous manifest layout (zip URLs, `bin` inside `architecture`) was the only one in our bucket with that shape and diverged from Scoop maintainer conventions. This aligns the generated JSON with what Main reviewers expect, without changing the installed binary name or release artifact contents.
When a database host resolves to an IPv6-only address and the user's network has no IPv6 route, the dial fails with "network is unreachable" or "no route to host". The former produced no suggestion and the latter was misreported as "make sure your project exists". Detect the IPv6 literal in these connection errors and point the user at the IPv4 connection pooler via `supabase link` instead. https://claude.ai/code/session_01UaPk7dGPmiCqoKJHyV7SLz
Coverage Report for CI Build 27035445904Warning No base build found for commit Coverage: 64.012%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes CLI-1593
What
Improves the error message users see when a database connection fails because the host resolves to an IPv6-only address and their network has no IPv6 route.
SetConnectSuggestionnow recognizes the classic IPv6-unreachable signatures —connect: network is unreachableandconnect: no route to hostagainst a bracketed IPv6 literal — and surfaces an actionable suggestion:Why
Supabase direct database connections (
db.<ref>.supabase.co:5432) are IPv6-only unless the IPv4 add-on is enabled. Users on IPv4-only networks previously hit one of two unhelpful outcomes:network is unreachable→ no suggestion at allno route to host→ misreported as "Make sure your project exists on profile"Neither hinted at the real cause (IPv6) or the workaround (the IPv4 transaction pooler, set up by
supabase link).Notes
no route to host/Tenant or user not foundbranch, and requires an IPv6 literal in the message, so genuine "project not found" / Supavisor tenant errors keep their existing suggestion.dbcommands are still proxied to the bundled Go binary, so the fix lives inapps/cli-go.Warning
This currently covers the in-process pgx connection path (
db push/db pull/ migration repair). The specificdb dumpsymptom in CLI-1593 (error running container: exit 1) originates frompg_dumprunning inside a Docker container, whose stderr is streamed to the terminal but never classified — see PR discussion for the follow-up needed to cover that path.https://claude.ai/code/session_01UaPk7dGPmiCqoKJHyV7SLz