diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a4691ff0fe..ebca3c5ca92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- Plugin SDK/release guard: add explicit `openclaw/plugin-sdk` export verification in tests and release checks to prevent missing runtime exports from shipping and breaking channel extensions. (#28575) Thanks @Glucksberg. - Synology Chat/webhook compatibility: accept JSON and alias payload fields, allow token resolution from body/query/header sources, and ACK webhook requests with `204` to avoid persistent `Processing...` states in Synology Chat clients. (#26635) Thanks @memphislee09-source. - OpenAI Codex OAuth/TLS prerequisites: add an OAuth TLS cert-chain preflight with actionable remediation for cert trust failures, and gate doctor TLS prerequisite probing to OpenAI Codex OAuth-configured installs (or explicit `doctor --deep`) to avoid unconditional outbound probe latency. (#32051) Thanks @alexfilatov. - Synology Chat/webhook ingress hardening: enforce bounded body reads (size + timeout) via shared request-body guards to prevent unauthenticated slow-body hangs before token validation. (#25831) Thanks @bmendonca3. diff --git a/scripts/release-check.ts b/scripts/release-check.ts index b97f9fd595f..03ceff6b94e 100755 --- a/scripts/release-check.ts +++ b/scripts/release-check.ts @@ -164,6 +164,10 @@ function checkAppcastSparkleVersions() { console.error("release-check: appcast sparkle version validation failed:"); for (const error of errors) { console.error(` - ${error}`); + } + process.exit(1); + } +} // Critical functions that channel extension plugins import from openclaw/plugin-sdk. // If any are missing from the compiled output, plugins crash at runtime (#27569).