Skip to content

Add auto-update support for the main CLI tool #932

@lasomethingsomething

Description

User story

As a Shopware CLI user, I want the main CLI tool to update itself automatically, so that I always use the latest compatible version without having to manually reinstall or upgrade it.

Problem to solve

Today, users need to update the CLI manually. This creates friction, increases the chance of version drift, and can leave users on outdated or incompatible versions.

Notes / Scope Hints

  • Fits existing Shopware update direction: the platform already offers autoupdate config functionality; previous maintenance work around the CLI updater itself
  • Consider both modes: automatic background check + prompt to update
  • fully automatic install of patch/minor releases
  • Decide whether updates should happen:
  • on every command run,
  • once per day,
  • or only via explicit self-update
  • Consider enterprise environments where auto-update may need to be disabled centrally.

Acceptance criteria

  • The CLI can detect when a newer version of the main tool is available.
  • The CLI supports a self-update flow for the installed binary.
  • Users can enable or disable automatic updates.
  • Users are informed before an update is applied, unless they explicitly opt into silent updates.
  • The update process validates integrity before replacing the current binary.
  • If an update fails, the CLI remains usable and rolls back to the previous working version.
  • The CLI shows the currently installed version and the target version during the update flow.
  • Auto-update only installs versions compatible with the user’s OS and architecture.
  • The feature is documented in the CLI help output and release notes.

Readiness checklist

  • Acceptance criteria are clearly defined.
  • Backward compatibility impact addressed.
  • Documentation written.
  • Tests added or adjusted accordingly.

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions