From 80d1da58984cf6fd823503a38afbf9e484a9e165 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 09:13:13 +0000 Subject: [PATCH] chore(release): 1.17.0 [skip ci] --- CHANGELOG.md | 16 ++++ gradle.properties | 2 +- komga/docs/openapi.json | 195 ++++++++++++++++++++++++++++++++++++++-- 3 files changed, 206 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac9cba2d1d..eff7579a07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +# [1.17.0](https://github.com/gotson/komga/compare/1.16.0...1.17.0) (2025-01-09) +## 🚀 Features + +- add support for KOReader Sync ([623b2e3](https://github.com/gotson/komga/commits/623b2e3)), closes [#1760](https://github.com/gotson/komga/issues/1760) + +## 🐛 Fixes +**api** +- read progress modified time could be inaccurate in some cases ([6c3565c](https://github.com/gotson/komga/commits/6c3565c)) + +**unscoped** +- better detection for KCC converted Epub ([6dcebb4](https://github.com/gotson/komga/commits/6dcebb4)) + +## 🔄️ Changes + +- move user roles to separate database table ([cbb0d61](https://github.com/gotson/komga/commits/cbb0d61)) + # [1.16.0](https://github.com/gotson/komga/compare/1.15.1...1.16.0) (2025-01-02) ## 🚀 Features **api** diff --git a/gradle.properties b/gradle.properties index 157b9e3dd9..921208c633 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.16.0 +version=1.17.0 org.gradle.jvmargs=-Xmx2G diff --git a/komga/docs/openapi.json b/komga/docs/openapi.json index fbf70aad01..ca31e37e7c 100644 --- a/komga/docs/openapi.json +++ b/komga/docs/openapi.json @@ -405,6 +405,39 @@ } } }, + "/koreader/syncs/progress": { + "put": { + "tags": [ + "koreader-sync-controller" + ], + "operationId": "updateProgress", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentProgressDto" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "200": { + "description": "OK" + } + } + } + }, "/kobo/{authToken}/v1/library/{bookId}/state": { "get": { "tags": [ @@ -1195,6 +1228,36 @@ } } }, + "/koreader/users/create": { + "post": { + "tags": [ + "koreader-sync-controller" + ], + "operationId": "registerUser", + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "200": { + "description": "OK", + "content": { + "application/vnd.koreader.v1+json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, "/kobo/{authToken}/v1/auth/device": { "post": { "tags": [ @@ -6222,6 +6285,76 @@ } } }, + "/koreader/users/auth": { + "get": { + "tags": [ + "koreader-sync-controller" + ], + "operationId": "authorize", + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "200": { + "description": "OK", + "content": { + "application/vnd.koreader.v1+json": { + "schema": { + "$ref": "#/components/schemas/UserAuthenticationDto" + } + } + } + } + } + } + }, + "/koreader/syncs/progress/{bookHash}": { + "get": { + "tags": [ + "koreader-sync-controller" + ], + "operationId": "getProgress", + "parameters": [ + { + "name": "bookHash", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "200": { + "description": "OK", + "content": { + "application/vnd.koreader.v1+json": { + "schema": { + "$ref": "#/components/schemas/DocumentProgressDto" + } + } + } + } + } + } + }, "/kobo/{authToken}/v1/library/{bookId}/metadata": { "get": { "tags": [ @@ -11365,6 +11498,34 @@ } } }, + "DocumentProgressDto": { + "required": [ + "device", + "device_id", + "document", + "percentage", + "progress" + ], + "type": "object", + "properties": { + "document": { + "type": "string" + }, + "percentage": { + "type": "number", + "format": "float" + }, + "progress": { + "type": "string" + }, + "device": { + "type": "string" + }, + "device_id": { + "type": "string" + } + } + }, "BookmarkDto": { "required": [ "LastModified" @@ -11645,6 +11806,9 @@ "hashPages": { "type": "boolean" }, + "hashKoreader": { + "type": "boolean" + }, "analyzeDimensions": { "type": "boolean" }, @@ -13907,6 +14071,7 @@ "convertToCbz", "emptyTrashAfterScan", "hashFiles", + "hashKoreader", "hashPages", "importBarcodeIsbn", "importComicInfoBook", @@ -14025,6 +14190,9 @@ "hashPages": { "type": "boolean" }, + "hashKoreader": { + "type": "boolean" + }, "analyzeDimensions": { "type": "boolean" }, @@ -14039,6 +14207,7 @@ "convertToCbz", "emptyTrashAfterScan", "hashFiles", + "hashKoreader", "hashPages", "id", "importBarcodeIsbn", @@ -14162,6 +14331,9 @@ "hashPages": { "type": "boolean" }, + "hashKoreader": { + "type": "boolean" + }, "analyzeDimensions": { "type": "boolean" }, @@ -14645,12 +14817,6 @@ "type": "string" } }, - "links": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WebLinkUpdateDto" - } - }, "readingDirection": { "type": "string", "enum": [ @@ -14675,6 +14841,12 @@ "type": "integer", "format": "int32" }, + "links": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebLinkUpdateDto" + } + }, "sharingLabels": { "uniqueItems": true, "type": "array", @@ -15485,6 +15657,17 @@ } } }, + "UserAuthenticationDto": { + "required": [ + "authorized" + ], + "type": "object", + "properties": { + "authorized": { + "type": "string" + } + } + }, "ResourcesDto": { "required": [ "Resources"