Auto-Update
br\u016bhi Desktop includes a built-in auto-update system. When a new version is available, you are notified in the app and can install the update with one click.
How It Works
Section titled “How It Works”- On launch (and periodically in the background), br\u016bhi checks the update endpoint:
https://dl.bruhi.in/latest.json
- If a newer version is available, a notification appears in the title bar.
- Click the notification to open the update dialog. The dialog shows the changelog for the new version.
- Click Install Update. The update is downloaded, signature-verified, and installed.
- br\u016bhi restarts automatically to apply the update.
Update Channels
Section titled “Update Channels”Currently there is one channel: stable. Release candidates and beta builds are not distributed through the auto-update system.
Signature Verification
Section titled “Signature Verification”Every update artifact is signed with an Ed25519 key. br\u016bhi verifies the signature before applying the update. If the signature does not match, the update is rejected and an error is shown. This prevents tampered updates from being installed even if the delivery infrastructure is compromised.
The public verification key is compiled into the app at build time.
Manual Update
Section titled “Manual Update”If the auto-update system cannot reach the update endpoint (e.g., air-gapped networks), you can update manually:
- Download the latest installer from bruhi.in/download.
- Run the installer over the existing installation.
- All settings and data are preserved — the installer does not touch the app data directory.
Disabling Auto-Update Checks
Section titled “Disabling Auto-Update Checks”Auto-update checks can be disabled from the command line by setting the BRUHI_NO_UPDATE_CHECK environment variable:
BRUHI_NO_UPDATE_CHECK=1 /Applications/br\u016bhi.app/Contents/MacOS/bruhiThis is useful in managed enterprise environments where software updates are controlled centrally.
Update Artifacts
Section titled “Update Artifacts”Updates are hosted on Cloudflare R2. The latest.json manifest looks like:
{ "version": "0.13.0", "notes": "Changelog text here", "pub_date": "2026-05-08T00:00:00Z", "platforms": { "darwin-aarch64": { "url": "https://dl.bruhi.in/bruhi-0.13.0-aarch64.dmg", "signature": "..." }, "darwin-x86_64": { ... }, "windows-x86_64": { ... }, "linux-x86_64": { ... } }}