Skip to content

nav-pilot: release versions are not comparable semver, so mise picks an older release as latest #818

Closed as not planned

Description

@Starefossen

2026.09.12-225921-bb3fbb6 is not valid semver: 09 has a leading zero and there are two hyphens, so the whole tail parses as a prerelease. Tools that sort by semver get the order wrong.

Measured with mise 2026.9.1:

$ mise latest 'github:navikt/copilot[exe=nav-pilot,version_prefix=nav-pilot/]'
2026.09.11-094828-baf3c85      # newest release is 2026.09.12-225921-bb3fbb6

Pinning the version works, so the mise install path is usable, but unpinned users silently get a stale binary. dpkg compares digit runs numerically and sorts our versions correctly, so apt is unaffected. Homebrew is unaffected because the tap pins each version explicitly.

A scheme change would touch the tap, install.sh, the release notes and cplt, which uses the same scheme, so it is a decision, not a fix. One option that stays date-based and sorts correctly:

2026.9.12-225921+bb3fbb6

No leading zeros, one hyphen, sha as build metadata.

Activity

  1. Starefossen commented on Sep 14, 2026

    @Starefossen
    MemberAuthor

    Deferred, deliberately.

    The blast radius is smaller than it first looked: this is mise/ubi only. dpkg sorts our versions correctly, verified against the packages now in the apt pool, and brew and the install script both resolve the right release. So the users affected are those installing through mise, and the fix costs a version-scheme change that breaks every existing tag prefix and every pinned install, plus a transition for the apt pool and both taps.

    Not worth that today. Revisit if mise becomes a common install route.

  2. added
    bugSomething isn't working
    nav-pilotnav-pilot CLI toolkit
    github_actionsPull requests that update GitHub Actions code
    on Oct 15, 2026
  3. changed the title [-]Release versions are not comparable semver, so mise picks an older release as latest[/-] [+]nav-pilot: release versions are not comparable semver, so mise picks an older release as latest[/+] on Oct 15, 2026
  4. Starefossen commented on Oct 31, 2026

    @Starefossen
    MemberAuthor

    Closing as won't fix (owner decision 2026-10-31). Changing the version scheme would break tag prefixes, the tap, install.sh, cplt and pinned installs, for one install path.

    Workaround for mise users: pin the version instead of relying on latest, e.g. mise use 'github:navikt/copilot[exe=nav-pilot,version_prefix=nav-pilot/]@2026.10.30-103503-58ab4f5', and update with nav-pilot upgrade. Homebrew, apt and install.sh are unaffected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggithub_actionsPull requests that update GitHub Actions codenav-pilotnav-pilot CLI toolkit

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions