Updating
FolioOrb can update itself — with your permission, and without ever putting your holdings at risk. Your database and config live in a separate per-user data directory, so they’re preserved automatically, and a verified backup is taken before anything is installed.
In-app updates (v4.4.1+)
Section titled “In-app updates (v4.4.1+)”The app checks quietly for new versions a little after launch and then about once a day. When one is available you’ll see a calm Update available indicator — nothing installs on its own, and nothing downloads until you say so.
You can also check any time:
- Check for Updates… in the app menu (macOS/Windows desktop app), or
- Settings → Software Update inside the app.
Opening it shows a Software Update panel with the current and latest versions, what changed, the download size, and whether a relaunch is needed. Choose Update Now to download and install, or Later to dismiss. On both macOS and Windows this is fully automatic: the app downloads the update, verifies it, backs up your data, installs, and reopens on the new version — no manual dragging or running an installer yourself.
Every download is checked against the checksums published with the release before it’s installed; a corrupted or interrupted download is rejected or resumed automatically.
If an update misbehaves
Section titled “If an update misbehaves”Open Settings → Software Update → Restore previous version… to roll back to the version you were on before. FolioOrb always snapshots your current data first, so nothing is lost either way — you choose whether to also restore your pre-update data. If the app fails to start after an update, it offers the rollback for you automatically.
Keeping current data remains the default. If you also choose the earlier data, FolioOrb verifies the previous installer and queues the restore. Quit and reopen FolioOrb to continue. The current version takes another safety snapshot after your last writes, restores the earlier data before opening the database, and hands off to the installer. If the installer is missing or has changed before restart, current data is retained. If its launch fails after restoration, the restore receipt records that the earlier data was restored and installation failed; the safety snapshot remains in the Backup Vault.
Archived installers must also match their release checksums. Verification may require an internet connection. When release signing is configured, the existing signature requirement also applies to rollback.
An interrupted restore with incomplete recovery stops startup on subsequent
launches. Preserve all database, staging, recovery files and the
restore-in-progress marker until recovery has been deliberately resolved.
Do not remove the marker just to bypass the startup message.
Update preferences
Section titled “Update preferences”Under Settings → Software Update you can turn off Automatically check for updates or Notify me when updates are available at any time. There is deliberately no “install updates automatically” option — updates always wait for your explicit go-ahead.
Updating manually
Section titled “Updating manually”You can always update by hand instead:
- macOS — download the newer
.dmgand drag the app into Applications, replacing the old copy. - Windows — run the newer
-Setup.exe; it upgrades the existing install in place.
Your holdings, snapshots, cached AI output, and .env all carry over. See where that data
lives for macOS and
Windows.
Installed from source or a script?
Section titled “Installed from source or a script?”For a manual clone, update the checkout and restart it through the repository launcher so the same runtime-profile checks apply:
The desktop app and python run.py allow only one process to own a profile at a
time. Directly starting Uvicorn bypasses these launcher checks and must not be
used to perform a queued restore.
cd FolioOrbgit pullpython -m pip install -r requirements.txt./scripts/start.shOn Windows, use .\scripts\start.ps1 after git pull and dependency installation.
For a one-line install, re-run the same
install script. It stages the replacement,
keeps SQLite, .env, Backup Vault, settings, policy, logs, and update state in the
external source profile, and restores the prior code tree if environment setup fails.
Afterward, launch from the generated Desktop shortcut (or the installed root launcher),
which carries the exact absolute profile path.