github mtkennerly/ludusavi v0.14.0
v0.14.0 (2022-10-29)

latest releases: v0.25.0, v0.24.3, v0.24.2...
23 months ago
  • Added:
    • Ludusavi now shows which games and files are new/changed compared to the last backup or restore. This is indicated by a + or Δ badge next to applicable games and files.
    • The Heroic launcher is now supported as a root type. Both GOG and Epic games are detected, as well as any Wine prefixes (on Linux).
      (Contributed by sluedecke)
    • Compression levels can now be customized for zip backups.
    • In addition to restoration redirects, there are now also backup redirects and bidirectional redirects. The redirect editor is now on the "other" screen instead of the "restore" screen.
    • GUI: On startup, Ludusavi will ask if you'd like to add any missing roots. It will remember your choice and won't ask twice for the same root.
    • GUI: The custom games screen now has a button to preview a specific game on demand. This lets you preview a custom game even if it's not yet in the backup screen's main list.
    • GUI: When previewing a specific game on demand, if it disappears from the list because save data can no longer be found for it, then a notification is shown to explain what happened.
    • GUI: The "other" screen now shows when the manifest was last checked/updated. There is also a button to refresh on demand. While the manifest is updating, a small notification is displayed at the bottom of the window.
    • GUI: Tooltips for some icons that may not be self-explanatory.
    • CLI: find command to look up game titles from the manifest. This incorporates the --by-steam-id option from the backup/etc commands and adds some new ones, like --normalized to look up games by an inexact name.
    • CLI: Backup options: --format, --compression, --full-limit, --differential-limit.
    • On startup, Ludusavi will prune any useless blank configurations (e.g., roots with a blank path).
    • Updated translations. (Thanks to contributors on the Crowdin project)
  • Changed:
    • Increased scanning speed by 10% by avoiding some duplicate path lookups.
    • CLI: Deprecated --by-steam-id in the backup/backups/restore commands, in favor of the new find command.
    • Ludusavi will no longer migrate pre-v0.10.0 configurations to the current location.
    • A new cache.yaml is now used for some fields from config.yaml, specifically the recent game caching and manifest update tracking.
    • On startup, Ludusavi will only check for manifest updates if the last check was 24 hours ago or longer. Previously, it would check automatically on every startup. This was changed to avoid excess network traffic, because the manifest itself will be updated more frequently.
    • GUI: Styling is now more consistent for disabled buttons.
    • GUI: When adding a new root or custom game, the list automatically scrolls to the end.
  • Fixed:
    • Backup files did not store the correct modification time on Linux and defaulted to the current time. This also affected Windows, but only for zip backups. (Contributed by sluedecke)

    • Zipped backup files did not store the correct permissions on Linux/Mac.

    • Proton and Wine files are now searched case-insensitively on Linux.

    • When Ludusavi tried to find a rough match for an install folder like "Some Game", it did not recognize that "Some - Game" was close enough.

    • GUI: Crash if you started a scan, clicked "find roots", and then clicked "cancel" while the scan was still ongoing.

    • GUI: When the manifest finished updating in the background, any currently open modal would be closed.

    • CLI: If you had the merge option disabled and passed --merge to override and enable it, it would be respected for the main --path folder, but not for game subfolders. When Ludusavi detected that a specific game needed a new backup, that game's subfolder would be cleared out first. If you had the merge option enabled by default, then this did not affect you.

    • CLI mode asked for confirmation when restoring, but backups behaved differently:

      • If the target folder did not exist, then the backup would happen without confirmation.
      • If it did exist, then the --force or --merge option had to be specified, even if you already had merging enabled in your config.

      Now, backups ask for confirmation unless you specify --force or --preview, and the confirmation phrasing is aligned with GUI mode.

Don't miss a new ludusavi release

NewReleases is sending notifications on new releases.