ludusavi version history
10 releases tracked, newest first.
v0.31.0
Apr 4, 2026- Added `<game>` placeholder for roots and new CLI options
- Fixed various detection issues for Flatpak, Lutris, and Heroic roots
- CLI `backup` command now syncs only newly backed up games
- Updated Mac build environment and Flatpak Rclone version
4 downloads
v0.30.0
Nov 10, 2025* Added:
* You can now configure game-specific Wine prefixes in a custom entry.
* GUI: In the scan results, there is a button to copy registry key paths. On Windows, there is also a button to open the key in Regedit.
* GUI: Backup comments may now contain multiple paragraphs.
* CLI: `backups edit` command to update a backup's lock state and comment. The `api` command now also supports an `editBackup` request.
* CLI: `config path` command to print the path to the active config file.
* CLI: The `backup` and `restore` commands now have an `--include-disabled` option when you want to bulk process games that were disabled in the config.
* CLI: Global `--debug` option to increase log level and open log folder after running. This is mainly to help users who are submitting bug reports.
* CLI: The `backup`/`restore`/`wrap` commands now support an `--ask-downgrade` option. This is intended as a protection for cases such as when you launch games with `wrap` and `--force`, but if the backup didn't happen after your last session (e.g., your computer crashed), then on the next launch, an outdated backup would be restored.
* CLI: `gui --custom-game Title` command to ope
4 downloads
v0.29.1
Apr 18, 2025* Fixed:
* Glob-based backup exclusions did not work correctly. (This issue was introduced in v0.29.0.)
* Changed:
* The standalone Linux release is now compiled on Ubuntu 22.04 instead of Ubuntu 20.04 because of [a change by GitHub](https://github.com/actions/runner-images/issues/11101).
4 downloads
v0.29.0
Apr 7, 2025* Added:
* A custom game's installed name may now be set to a relative path with multiple folders, rather than only supporting a single bare folder name.
* CLI: The `wrap` command now supports `--force-backup` and `--force-restore` for more granular control than `--force`.
* GUI: During a scan, you can click on the progress bar to see a list of the games currently being scanned and how long each one is taking. This can be useful to identify why a scan might be taking longer than expected.
* CLI: When backing up or restoring, if your local and cloud backups are in conflict, Ludusavi will now ask you if you'd like to resolve it by downloading or uploading. You can also choose to ignore the conflict (which is the existing behavior), and `--force` will automatically ignore any conflicts. You can combine `--force` and `--no-force-cloud-conflict` to be prompted only when there is a conflict.
* CLI: When using `--gui` in the commands that support it, dialog titles now include the game's name (if you've specified only one) or the total number of games (if you've specified more than one).
* Fixed:
* For home folder roots, Ludusavi skipped any paths containing `<storeUserI
4 downloads
v0.28.0
Jan 15, 2025* Added:
* On Linux, for Lutris roots that point to a Flatpak installation, Ludusavi now checks `$XDG_DATA_HOME` and `$XDG_CONFIG_HOME` inside of the Flatpak installation of Lutris.
* Custom games now let you specify installed folder names. This can be used to satisfy the `<base>` and `<game>` path placeholders in cases where Ludusavi can't automatically detect the right folder. For more info, [see the custom games document](/docs/help/custom-games.md).
* On the "other" screen, there is a new option to skip backups when saves are only removed but not added/updated. This can be useful because uninstalling a game may cause some of its data (but not all) to be removed, but you may not want to exclude that data from your backups yet.
* CLI: `config show` command.
* CLI: The `backup`, `restore`, `cloud upload`, and `cloud download` commands now support a `--gui` option for graphical dialog prompts.
* CLI: The `backup` and `restore` commands now support a `--dump-registry` option, which includes the serialized registry content in the output. This may be useful if you're consuming the `--api` output to back up with another tool, but don't have a good way to check the reg
4 downloads
v0.27.0
Nov 20, 2024* Added:
* Support for installing via [cargo-binstall](https://github.com/cargo-bins/cargo-binstall).
* Changed:
* Windows registry backups are now saved as `*.reg` files instead of `*.yaml`. Existing backups will not be affected.
* On Linux, Ludusavi previously reported its application ID as just `ludusavi`, which meant the desktop file should be named `ludusavi.desktop` to show the right icon. However, that name does not follow the Freedesktop.org `desktop-entry` specification.
To better conform, Ludusavi now reports its ID as `com.mtkennerly.ludusavi` (except for Flatpak, which will use `com.github.mtkennerly.ludusavi` for legacy reasons). If you need to preserve the original behavior, you can set `LUDUSAVI_LINUX_APP_ID=ludusavi` in your environment variables.
([Prototyped by OlegAckbar](https://github.com/mtkennerly/ludusavi/pull/417))
* Dialogs (folder picker and `wrap --gui` prompts) now use GTK on Linux. The previous system relied on Zenity/KDialog, which could behave poorly depending on the version or in a Flatpak context.
* The standalone Mac release is now compiled on Mac OS 13 instead of Mac OS 12 because of [a change by GitHub](https://gith
4 downloads
v0.26.0
Oct 29, 2024The Linux and Mac downloads are now provided in `.tar.gz` format to better preserve the files' executable permissions.
* Added:
* Paths may now use the `<storeGameId>` placeholder. This is supported in Steam, GOG, and Lutris roots. For Steam roots, this also supports shortcuts to non-Steam games, where the placeholder will map to the shortcut's dynamic app ID.
* Paths may now use the `<winLocalAppDataLow>` placeholder.
* GUI: On the backup and restore screens, if you activate the filter options, then the backup/restore buttons will only process the currently listed games. This allows you to quickly scan a specific subset of games.
* You can now choose whether a custom game will override or extend a manifest entry with the same name. Previously, it would always override the manifest entry completely.
* GUI: Custom games can now be expanded/collapsed, sorted, and filtered.
* GUI: Custom games now have an icon to indicate when they override/extend a manifest entry.
* You can now configure redirects to be processed in reverse sequence when restoring.
* GUI: On the custom games screen, when you use the button to preview a custom game, the window will switch to
4 downloads
v0.25.0
Aug 19, 2024* Added:
* You can now ignore specific manifests during scans. For example, if you only want to back up custom games, you can now disable the primary manifest's entries.
* GUI: On startup and once every 24 hours, Ludusavi will check if a new version is available and notify you.
* GUI: When left open, Ludusavi will automatically check for manifest updates once every 24 hours. Previously, this check only occurred when the app started.
* Manifests may now include a `notes` field. If a game has notes in the manifest, then the backup screen will show an info icon next to the game, and you can click the icon to display the notes. The primary manifest does not (yet) contain any notes, so this mainly applies to secondary manifest authors.
* GUI: You can now filter scan results by which secondary manifest defined each game. You can also filter to display custom games only.
* CLI: The `api` command now supports a `checkAppUpdate` message.
* Linux: Added keywords to the `.desktop` file. ([Contributed by Merrit](https://github.com/mtkennerly/ludusavi/pull/377))
* Fixed:
* CLI: Some commands would fail with relative path arguments.
* Changed:
* In the config file, `
4 downloads
v0.24.3
Jul 2, 2024* Fixed:
* If two consecutive differential backups both ignored *different* save files *and* none of those files were ignored in the associated full backup, then the second differential backup would fail to redeclare the first differential backup's ignored saves.
* If you redirected all of the saves for a game that already had a backup, then the next scan would list the game as new instead of updated.
* GUI: On Mac, the file/folder selector would cause the app to crash.
4 downloads
v0.24.2
Jun 28, 2024* Fixed:
* When multi-backup was enabled and Ludusavi backed up a game for the first time, it would first insert an empty backup in that game's `mapping.yaml` and then insert the real backup after. This behavior was meant for updating old backups from before multi-backup was added, but it was mistakenly being applied to brand new backups as well.
Ludusavi will automatically detect and fix this. If the empty backup has a differential backup associated, then the oldest differential backup will replace the empty full backup. Otherwise, Ludusavi will remove the entry for the empty backup.
**If you use Ludusavi's cloud sync feature,** please run a preview in restore mode, which will automatically fix any of these incorrect initial backups, and then perform a full cloud upload on the "other" screen.
* For Lutris roots, after reading `pga.db`, Ludusavi did not properly combine that data with the data from the `games/*.yml` files. ([Verified by nihaals](https://github.com/mtkennerly/ludusavi/pull/359))
* Ludusavi assumed that a Lutris root would contain both `games/` and `pga.db` together. That's true for new installations of Lutris, but older/existing installations
4 downloads