diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d49022..0e3b2d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Changelog +## v3.16.3 — 2026-05-13 + +### Fixes — completes v3.16.2 port-drift revert + +v3.16.2 reverted the plugin / `openclaw.plugin.json` / README / Mac mini +plist back to `3456` (the historical source default since `593d0dc`), but +missed three places in `scripts/` that still defaulted to `3478`. Those +three lines were the residual cascade source: every time `ocp doctor` or +`ocp upgrade` ran without `CLAUDE_PROXY_PORT` in the env, they probed +`3478`, reported "OCP not responding" against a healthy 3456 instance, +and (in the case of OpenClaw sync follow-ups on the maintainer's host) +re-introduced 3478 into downstream config. + +Changes: + +- `scripts/upgrade.mjs:137` — default port `3478` → `3456`. +- `scripts/doctor.mjs:84` — default port `3478` → `3456`. +- `scripts/doctor.mjs:205` — default port `3478` → `3456`. + +No behavior change for users who set `CLAUDE_PROXY_PORT` explicitly; env +still takes precedence. The fix only affects the unset-env fallback, +which now matches `server.mjs:126` and the rest of the codebase. + +Test plan: existing `test-features.mjs` cases that pin +`CLAUDE_PROXY_PORT=3478` continue to pass — they use the env path, not +the default. + ## v3.16.2 — 2026-05-12 ### Fixes — corrects v3.16.1 diff --git a/package.json b/package.json index 562460a..47825d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-claude-proxy", - "version": "3.16.2", + "version": "3.16.3", "description": "OCP (Open Claude Proxy) — use your Claude Pro/Max subscription as an OpenAI-compatible API for any IDE. Works with Cline, OpenCode, Aider, Continue.dev, OpenClaw, and more.", "type": "module", "bin": { diff --git a/scripts/doctor.mjs b/scripts/doctor.mjs index abe70b6..a88748b 100644 --- a/scripts/doctor.mjs +++ b/scripts/doctor.mjs @@ -81,7 +81,7 @@ export async function runDoctor(opts = {}) { health = opts.mockHealth; } else { try { - const port = process.env.CLAUDE_PROXY_PORT || "3478"; + const port = process.env.CLAUDE_PROXY_PORT || "3456"; const out = execSync(`curl -sf --max-time 3 http://127.0.0.1:${port}/health`, { stdio: ["pipe", "pipe", "pipe"] }).toString(); health = { status: 200, body: JSON.parse(out) }; } catch (e) { @@ -202,7 +202,7 @@ function runOauthOnly(opts, checks, push) { health = opts.mockHealth; } else { try { - const port = process.env.CLAUDE_PROXY_PORT || "3478"; + const port = process.env.CLAUDE_PROXY_PORT || "3456"; const out = execSync(`curl -sf --max-time 3 http://127.0.0.1:${port}/health`, { stdio: ["pipe", "pipe", "pipe"] }).toString(); health = { status: 200, body: JSON.parse(out) }; } catch (e) { diff --git a/scripts/upgrade.mjs b/scripts/upgrade.mjs index 7213509..d3db021 100644 --- a/scripts/upgrade.mjs +++ b/scripts/upgrade.mjs @@ -134,7 +134,7 @@ async function runFullUpgrade({ doctor, opts }) { // phase 6: post-flight (10s budget; skipped under mockExec) if (!opts.mockExec) { - const port = process.env.CLAUDE_PROXY_PORT || "3478"; + const port = process.env.CLAUDE_PROXY_PORT || "3456"; let ok = false; for (let i = 0; i < 10; i++) { try {