Skip to content

Bug: update status misreports versions with -N build suffix as outdated #23647

Description

@zac-li

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:

  1. 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.
  2. Users following the "update available" prompt may actually downgrade to the base release.

Steps to Reproduce

  1. Install [email protected]
  2. Run openclaw update status (or observe the version checker in digest output)
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions