Files
craft-libs/docs/update-testing.md
T

1.8 KiB

Testing update prompts

Every native Craft App accepts an environment variable derived from its app id: uppercase, hyphens replaced with underscores, followed by _PRETEND_VERSION. Run each command from the corresponding app checkout, with a craft-update pin that includes this fix. These app packages are not part of the craft-libs workspace. For example:

LIGHTCRAFT_PRETEND_VERSION=0.0.1 cargo run -p lightcraft
WORDCRAFT_PRETEND_VERSION=0.0.1 cargo run -p wordcraft
PDFCRAFT_PRETEND_VERSION=0.0.1 cargo run -p pdfcraft

The shared updater uses this version for startup checks, manual checks, the prompt's running-version label, and installation checks. It still fetches real release metadata; a network error or an app with no published newer release cannot produce an update prompt. Use Help → Check for Updates to see errors that the startup check only logs.

An app-specific setting takes priority over the legacy shared ARTCRAFT_LAUNCHER_PRETEND_VERSION setting. An invalid version falls back to the compiled package version. Leave the variables unset for normal version detection. The restart helper clears both settings for the app so a newly installed copy reports its real version.

CRAFT_UPDATE_DEV=1 separately lets a development executable be treated as an installed copy for testing installation. It is unnecessary to preview a prompt. Download/install buttons perform a real update; a pretend version does not simulate installation. The explicit override also applies to the installation version check, allowing tests to reinstall the current release or replace a newer development build. Leave it unset to retain the normal protection against installing an older or equal version.

Web builds have no updater. These settings apply to native builds only.