Skip to content

Align dw upgrade documentation with downgrade-safe channel behavior #22

Description

@rmcdaniel

Problem

The CLI distribution reference no longer matches the shipped dw upgrade contract. It says the default command always downloads and replaces the binary with the supported channel, lists --version=<tag> as the pinning option, and describes --force as overriding stale-binary guards.

As of 2.0.0-rc.34, an installed binary newer than the supported channel is intentionally left unchanged, explicit release selection uses --tag, and --force does not bypass the implicit-downgrade guard. The current reference can send users to a nonexistent option and give automation the wrong expectation about default and forced upgrades.

Acceptance criteria

  • The CLI distribution reference explains forward upgrade, same-version/no-op or forced reinstall, and already-newer/no-change behavior.
  • It identifies --tag=<release> as the explicit version-selection path and makes clear that an intentional downgrade requires that explicit choice.
  • It describes --force accurately: it may re-download an equal version but does not turn an unpinned supported-channel lookup into a downgrade.
  • Human-readable and JSON examples use the shipped statuses and options without prescribing brittle prose or Markdown structure.
  • Other canonical CLI upgrade references touched by the fix do not contradict these semantics.

Delete when

Delete when public CLI documentation consistently describes the downgrade-safe default, the explicit --tag downgrade path, and the bounded meaning of --force.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P2Normal-priority product workrepo:cliOwned by the CLI repositorystatus:readyReady for implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions