diff --git a/CHANGELOG.md b/CHANGELOG.md index b9c1c18..09bddab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## v0.11.0 (2022-10-29) * Added: * The plugin now indicates when there was nothing new to back up or restore. diff --git a/extension.yaml b/extension.yaml index e945265..5c84ec8 100644 --- a/extension.yaml +++ b/extension.yaml @@ -1,7 +1,7 @@ Id: mtkennerly.ludusavi Name: Ludusavi Author: Matthew T. Kennerly -Version: 0.10.2 +Version: 0.11.0 Module: LudusaviPlaynite.dll Type: GenericPlugin Icon: icon.png diff --git a/manifest.yaml b/manifest.yaml index 66ef881..b910ce1 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -1,5 +1,39 @@ AddonId: mtkennerly.ludusavi Packages: + - Version: 0.11.0 + RequiredApiVersion: 6.0.0 + ReleaseDate: 2022-10-29 + PackageUrl: https://github.com/mtkennerly/ludusavi-playnite/releases/download/v0.11.0/ludusavi-playnite-v0.11.0.pext + Changelog: + - >- + Added: The plugin now indicates when there was nothing new to back up or restore. + When doing a full scan, the expanded list also indicates new (+) or updated (Δ) for each game. + This is enabled if you have Ludusavi 0.14.0 or newer. + - >- + Added: When backing up or restoring a specific game, + the plugin now indicates when Ludusavi knows it by a different name. + Example: `Backed up saves for Playnite Title (↪ Ludusavi Title)`. + This is enabled if you have Ludusavi 0.14.0 or newer. + - >- + Added: An option to look up games by a normalization of their titles. + For example, this means the plugin can retry "Some Game: Special Edition (2022)" as just "Some Game" + if Ludusavi didn't recognize the original title. + If the normalized title produces multiple matches, the plugin chooses the first one. + This setting only takes effect if you have Ludusavi 0.14.0 or newer. + - >- + Added: Plugin settings to override the backup format, compression, and retention. + These will still default to whatever you have configured in Ludusavi itself, + but now you can override it from Playnite. + These settings only take effect if you have Ludusavi 0.14.0 or newer. + - >- + Added: On startup, the plugin will show a one-time notification + if a newer version of Ludusavi is recommended for the best experience. + - >- + Changed: When Ludusavi 0.14.0 or newer is installed, the plugin now uses the `find` command to look up games. + As a side effect, a game's Steam ID (if applicable) is now checked before its title rather than after. + - >- + Changed: For compatibility with Ludusavi 0.14.0, the plugin now passes `--force` to the backup command. + This remains compatible with older versions as well. - Version: 0.10.2 RequiredApiVersion: 6.0.0 ReleaseDate: 2022-09-12 diff --git a/src/LudusaviPlaynite.cs b/src/LudusaviPlaynite.cs index edb63b1..b839271 100644 --- a/src/LudusaviPlaynite.cs +++ b/src/LudusaviPlaynite.cs @@ -774,6 +774,7 @@ private void BackUpOneGame(Game game, OperationTiming timing, BackupCriteria cri pendingOperation = true; var name = criteria.ByPlatform ? game.Platforms[0].Name : GetGameName(game); var displayName = name; + var refresh = true; if (this.appVersion.supportsFindCommand()) { @@ -823,11 +824,13 @@ private void BackUpOneGame(Game game, OperationTiming timing, BackupCriteria cri } else { + refresh = false; NotifyInfo(translator.BackUpOneGame_Unchanged(result), timing); } } else { + refresh = false; NotifyError(translator.BackUpOneGame_Empty(result), timing); } } @@ -835,6 +838,7 @@ private void BackUpOneGame(Game game, OperationTiming timing, BackupCriteria cri { if (response?.Errors.UnknownGames != null) { + refresh = false; NotifyError(translator.BackUpOneGame_Empty(result), timing); } else @@ -844,7 +848,10 @@ private void BackUpOneGame(Game game, OperationTiming timing, BackupCriteria cri } } - RefreshLudusaviBackups(); + if (refresh) + { + RefreshLudusaviBackups(); + } pendingOperation = false; }