Updates

Updates

Cronable keeps itself current — automatically, in the background, with a rollback safety net.

How it works

The daemon periodically checks its release channel for a newer, vendor-signed build. When one is staged for your install, it verifies the signature + checksum, atomically swaps the new version into place, and restarts — so you’re always up to date without lifting a finger. If a new version fails to start, a boot-time rollback marker reverts to the previous one.

Updates are on by default. To manage them:

cronable update     # check + apply now

To turn auto-update off, set CRONABLE_AUTO_UPDATE=false (then update only via cronable update or the dashboard). The check interval is CRONABLE_AUTO_UPDATE_INTERVAL_HOURS (default 6, floored at 1).

Release channels

Every install follows one release channel:

ChannelWhat it gets
stableProduction releases — the default, and what most installs should run.
betaPre-release builds for early validation.
canaryThe newest builds, published first — expect rough edges.
  • Pick a channel with CRONABLE_RELEASE_CHANNEL (default stable). The daemon’s update check asks the release host for the latest build on that channel (GET {CRONABLE_RELEASE_URL}/v1/releases/latest?channel=…).
  • A channel with nothing newer (or nothing published) is simply a no-op — the daemon stays on its current version and checks again next interval.
  • Releases can roll out gradually — a new version may be staged to a percentage of installs first, so a check shortly after a release doesn’t always see it immediately.
  • CRONABLE_RELEASE_URL points at the release host (default https://downloads.cronable.ai); a private mirror works for air-gapped setups — the same signed-artifact verification applies wherever the bytes come from.

Safe by design

  • Only signed builds are ever applied (verified against the embedded release key).
  • The swap is atomic (a symlink flip) — a failed download or verification never touches the live install.
  • Rollback is automatic if the new version doesn’t boot healthy.