Release channels
The agent distributes binaries on three channels:
| Channel | Installer | Use for |
|---|---|---|
latest (stable) | install.sh | Production deployments. |
main | install-main.sh | Early adopters and internal staging. |
develop | install-develop.sh | Bleeding-edge features; may break. |
Example:
# Install from main channel
curl -fsSL https://get.thinremote.io/install-main.sh | shHow updates work
Each channel publishes a metadata file at https://get.thinremote.io/<channel>.json containing the current version and a SHA256 checksum per architecture. To update, the agent:
- Fetches the channel metadata and compares versions.
- Downloads the binary for its architecture from
binaries/<channel>/. - Verifies the SHA256 checksum.
- Swaps the binary in place and exits, so the init system (systemd
Restart=always, launchdKeepAlive, …) restarts it on the new version with the existing configuration.
You can drive this from the device, from your workstation, or across the whole fleet:
# on the device
thinr-agent update # check only (latest channel)
thinr-agent update --apply # apply if available
thinr-agent update --channel develop --apply
# remotely, via the CLI
thinr device update check <deviceId>
thinr device update apply <deviceId> --channel main
# whole fleet, with canary and batches
thinr fleet upgrade --channel latestSee thinr fleet for the progressive rollout options, and the update mechanism for the agent-side details.
Switching channels
A device is not permanently bound to a channel: the channel is simply a parameter of each update. To move a device from latest to main, apply one update from the new channel:
thinr device update apply <deviceId> --channel mainPinning a specific version
Every release is archived under its own version directory on the CDN (binaries/v1.X.Y/). The installer accepts a version tag in place of a channel name, which also serves as a rollback mechanism:
curl -fsSL https://get.thinremote.io/install.sh | CHANNEL=v1.2.3 shA pinned device stays on that version until you explicitly update it: version directories never change after release, while channel directories always track their head.