From dd16ad6757d6c72c8ba17a049313d5bfef0b4b3b Mon Sep 17 00:00:00 2001 From: Jonathan Borgwing Date: Sun, 19 Jul 2026 21:36:25 -0400 Subject: [PATCH] chore(release): bump to v0.2.4 Publish the Homebrew signature-marker repair and fail-closed DMG notarization pipeline as a clean patch release. v0.2.3 remains unpromoted. --- Cargo.lock | 10 ++--- Cargo.toml | 2 +- apps/microbridge-ui/package-lock.json | 4 +- apps/microbridge-ui/package.json | 2 +- apps/microbridge-ui/src-tauri/Cargo.lock | 4 +- apps/microbridge-ui/src-tauri/Cargo.toml | 2 +- apps/microbridge-ui/src-tauri/tauri.conf.json | 2 +- docs/releases/v0.2.4.md | 43 +++++++++++++++++++ 8 files changed, 56 insertions(+), 13 deletions(-) create mode 100644 docs/releases/v0.2.4.md diff --git a/Cargo.lock b/Cargo.lock index e5bdfb1..c66bf92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -616,7 +616,7 @@ dependencies = [ [[package]] name = "mb-adapters" -version = "0.2.3" +version = "0.2.4" dependencies = [ "mb-protocol", "notify", @@ -628,7 +628,7 @@ dependencies = [ [[package]] name = "mb-device" -version = "0.2.3" +version = "0.2.4" dependencies = [ "hidapi", "mb-protocol", @@ -639,7 +639,7 @@ dependencies = [ [[package]] name = "mb-protocol" -version = "0.2.3" +version = "0.2.4" dependencies = [ "serde", "serde_json", @@ -653,7 +653,7 @@ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "microbridgectl" -version = "0.2.3" +version = "0.2.4" dependencies = [ "mb-device", "mb-protocol", @@ -663,7 +663,7 @@ dependencies = [ [[package]] name = "microbridged" -version = "0.2.3" +version = "0.2.4" dependencies = [ "keyring", "mb-adapters", diff --git a/Cargo.toml b/Cargo.toml index 30713cc..d570e3e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ ] [workspace.package] -version = "0.2.3" +version = "0.2.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 a6ac1dd..11c67fc 100644 --- a/apps/microbridge-ui/package-lock.json +++ b/apps/microbridge-ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "microbridge-ui", - "version": "0.2.3", + "version": "0.2.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "microbridge-ui", - "version": "0.2.3", + "version": "0.2.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 9abcbd7..af9d3c5 100644 --- a/apps/microbridge-ui/package.json +++ b/apps/microbridge-ui/package.json @@ -1,7 +1,7 @@ { "name": "microbridge-ui", "private": true, - "version": "0.2.3", + "version": "0.2.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 8ba33d0..0ca22a7 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.2.3" +version = "0.2.4" dependencies = [ "serde", ] @@ -1853,7 +1853,7 @@ dependencies = [ [[package]] name = "microbridge-ui" -version = "0.2.3" +version = "0.2.4" dependencies = [ "mb-protocol", "serde", diff --git a/apps/microbridge-ui/src-tauri/Cargo.toml b/apps/microbridge-ui/src-tauri/Cargo.toml index d63cf19..e6127f8 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.2.3" +version = "0.2.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 4eeeb32..df4b9dd 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.2.3", + "version": "0.2.4", "identifier": "ai.microbridge.ui", "build": { "beforeDevCommand": "npm run dev", diff --git a/docs/releases/v0.2.4.md b/docs/releases/v0.2.4.md new file mode 100644 index 0000000..a82142e --- /dev/null +++ b/docs/releases/v0.2.4.md @@ -0,0 +1,43 @@ +# Microbridge 0.2.4 (2026-07-19) + +## Release blocker fixed + +- Homebrew now stores its ownership marker beside `Microbridge.app` instead of + modifying the signed bundle. This prevents macOS from rejecting the copied + app as damaged because of unsealed contents. +- The app recognizes the new sidecar marker and continues routing Homebrew + updates through `brew upgrade` rather than the direct-install updater. +- Older Homebrew installs carrying the legacy in-bundle marker migrate to a + clean, signature-preserving copy on the next service start. + +## Distribution hardening + +- The release pipeline now notarizes and staples the outer DMG as well as the + app inside it. +- Release checks fail closed unless the app and DMG pass strict code-signing, + Gatekeeper, stapler, and Apple distribution validation. +- Homebrew smoke tests validate the copied app after the ownership marker is + written, catching any future post-signing bundle mutation. + +## Included from 0.2.3 + +- Focused-app Agent Keys by default. +- Correct Synara, T3 Code, Codex Desktop, and standalone Codex CLI attribution. +- Launch-at-login prompt and Settings control. +- Display-aware left-click popover with ten scrollable threads, outside-click + dismissal, and a compact native shadow. +- Opt-in automatic update checks limited to once every 24 hours. + +## Upgrade notes + +- Direct installs update through **Check for Updates…** or the optional daily + launch check. +- Homebrew installs update with `brew update && brew upgrade microbridge` after + the v0.2.4 Formula update lands. +- No configuration or data migration is required. + +## Known boundary + +Physical Codex Micro HID input and LED behavior still require validation with +the production device. This release does not claim completed physical-device +validation.