⬆️ Actualizar la app y el motor
App y motor se actualizan por canales independientes — pueden ir a distinta velocidad y cada uno instala solo binarios firmados.
La app
- macOS: Sparkle — la app se avisa sola de las nuevas versiones (appcast del portal) y se actualiza en caliente. También puedes bajar el DMG.
- Windows: lee el manifiesto de la última release (
version.jsonde io-backup-releases) y lanza el instalador.
El motor
- Desde Ajustes → Actualización del motor (
GET/POST /api/v1/system/update). - Descarga solo binarios del manifiesto
engine.jsonfirmado con Ed25519 — la clave pública va embebida en el updater; si la firma no cuadra, no se instala nada. - Las releases del motor viven en el canal
engine-v<ver>+engine-channel(nunca "latest" genérico). - En macOS el motor vive en
~/.iobackup/bin, fuera del bundle — se actualiza sin tocar la app.
Recomendaciones
- Mantén el motor al día: el índice y las migraciones van dentro y se aplican solos al arrancar.
- App y motor pueden diferir en versión menor — la app avisa si alguna función exige un motor más nuevo.
- Tras actualizar el motor, revisa el Programador: las
next_run_atse recalculan al arrancar.