Summary
openclaw update status incorrectly flags 2026.2.21-2 as older than 2026.2.21, causing a false "update available" warning.
Root Cause
OpenClaw uses -N (e.g. -2) as a build/patch suffix (meaning: newer than the base), but npm semver interprets -N as a pre-release identifier, which ranks lower in precedence than the base release.
This causes two issues:
npm install -g openclaw@latest resolves to the -N build (because npm's latest tag was explicitly set to it), but update status then compares it against the base version string and reports it as behind.
- Users following the "update available" prompt may actually downgrade to the base release.
Steps to Reproduce
- Install
[email protected]
- Run
openclaw update status (or observe the version checker in digest output)
- Output reports "current version is behind latest release" pointing to
2026.2.21
Expected Behavior
2026.2.21-2 should be treated as equal to or newer than 2026.2.21 when the -N suffix denotes a build increment.
Suggested Fix
Either:
- Option A: Change the version naming convention from
YYYY.M.D-N to YYYY.M.D.N (dot-separated build number), which semver ranks correctly
- Option B: In the update checker, custom-parse the
-N suffix and treat it as a build increment rather than a pre-release tag
Summary
openclaw update statusincorrectly flags2026.2.21-2as older than2026.2.21, causing a false "update available" warning.Root Cause
OpenClaw uses
-N(e.g.-2) as a build/patch suffix (meaning: newer than the base), but npm semver interprets-Nas a pre-release identifier, which ranks lower in precedence than the base release.This causes two issues:
npm install -g openclaw@latestresolves to the-Nbuild (because npm'slatesttag was explicitly set to it), butupdate statusthen compares it against the base version string and reports it as behind.Steps to Reproduce
[email protected]openclaw update status(or observe the version checker in digest output)2026.2.21Expected Behavior
2026.2.21-2should be treated as equal to or newer than2026.2.21when the-Nsuffix denotes a build increment.Suggested Fix
Either:
YYYY.M.D-NtoYYYY.M.D.N(dot-separated build number), which semver ranks correctly-Nsuffix and treat it as a build increment rather than a pre-release tag