From e3a770a61165db0aadcf49b7ea2e2495cec87dfd Mon Sep 17 00:00:00 2001 From: Wasabules <39313803+Wasabules@users.noreply.github.com> Date: Mon, 13 Jul 2026 00:17:53 +0200 Subject: [PATCH] fix(release): set installer/bundle version from the release tag Windows "Apps & features" showed 1.0.0 even for v1.1.0. NSIS writes the registry DisplayVersion (and the exe VERSIONINFO) from Wails's info.productVersion, which was never set in wails.json, so Wails fell back to its default "1.0.0" regardless of the tag. The macOS bundle version had the same latent default; the Linux .deb already derived its version from the tag. Inject the tag into wails.json (info.productVersion) before `wails build` in the Windows and macOS release jobs. Verified locally: with the tag injected, the generated wails_tools.nsh has !define INFO_PRODUCTVERSION "1.1.0", so DisplayVersion becomes 1.1.0. Closes #3 --- .github/workflows/release.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8061939..3540698 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,6 +32,17 @@ jobs: - name: Install frontend deps run: npm ci working-directory: frontend + - name: Set product version from tag + shell: bash + run: | + # Propagate the release tag into wails.json so NSIS embeds the real + # version in the Add/Remove Programs registry (DisplayVersion) and in + # the exe's VERSIONINFO. Without this, Wails falls back to its default + # "1.0.0" regardless of the tag (issue #3). + v="${GITHUB_REF_NAME#v}" + tmp="$(mktemp)" + jq --arg v "$v" '.info.productVersion = $v' wails.json > "$tmp" && mv "$tmp" wails.json + echo "wails.json info.productVersion set to $v" - name: Build with NSIS run: wails build -nsis -ldflags "-X main.AppVersion=${{ github.ref_name }}" - name: List build output @@ -65,6 +76,16 @@ jobs: - name: Install frontend deps run: npm ci working-directory: frontend + - name: Set product version from tag + shell: bash + run: | + # Same as the Windows job: propagate the tag into wails.json so the + # macOS bundle's CFBundleShortVersionString reflects the real version + # instead of Wails's default "1.0.0". + v="${GITHUB_REF_NAME#v}" + tmp="$(mktemp)" + jq --arg v "$v" '.info.productVersion = $v' wails.json > "$tmp" && mv "$tmp" wails.json + echo "wails.json info.productVersion set to $v" - name: Build run: wails build -platform darwin/universal -ldflags "-X main.AppVersion=${{ github.ref_name }}" - name: Create portable zip