Skip to content

Rename BroLink to Latch, by Bardbro - #23

Merged
MrBeldum merged 6 commits into
mainfrom
rebrand-latch
Oct 2, 2026
Merged

MrBeldum merged 6 commits into
mainfrom
rebrand-latch

Conversation

@MrBeldum

@MrBeldum MrBeldum commented Oct 2, 2026

Copy link
Copy Markdown
Owner

What

BroLink is now Latch, made by Bardbro (bardbro.com), with the new logo. Crates, executables, bundle and service identifiers, environment variables, release assets, docs and deploy kits all carry the new name. Version 4.1.0.

Upgrading installs

Nothing that is already deployed is left behind. Every old name lives in crates/core/src/legacy.rs and crates/host/src/legacy.rs:

  • Data folder: adopted on first run (renamed on macOS/Linux, copied without executables on Windows, where the old folder holds the running exe).
  • macOS: the release also ships the new app as brolink-macos-arm64.tar.gz containing BroLink.app, because a 4.0 updater accepts nothing else. On first run it moves itself to Latch.app, writes the new launch agent, retires dev.brolink.node and carries on.
  • Linux: latch.service replaces brolink.service; the engine's saved login path is repaired after the folder moves.
  • Windows: an updated host keeps working in place (legacy engine folder, service, firewall rules still recognised). install-host.ps1 plus one elevated setup moves the folder, retires the old task, rules and service, and moves the engine with its pairing state.
  • Protocol: peers on either name find each other (app field, streamer kind), and the update push sends both header sets.

Tested

cargo test --workspace, cargo fmt --check and cargo clippy -D warnings pass on macOS. The Windows-only code is checked by this PR's CI.

🤖 Generated with Claude Code

MrBeldum and others added 6 commits October 2, 2026 02:08
The product is now Latch, made by Bardbro (bardbro.com), with the new logo.
Crates, executables, bundle and service identifiers, environment variables,
release assets, docs and deploy kits all carry the new name.

An installed BroLink upgrades in place: crates/core/src/legacy.rs and
crates/host/src/legacy.rs hold every old name, and the data folder, the
launch agent and user unit, the Mac bundle, the Windows service, task,
firewall rules and engine folder are all recognised and replaced. Peers on
either name still find each other, and the update push sends both header
sets. The release workflow also publishes the old asset names, which a 4.0
updater needs.

Version 4.1.0.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Rust 1.99 renamed Atomic::fetch_update to try_update and deprecated the old
name, which clippy -D warnings turns into an error on CI's stable toolchain.
The connection slot is a compare-and-swap loop instead, which builds on both.

Also names three tests for the Latch engine and service rather than "latchs".

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
On Linux the engine login file sits in ~/.config/sunshine, not under the data
folder, so repairing only paths under the old data folder missed it. The
conf's credentials_file is now repaired by file name as well, and the repair
runs from main right after the data folder is taken over, ahead of the port
check, so it happens even when another copy already serves.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…file

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ne's config

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@MrBeldum
MrBeldum marked this pull request as ready for review October 2, 2026 15:08
@MrBeldum
MrBeldum merged commit bfba0f7 into main Oct 2, 2026
5 checks passed
@MrBeldum
MrBeldum deleted the rebrand-latch branch October 2, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant