From a794be24e636642a385d1076800cc196d97cfa82 Mon Sep 17 00:00:00 2001 From: mtkennerly Date: Tue, 29 Oct 2024 07:35:13 -0400 Subject: [PATCH] Release v0.26.0 --- .github/ISSUE_TEMPLATE/bug.yaml | 2 +- CHANGELOG.md | 2 +- Cargo.lock | 2 +- Cargo.toml | 2 +- ...om.github.mtkennerly.ludusavi.metainfo.xml | 3 ++- docs/help/backup-retention.md | 3 ++- docs/help/filter.md | 13 ++++++++++-- docs/help/selective-scanning.md | 2 ++ docs/schema/config.yaml | 13 ++++++++++++ lang/pt-BR.ftl | 2 +- lang/ru-RU.ftl | 20 +++++++++---------- src/lang.rs | 2 +- 12 files changed, 46 insertions(+), 20 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index fb07dd1..234d6ad 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -7,6 +7,7 @@ body: label: Ludusavi version description: If you're not using the latest version, please update and make sure the problem still occurs. options: + - v0.26.0 - v0.25.0 - v0.24.3 - v0.24.2 @@ -16,7 +17,6 @@ body: - v0.22.0 - v0.21.0 - v0.20.0 - - v0.19.0 - Other validations: required: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 0eff054..4f92ca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## v0.26.0 (2024-10-29) The Linux and Mac downloads are now provided in `.tar.gz` format to better preserve the files' executable permissions. diff --git a/Cargo.lock b/Cargo.lock index 173507a..07e6595 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2416,7 +2416,7 @@ checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" [[package]] name = "ludusavi" -version = "0.25.0" +version = "0.26.0" dependencies = [ "base64", "byte-unit", diff --git a/Cargo.toml b/Cargo.toml index d0f8f91..37855c8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ludusavi" -version = "0.25.0" +version = "0.26.0" authors = ["mtkennerly "] edition = "2021" description = "Game save backup tool" diff --git a/assets/com.github.mtkennerly.ludusavi.metainfo.xml b/assets/com.github.mtkennerly.ludusavi.metainfo.xml index f6dda03..1fe8751 100644 --- a/assets/com.github.mtkennerly.ludusavi.metainfo.xml +++ b/assets/com.github.mtkennerly.ludusavi.metainfo.xml @@ -52,13 +52,14 @@ - https://raw.githubusercontent.com/mtkennerly/ludusavi/v0.25.0/docs/sample-gui-linux.png + https://raw.githubusercontent.com/mtkennerly/ludusavi/v0.26.0/docs/sample-gui-linux.png Graphical user interface com.github.mtkennerly.ludusavi.desktop + diff --git a/docs/help/backup-retention.md b/docs/help/backup-retention.md index 2849dd9..3f0e9a8 100644 --- a/docs/help/backup-retention.md +++ b/docs/help/backup-retention.md @@ -1,5 +1,6 @@ # Backup retention -You can configure how many backups to keep by pressing the gear icon on the backup screen. +In the "other" screen's backup section, +you can configure how many backups to keep. A full backup contains all save data for a game, while a differential backup contains just the data that has changed since the last full backup. diff --git a/docs/help/filter.md b/docs/help/filter.md index dfc5d45..306d263 100644 --- a/docs/help/filter.md +++ b/docs/help/filter.md @@ -1,7 +1,7 @@ # Filter You can click the filter icon at the top of the backup/restore screens to use some filters. -Note that this only affects which games you see in the list, -but Ludusavi will still back up the full set of games. +While these filters are active, +Ludusavi will only back up or restore the games that are currently listed. You can apply filters for the following: @@ -12,6 +12,15 @@ You can apply filters for the following: * Whether all save files for a game are enabled for processing: * `Complete` (all saves enabled) * `Partial` (some saves disabled) +* Each game's status: + * `New` (game has new saves) + * `Updated` (game has updated saves) + * `Unchanged` (game has no changes) + * `Unscanned` (game has not been scanned yet, but is still is history) * Whether the game itself is enabled for processing: * `Enabled` (checkbox next to game is checked) * `Disabled` (checkbox next to game is unchecked) +* Game data source: + * `Primary manifest` (Ludusavi's main game list) + * `Custom games` (your custom entries) + * Any secondary manifest you've added on the "other" screen diff --git a/docs/help/selective-scanning.md b/docs/help/selective-scanning.md index 961672d..56b4f42 100644 --- a/docs/help/selective-scanning.md +++ b/docs/help/selective-scanning.md @@ -9,3 +9,5 @@ You can also use keyboard shortcuts to swap the three-dot menu with some specifi * preview: shift * backup/restore: ctrl (Mac: cmd) * backup/restore without confirmation: ctrl + alt (Mac: cmd + option) + +Additionally, [filters](/docs/help/filter.md) can restrict which games are processed. diff --git a/docs/schema/config.yaml b/docs/schema/config.yaml index 1302ae4..4b1cdd8 100644 --- a/docs/schema/config.yaml +++ b/docs/schema/config.yaml @@ -82,6 +82,7 @@ properties: default: ignoredGames: [] path: "C:\\Users\\mtken/ludusavi-backup" + reverseRedirects: false sort: key: status reversed: false @@ -345,6 +346,10 @@ definitions: ignore: description: Whether to disable this game. type: boolean + integration: + default: override + allOf: + - $ref: "#/definitions/Integration" name: description: Name of the game. default: "" @@ -367,6 +372,11 @@ definitions: format: int32 FilePath: type: string + Integration: + type: string + enum: + - override + - extend Language: description: Display language. oneOf: @@ -522,6 +532,9 @@ definitions: default: "C:\\Users\\mtken/ludusavi-backup" allOf: - $ref: "#/definitions/FilePath" + reverseRedirects: + default: false + type: boolean sort: default: key: status diff --git a/lang/pt-BR.ftl b/lang/pt-BR.ftl index 33baa3b..c78a39b 100644 --- a/lang/pt-BR.ftl +++ b/lang/pt-BR.ftl @@ -186,7 +186,7 @@ theme = Tema theme-light = Claro theme-dark = Escuro redirect-bidirectional = Bidirecional -reverse-redirects-when-restoring = Reverse sequence of redirects when restoring +reverse-redirects-when-restoring = Reverter sequência de redirecionamentos durante restauração show-disabled-games = Show disabled games show-unchanged-games = Mostrar jogos inalterados show-unscanned-games = Mostrar jogos não escaneados diff --git a/lang/ru-RU.ftl b/lang/ru-RU.ftl index dde1df4..1c59252 100644 --- a/lang/ru-RU.ftl +++ b/lang/ru-RU.ftl @@ -44,9 +44,9 @@ button-unlock = Разблокировать # This opens a download page. button-get-app = Получить { $app } button-validate = Проверить -button-override-manifest = Override manifest -button-extend-manifest = Extend manifest -button-sort = Sort +button-override-manifest = Переопределить манифест +button-extend-manifest = Расширить манифест +button-sort = Сортировать no-roots-are-configured = Добавьте несколько корней для резервирования еще больше данных. config-is-invalid = Ошибка: неверный файл конфигурации. manifest-is-invalid = Ошибка: неверный файл конфигурации (манифеста). @@ -105,7 +105,7 @@ label-new = Новый label-removed = Удалено label-comment = Комментарий label-unchanged = Без изменений -label-backup = Backup +label-backup = Резервировать label-scan = Сканирование label-filter = Фильтр label-unique = Уникальный @@ -149,7 +149,7 @@ label-source = Источник # This refers to the main Ludusavi manifest: https://github.com/mtkennerly/ludusavi-manifest label-primary-manifest = Основной манифест # This refers to how we integrate a custom game with the manifest data. -label-integration = Integration +label-integration = Интеграция store-ea = EA store-epic = Epic store-gog = GOG @@ -186,8 +186,8 @@ theme = Тема оформления theme-light = Светлая theme-dark = Тёмная redirect-bidirectional = Двунаправленный -reverse-redirects-when-restoring = Reverse sequence of redirects when restoring -show-disabled-games = Show disabled games +reverse-redirects-when-restoring = Обратная последовательность перенаправлений при восстановлении +show-disabled-games = Показать неактивные игры show-unchanged-games = Показать неизменные игры show-unscanned-games = Показать несканированные игры override-max-threads = Переопределить макс. количество потоков @@ -248,6 +248,6 @@ restore-specific-game = .failed = Не удалось восстановить данные для { $game } new-version-check = Автоматически проверять обновления приложения new-version-available = Доступно обновление приложения: { $version }. Хотите просмотреть список изменений (патчноут)? -custom-game-will-override = This custom game overrides a manifest entry -custom-game-will-extend = This custom game extends a manifest entry -operation-will-only-include-listed-games = This will only process the games that are currently listed +custom-game-will-override = Пользовательская игра переопределяет элемент манифеста +custom-game-will-extend = Пользовательская игра расширяет манифест +operation-will-only-include-listed-games = Обработаются только перечисленные игры diff --git a/src/lang.rs b/src/lang.rs index 99e7952..641551e 100644 --- a/src/lang.rs +++ b/src/lang.rs @@ -211,7 +211,7 @@ impl Language { Language::Korean => 86, Language::Polish => 90, Language::PortugueseBrazilian => 92, - Language::Russian => 94, + Language::Russian => 100, Language::Spanish => 94, Language::Thai => 22, Language::Turkish => 94,