diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 646bad6..166b8fb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -215,7 +215,7 @@ jobs: fi # Updater artifacts (in-app self-updater). Renamed per-arch so the two - # matrix legs don't collide as release assets; latest.json points here. + # matrix legs don't collide as release assets; update.json points here. UPD="" while IFS= read -r candidate; do UPD="$candidate" @@ -272,7 +272,7 @@ jobs: test -f "release-assets/microbridge-ui-${TAG}-${target}.dmg" done shasum -a 256 release-assets/* > release-assets/SHA256SUMS - - name: Generate updater manifest (latest.json) + - name: Generate updater manifest (update.json) run: | set -euo pipefail TAG="${GITHUB_REF_NAME}" @@ -281,10 +281,12 @@ jobs: SIG_AARCH="$(find artifacts -type f -name 'Microbridge-aarch64-apple-darwin.app.tar.gz.sig' | head -1)" SIG_X86="$(find artifacts -type f -name 'Microbridge-x86_64-apple-darwin.app.tar.gz.sig' | head -1)" if [[ -z "$SIG_AARCH" || -z "$SIG_X86" ]]; then - echo "Updater signatures missing — skipping latest.json (no in-app update for this release)" + echo "Updater signatures missing — skipping update.json (no in-app update for this release)" exit 0 fi PUB_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" + # Use update.json (not latest.json): GitHub's /releases/latest/download/latest.json + # redirect can stick to an older release asset of the same name. jq -n \ --arg version "$VERSION" \ --arg notes "Microbridge ${TAG}. See the GitHub release notes for details." \ @@ -294,10 +296,10 @@ jobs: --arg sig_x "$(cat "$SIG_X86")" \ --arg url_x "${BASE}/Microbridge-x86_64-apple-darwin.app.tar.gz" \ '{version: $version, notes: $notes, pub_date: $pub_date, platforms: {"darwin-aarch64": {signature: $sig_a, url: $url_a}, "darwin-x86_64": {signature: $sig_x, url: $url_x}}}' \ - > release-assets/latest.json - echo "Wrote latest.json:" - cat release-assets/latest.json - test "$(jq -r .version release-assets/latest.json)" = "$VERSION" + > release-assets/update.json + echo "Wrote update.json:" + cat release-assets/update.json + test "$(jq -r .version release-assets/update.json)" = "$VERSION" - uses: actions/upload-artifact@v7 with: name: release-assets-${{ github.ref_name }} diff --git a/Cargo.lock b/Cargo.lock index fcb143d..b2dedf6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -616,7 +616,7 @@ dependencies = [ [[package]] name = "mb-adapters" -version = "0.3.3" +version = "0.3.4" dependencies = [ "mb-protocol", "notify", @@ -628,7 +628,7 @@ dependencies = [ [[package]] name = "mb-device" -version = "0.3.3" +version = "0.3.4" dependencies = [ "hidapi", "mb-protocol", @@ -639,7 +639,7 @@ dependencies = [ [[package]] name = "mb-protocol" -version = "0.3.3" +version = "0.3.4" dependencies = [ "serde", "serde_json", @@ -653,7 +653,7 @@ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "microbridgectl" -version = "0.3.3" +version = "0.3.4" dependencies = [ "mb-device", "mb-protocol", @@ -663,7 +663,7 @@ dependencies = [ [[package]] name = "microbridged" -version = "0.3.3" +version = "0.3.4" dependencies = [ "keyring", "mb-adapters", diff --git a/Cargo.toml b/Cargo.toml index f2f2502..9ebef28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ ] [workspace.package] -version = "0.3.3" +version = "0.3.4" edition = "2021" license = "MIT" repository = "https://github.com/DevVig/microbridge" diff --git a/apps/microbridge-ui/package-lock.json b/apps/microbridge-ui/package-lock.json index 7d44edd..98fdbee 100644 --- a/apps/microbridge-ui/package-lock.json +++ b/apps/microbridge-ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "microbridge-ui", - "version": "0.3.3", + "version": "0.3.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "microbridge-ui", - "version": "0.3.3", + "version": "0.3.4", "dependencies": { "@tauri-apps/api": "^2", "@tauri-apps/plugin-dialog": "^2", diff --git a/apps/microbridge-ui/package.json b/apps/microbridge-ui/package.json index 212cf55..5925c95 100644 --- a/apps/microbridge-ui/package.json +++ b/apps/microbridge-ui/package.json @@ -1,7 +1,7 @@ { "name": "microbridge-ui", "private": true, - "version": "0.3.3", + "version": "0.3.4", "type": "module", "scripts": { "dev": "vite", diff --git a/apps/microbridge-ui/src-tauri/Cargo.lock b/apps/microbridge-ui/src-tauri/Cargo.lock index e707cd5..2f09aa8 100644 --- a/apps/microbridge-ui/src-tauri/Cargo.lock +++ b/apps/microbridge-ui/src-tauri/Cargo.lock @@ -1831,7 +1831,7 @@ dependencies = [ [[package]] name = "mb-protocol" -version = "0.3.3" +version = "0.3.4" dependencies = [ "serde", ] @@ -1853,7 +1853,7 @@ dependencies = [ [[package]] name = "microbridge-ui" -version = "0.3.3" +version = "0.3.4" dependencies = [ "mb-protocol", "serde", diff --git a/apps/microbridge-ui/src-tauri/Cargo.toml b/apps/microbridge-ui/src-tauri/Cargo.toml index 6029a33..4a49190 100644 --- a/apps/microbridge-ui/src-tauri/Cargo.toml +++ b/apps/microbridge-ui/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "microbridge-ui" -version = "0.3.3" +version = "0.3.4" description = "Microbridge menu bar app (primary UI)" authors = ["Microbridge contributors"] edition = "2021" diff --git a/apps/microbridge-ui/src-tauri/tauri.conf.json b/apps/microbridge-ui/src-tauri/tauri.conf.json index 263091c..f175a8e 100644 --- a/apps/microbridge-ui/src-tauri/tauri.conf.json +++ b/apps/microbridge-ui/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Microbridge", - "version": "0.3.3", + "version": "0.3.4", "identifier": "ai.microbridge.ui", "build": { "beforeDevCommand": "npm run dev", @@ -65,7 +65,7 @@ "updater": { "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDdGRDZGMDQzOEYxODUxN0UKUldSK1VSaVBRL0RXZjdTajFUWnlGbW9USnkyVGp4SXBRM2JvZjZyWUdia0ZWK2UvNE5Fd0dQM3MK", "endpoints": [ - "https://github.com/DevVig/microbridge/releases/latest/download/latest.json" + "https://github.com/DevVig/microbridge/releases/latest/download/update.json" ] } }, diff --git a/docs/releases/v0.3.4.md b/docs/releases/v0.3.4.md new file mode 100644 index 0000000..1577f10 --- /dev/null +++ b/docs/releases/v0.3.4.md @@ -0,0 +1,21 @@ +# Microbridge 0.3.4 (2026-07-20) + +Hotfix so in-app updates resolve to the correct GitHub Release again. + +## Highlights + +- **Updater manifest rename:** the app and release pipeline now use + `update.json` instead of `latest.json`. GitHub’s + `/releases/latest/download/latest.json` redirect had stuck on an older + release asset, so Check for Updates could report a stale version. + +## Upgrade notes + +- No migration. Install this build (DMG or Homebrew) once; later updates use + the fixed manifest name. +- Includes the v0.3.3 Integrations tile grid if you skipped that DMG. + +## Risk / notes + +- Older builds that still request `latest.json` may keep seeing a stale + manifest until upgraded manually once to `0.3.4` or newer.