D55. Exact compatible model releases, background upgrades and one app status panel (17 Oct 2026)
Revised on 19 Oct 2026: automatic updates are on by default, and one setting in Réglages › Mises à jour (« Mettre à jour automatiquement ») turns them off for the app and its models together. When it is on, signed builds download the app’s update in the background on an unmetered connection and install it when the app quits, or sooner with « Redémarrer Elabora »; model upgrades start as described below. When it is off, the app checks and notifies only, and model upgrades wait for the author. An unsigned macOS build cannot install an update: it only says that a new version exists and opens its download page. The first update notice says once where to change the setting, and a notice can be postponed. This follows the EU Cyber Resilience Act (Regulation 2024/2847, Annex I part I §2(c)) for security updates: automatic by default, a clear opt-out, a notification, the option to postpone. The rest of this entry is kept as it was decided. Revised again on 19 Oct 2026 (Lin 43, track A): the app status panel and its quota ring are gone. A pill in the bars of the home and of each module appears only when something asks the author: an update ready to install, a download they asked for (running, or waiting offline), a failure after three automatic tries, a search asked by hand; on the home only, a version to fetch themselves (the setting off, the unsigned Mac beta). What updates by itself stays silent, model upgrades included. Réglages › Mises à jour holds the version, the setting and what waits; Réglages › Utilisation holds the paid services’ quotas, also shown where they are spent. The labelled “Coming soon” placeholder for Elabora’s quota is gone: Elabora’s quota and Claude’s appear nowhere until Elabora can read them. An Elabora release pins a desired version for each optional local model. Previous releases are explicitly compatible (full version/model/files descriptors) or incompatible; unknown versions are incompatible by default. A compatible previous model remains usable while the desired version downloads next to it. The next inference acquires the complete desired version, workers reload by directory, and the old files are removed after outstanding directory leases end. No in-place overwrite of an active model, no model package history/rollback manager, no automatic installation of absent or user-removed elements. Existing unversioned layouts are recognized by their exact hashes, without moving the model. File receipt data never authorizes an unknown release. Provenance names the model actually used.
The desktop app starts background upgrades only on a positively identified unmetered connection, pauses on metered/offline/unknown detection, and retains partial files for resume. macOS uses NWPathMonitor in a small bundled helper; Windows reads WinRT connection cost. The core remains network-policy neutral: first-use/manual installation is explicit, and update-only intent is checked under the model family’s filesystem lease. CLI/MCP and app share version selection and holds. The desktop app owns its update delivery and network-cost policy; the core supplies model version selection and leases.
The app adds electron-updater 6.8.10 (app dependency; no core runtime dependency) for its own updates. One status control before Preview prioritizes download progress, otherwise consumed AI quota; its panel omits up-to-date model rows and shows the real ElevenLabs quota. Elabora’s future quota has a labelled “Coming soon” placeholder without invented consumption. Status never unlocks a keychain key by itself. Application updates install on the author’s restart action. A separate public GitHub release-assets repository is recommended while source stays private; production publishing/signing configuration and a real signed update cycle are completed before first release, without a technical placeholder in the user interface.
Revisit if: a compatible release needs a different runtime/voice catalogue or aligner calibration, explicit rollback becomes necessary, network-cost monitoring needs additional platforms, or Elabora’s cloud quota is available.