Skip to content

v0.12.196

Choose a tag to compare

@1bcMax 1bcMax released this 24 May 05:39
· 25 commits to main since this release
  • Updater recovers from OpenClaw size-drop rejection. OpenClaw v2026.4.5+ refuses to write a config that would shrink the file by a large amount (data-loss guard). Users on a pre-v0.12.175 install carry ~175 entries in models.providers.blockrun.models; upgrading to a current ClawRouter legitimately trims that to ~38 (≈90 KB → 25 KB), tripping OpenClaw's guard. The updater previously surfaced this as a hard failure and rolled back, stranding users on the old version. Fix in scripts/update.sh: pipe the install output to a captured log, detect the Config write rejected: …size-drop: signature, validate the rejected payload against a conservative checklist (top-level keys unchanged, required sections present, model count actually shrank, curated count in [20, 100], non-model sections drift ≤ 2 KB, residual models section ≤ 4 KB, ≥ 65% of the drop comes from the model list), apply just the scoped model-list trim atomically (tmp.PID → rename), then fall through to a direct npm pack install of the latest version. The EXIT/INT/TERM rollback trap stays active across the fallback path so Ctrl+C still restores the previous install. Tested on a real VPS reproducing the 90728 → 25514 rejection.
  • Contributor credit. PR #170 by @0xCheetah1.