Upgrading
Curio Core is pre-alpha — expect frequent binary swaps as we ship.
In-place upgrade
# Download the new binary
curl -L https://github.com/Reiers/curio-core/releases/latest/download/curio-core-linux-amd64 \
-o /tmp/curio-core-new
chmod +x /tmp/curio-core-new
# Stop, swap, restart
sudo systemctl stop curio-core
sudo cp /usr/local/bin/curio-core /usr/local/bin/curio-core.previous # keep a rollback
sudo mv /tmp/curio-core-new /usr/local/bin/curio-core
sudo systemctl start curio-core
# Verify
curio-core version
sudo journalctl -u curio-core --since "1 minute ago" --no-pager | head -30The state DB carries forward unchanged — only the binary swaps.
Schema migrations
Each release that touches the schema includes new migration files under internal/harmonysqlite/schema-curio-core/NNNN_<name>.sql. The daemon applies them forward-only on startup and records each in harmony_schema_migrations.
You don't run anything manually — curio-core run handles it. If a migration fails on startup, the daemon refuses to come up and logs the offending SQL.
Rolling back
Migrations are forward-only. Curio Core does not ship downgrade/ SQL like upstream does, because:
- Single-node deployments have a clear "snapshot-and-roll-forward" model: take a
state.sqlitebackup before upgrading, and if the new release misbehaves, restore from backup + revert to the previous binary. - We're pre-alpha; the cost of supporting downgrade is high and the audience is small.
So the rollback flow is:
# Stop the service
sudo systemctl stop curio-core
# Restore your pre-upgrade state DB backup
cp /backup/state-pre-upgrade.sqlite /var/lib/curio-core/state.sqlite
# Restore the previous binary
sudo mv /usr/local/bin/curio-core.previous /usr/local/bin/curio-core
sudo systemctl start curio-coreOnce we go beta and the audience grows, expect proper downgrade support.
Lantern upgrades
Lantern is bumped via curio-core's go.mod; new Lantern versions ship inside the curio-core binary. You don't manage Lantern separately.
If Lantern's protocol version or DRAND key changes (rare), the upgrade notes will flag it. Today the upgrade story is: download new curio-core, restart, done.
Calibration vs mainnet
Calibration upgrades typically lead mainnet by 1–2 weeks. Watch curio-core#10 for the per-release calibration→mainnet promotion checklist.