Updates
Standalone workers update themselves when they run as a background service. You can also update by hand at any time. The Mac app and its bundled worker update together through the app’s own updater.
Automatic updates
A standalone worker installed with rivets worker install checks for a new release every hour. When one is available it:
- Downloads the build for its exact platform and architecture.
- Verifies the release’s Ed25519 signature, its SHA-256 checksum, and the embedded version before installing.
- Restarts only while the worker is idle: no jobs or terminals running and no events waiting to be delivered.
- Restarts at most once every 12 hours.
Automatic updates apply only to an installed background service. A worker you run in the foreground with rivets worker connect does not update itself.
Turn off automatic updates
rivets worker connect --no-auto-update
The choice is saved in ~/.rivets/config.json. Run rivets worker connect --auto-update to turn it back on.
Update by hand
Check whether a newer release exists without changing anything:
rivets update --check
Download, verify, and install it:
rivets update
rivets update goes through the same signature and checksum verification as automatic updates.
| Platform | What happens |
|---|---|
| macOS, Linux | The executable is replaced atomically. A running background service keeps its current process until you run rivets worker restart. |
| Windows | The replacement is staged and completes after the update command exits. If a managed Task Scheduler worker is installed, it is stopped and restarted for you. |
When rivets update refuses
rivets update does not overwrite:
- Source checkouts and package-manager installs. Update those through the checkout or the package manager.
- The worker embedded in the Mac app. It is part of the signed app bundle and updates with the app.
The Mac app
The Mac app updates itself with Sparkle, a standard macOS update framework. Updates are signed, and the bundled worker is replaced together with the rest of the app, so the app and its worker always match.
Compatibility
Rivets and its workers speak a versioned protocol. rivets worker status shows the worker’s protocol version and whether it is compatible with the server. When a new release changes the protocol, update your workers. Leaving automatic updates on is the easiest way to stay compatible.