diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 6dac744..fb07dd1 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.25.0 - v0.24.3 - v0.24.2 - v0.24.1 @@ -16,7 +17,6 @@ body: - v0.21.0 - v0.20.0 - v0.19.0 - - v0.18.2 - Other validations: required: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 732b6da..2f99ed1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## v0.25.0 (2024-08-18) * Added: * You can now ignore specific manifests during scans. diff --git a/Cargo.lock b/Cargo.lock index 045b231..deca9b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2403,7 +2403,7 @@ dependencies = [ [[package]] name = "ludusavi" -version = "0.24.3" +version = "0.25.0" dependencies = [ "base64 0.22.0", "byte-unit", diff --git a/Cargo.toml b/Cargo.toml index 241f86c..f0f728e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ludusavi" -version = "0.24.3" +version = "0.25.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 a8b698f..f6dda03 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.24.3/docs/sample-gui-linux.png + https://raw.githubusercontent.com/mtkennerly/ludusavi/v0.25.0/docs/sample-gui-linux.png Graphical user interface com.github.mtkennerly.ludusavi.desktop + diff --git a/docs/schema/api-input.yaml b/docs/schema/api-input.yaml index 7cca0db..651fa20 100644 --- a/docs/schema/api-input.yaml +++ b/docs/schema/api-input.yaml @@ -18,6 +18,9 @@ properties: items: $ref: "#/definitions/Request" definitions: + CheckAppUpdate: + description: Check whether an application update is available. + type: object ConfigOverride: description: Overridden configuration. type: object @@ -91,3 +94,10 @@ definitions: findTitle: $ref: "#/definitions/FindTitle" additionalProperties: false + - type: object + required: + - checkAppUpdate + properties: + checkAppUpdate: + $ref: "#/definitions/CheckAppUpdate" + additionalProperties: false diff --git a/docs/schema/api-output.yaml b/docs/schema/api-output.yaml index 7457547..dbca1c0 100644 --- a/docs/schema/api-output.yaml +++ b/docs/schema/api-output.yaml @@ -21,6 +21,26 @@ anyOf: allOf: - $ref: "#/definitions/Error" definitions: + AppUpdate: + type: object + properties: + url: + description: Release URL to open in browser. + default: "" + type: string + version: + description: New version number. + default: "" + type: string + CheckAppUpdate: + type: object + properties: + update: + description: An available update. + default: ~ + anyOf: + - $ref: "#/definitions/AppUpdate" + - type: "null" Error: type: object properties: @@ -55,3 +75,10 @@ definitions: findTitle: $ref: "#/definitions/FindTitle" additionalProperties: false + - type: object + required: + - checkAppUpdate + properties: + checkAppUpdate: + $ref: "#/definitions/CheckAppUpdate" + additionalProperties: false diff --git a/docs/schema/config.yaml b/docs/schema/config.yaml index a378ded..1302ae4 100644 --- a/docs/schema/config.yaml +++ b/docs/schema/config.yaml @@ -65,7 +65,7 @@ properties: - $ref: "#/definitions/Language" manifest: default: - url: "https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml" + enable: true allOf: - $ref: "#/definitions/ManifestConfig" redirects: @@ -73,6 +73,11 @@ properties: type: array items: $ref: "#/definitions/RedirectConfig" + release: + default: + check: true + allOf: + - $ref: "#/definitions/Release" restore: default: ignoredGames: [] @@ -452,14 +457,18 @@ definitions: ManifestConfig: type: object properties: + enable: + default: true + type: boolean secondary: - description: Where to download the primary manifest. type: array items: $ref: "#/definitions/SecondaryManifestConfig" url: - default: "https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml" - type: string + description: "Where to download the primary manifest. Default: https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml" + type: + - string + - "null" RedirectConfig: type: object properties: @@ -491,6 +500,13 @@ definitions: properties: raw: type: string + Release: + type: object + properties: + check: + description: "Whether to check for new releases. If enabled, Ludusavi will check at most once every 24 hours." + default: true + type: boolean RestoreConfig: type: object properties: @@ -809,12 +825,18 @@ definitions: required: - path properties: + enable: + default: true + type: boolean path: $ref: "#/definitions/FilePath" - type: object required: - url properties: + enable: + default: true + type: boolean url: type: string Sort: diff --git a/src/resource/config.rs b/src/resource/config.rs index 0cd8279..96ede9e 100644 --- a/src/resource/config.rs +++ b/src/resource/config.rs @@ -55,7 +55,7 @@ pub struct Runtime { #[serde(default, rename_all = "camelCase")] pub struct Release { /// Whether to check for new releases. - /// If enabled, Ludusavi will check at most once every 7 days. + /// If enabled, Ludusavi will check at most once every 24 hours. pub check: bool, }