⬆️ 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.json de 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.json firmado 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_at se recalculan al arrancar.