diff --git a/CHANGELOG.md b/CHANGELOG.md index dc68638d0a..abf5cdedb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,68 @@ +# [1.6.0](https://github.com/gotson/komga/compare/v1.5.1...v1.6.0) (2023-10-18) +## 🚀 Features +**api** +- new endpoint to regenerate thumbnails conditionally ([796745a](https://github.com/gotson/komga/commits/796745a)) +- add thumbnail size server setting ([5fa789b](https://github.com/gotson/komga/commits/5fa789b)), closes [#861](https://github.com/gotson/komga/issues/861) [#1031](https://github.com/gotson/komga/issues/1031) +- add thumbnail metadata ([5b6e9e3](https://github.com/gotson/komga/commits/5b6e9e3)) + +**komga** +- generate mosaic thumbnails with the quality configured in server settings ([b19e799](https://github.com/gotson/komga/commits/b19e799)) +- prevent image resizing scale up ([84fe3b7](https://github.com/gotson/komga/commits/84fe3b7)) +- store filesize, media type and dimensions for thumbnails ([bb13c0c](https://github.com/gotson/komga/commits/bb13c0c)) + +**webui** +- dialog to regenerate thumbnails if size has changed ([ac1c824](https://github.com/gotson/komga/commits/ac1c824)) +- configure thumbnail size from server settings ([f0b1abe](https://github.com/gotson/komga/commits/f0b1abe)) +- display thumbnail metadata in edit poster dialog ([64fddbd](https://github.com/gotson/komga/commits/64fddbd)) + +## 🐛 Fixes +**komga** +- incorrect counts when getting thumbnails without metadata ([553016c](https://github.com/gotson/komga/commits/553016c)) + +## 🏎 Perf +**komga** +- submit tasks in bulk ([5fe4e3e](https://github.com/gotson/komga/commits/5fe4e3e)) +- replace Artemis for background task handling ([b7aa120](https://github.com/gotson/komga/commits/b7aa120)), closes [#1038](https://github.com/gotson/komga/issues/1038) +- better handling of Lucene index when reading and updating ([487b439](https://github.com/gotson/komga/commits/487b439)) + +## 🔄️ Changes +**komga** +- remove Serializable ([6e6f8b7](https://github.com/gotson/komga/commits/6e6f8b7)) +- simplify some background tasks ([77ccb9e](https://github.com/gotson/komga/commits/77ccb9e)) +- use extension function ([9abb261](https://github.com/gotson/komga/commits/9abb261)) +- add support for multiple data sources ([cafe669](https://github.com/gotson/komga/commits/cafe669)) +- convert Task.uniqueId to a property ([ae32b85](https://github.com/gotson/komga/commits/ae32b85)) +- add functions to send multiple tasks in TaskEmitter ([12a786b](https://github.com/gotson/komga/commits/12a786b)) +- replace Artemis with Spring events for domain event publishing ([545a314](https://github.com/gotson/komga/commits/545a314)) +- remove empty file ([da184c8](https://github.com/gotson/komga/commits/da184c8)) +- rename task ([266f692](https://github.com/gotson/komga/commits/266f692)) +- add backing fields for server settings ([e35d468](https://github.com/gotson/komga/commits/e35d468)) + +**opds** +- remove chunky specific code as chunky doesn't work anymore with Komga ([9d0a533](https://github.com/gotson/komga/commits/9d0a533)) + +**unscoped** +- ktlint ([7057c28](https://github.com/gotson/komga/commits/7057c28)) + +## 🛠 Build +**changelog** +- group dependencies in separate category ([0b3748a](https://github.com/gotson/komga/commits/0b3748a)) + +**komga** +- fix gradle task dependencies ([1fcef0e](https://github.com/gotson/komga/commits/1fcef0e)) +- disable AuthenticationActivityCleanupController during tests ([572a176](https://github.com/gotson/komga/commits/572a176)) +- fix tests following previous changes ([72cf68b](https://github.com/gotson/komga/commits/72cf68b)) +- coding rule test for no field injection ([e7fcf23](https://github.com/gotson/komga/commits/e7fcf23)) + +## 📝 Documentation + +- fix faq link in issue report ([31c0bb0](https://github.com/gotson/komga/commits/31c0bb0)) + +## 🌐 Translation + +- translated using Weblate (Chinese (Simplified)) ([e032f94](https://github.com/gotson/komga/commits/e032f94)) +- translated using Weblate (Spanish) ([4caaa34](https://github.com/gotson/komga/commits/4caaa34)) + # [1.5.1](https://github.com/gotson/komga/compare/v1.5.0...v1.5.1) (2023-10-05) ## 🐛 Fixes **sse** diff --git a/gradle.properties b/gradle.properties index 8440422589..bb8000b9cb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.5.1 +version=1.6.0 org.gradle.jvmargs=-Xmx2G diff --git a/komga/docs/openapi.json b/komga/docs/openapi.json index 8e1a6dd908..5c280ee439 100644 --- a/komga/docs/openapi.json +++ b/komga/docs/openapi.json @@ -606,6 +606,39 @@ } } }, + "/api/v1/books/thumbnails": { + "put": { + "tags": [ + "book-controller" + ], + "operationId": "regenerateThumbnails", + "parameters": [ + { + "name": "for_bigger_result_only", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "202": { + "description": "Accepted" + } + } + } + }, "/api/v1/announcements": { "get": { "tags": [ @@ -859,7 +892,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/SeriesThumbnailDto" + "$ref": "#/components/schemas/ThumbnailSeriesDto" } } } @@ -924,7 +957,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SeriesThumbnailDto" + "$ref": "#/components/schemas/ThumbnailSeriesDto" } } } @@ -3802,15 +3835,6 @@ ], "operationId": "getOneSeries_1", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "id", "in": "path", @@ -3869,15 +3893,6 @@ ], "operationId": "getLatestSeries_2", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "page", "in": "query", @@ -4018,15 +4033,6 @@ ], "operationId": "getOneReadList_1", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "id", "in": "path", @@ -4135,15 +4141,6 @@ ], "operationId": "getOnDeck_2", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "page", "in": "query", @@ -4292,15 +4289,6 @@ ], "operationId": "getKeepReading_2", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "page", "in": "query", @@ -4401,15 +4389,6 @@ ], "operationId": "getOneCollection_1", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "id", "in": "path", @@ -4801,15 +4780,6 @@ ], "operationId": "getLatestBooks_2", "parameters": [ - { - "name": "User-Agent", - "in": "header", - "required": false, - "schema": { - "type": "string", - "default": "" - } - }, { "name": "page", "in": "query", @@ -9674,12 +9644,16 @@ } } }, - "SeriesThumbnailDto": { + "ThumbnailSeriesDto": { "required": [ + "fileSize", + "height", "id", + "mediaType", "selected", "seriesId", - "type" + "type", + "width" ], "type": "object", "properties": { @@ -9694,6 +9668,21 @@ }, "selected": { "type": "boolean" + }, + "mediaType": { + "type": "string" + }, + "fileSize": { + "type": "integer", + "format": "int64" + }, + "width": { + "type": "integer", + "format": "int32" + }, + "height": { + "type": "integer", + "format": "int32" } } }, @@ -9769,10 +9758,14 @@ }, "ThumbnailReadListDto": { "required": [ + "fileSize", + "height", "id", + "mediaType", "readListId", "selected", - "type" + "type", + "width" ], "type": "object", "properties": { @@ -9787,6 +9780,21 @@ }, "selected": { "type": "boolean" + }, + "mediaType": { + "type": "string" + }, + "fileSize": { + "type": "integer", + "format": "int64" + }, + "width": { + "type": "integer", + "format": "int32" + }, + "height": { + "type": "integer", + "format": "int32" } } }, @@ -10337,9 +10345,13 @@ "ThumbnailSeriesCollectionDto": { "required": [ "collectionId", + "fileSize", + "height", "id", + "mediaType", "selected", - "type" + "type", + "width" ], "type": "object", "properties": { @@ -10354,15 +10366,34 @@ }, "selected": { "type": "boolean" + }, + "mediaType": { + "type": "string" + }, + "fileSize": { + "type": "integer", + "format": "int64" + }, + "width": { + "type": "integer", + "format": "int32" + }, + "height": { + "type": "integer", + "format": "int32" } } }, "ThumbnailBookDto": { "required": [ "bookId", + "fileSize", + "height", "id", + "mediaType", "selected", - "type" + "type", + "width" ], "type": "object", "properties": { @@ -10377,6 +10408,21 @@ }, "selected": { "type": "boolean" + }, + "mediaType": { + "type": "string" + }, + "fileSize": { + "type": "integer", + "format": "int64" + }, + "width": { + "type": "integer", + "format": "int32" + }, + "height": { + "type": "integer", + "format": "int32" } } }, @@ -10521,6 +10567,15 @@ }, "renewRememberMeKey": { "type": "boolean" + }, + "thumbnailSize": { + "type": "string", + "enum": [ + "DEFAULT", + "MEDIUM", + "LARGE", + "XLARGE" + ] } } }, @@ -10645,17 +10700,17 @@ "type": "integer", "format": "int32" }, - "alternateTitles": { + "sharingLabels": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/AlternateTitleUpdateDto" + "type": "string" } }, - "sharingLabels": { - "uniqueItems": true, + "alternateTitles": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/AlternateTitleUpdateDto" } } }, @@ -11608,7 +11663,8 @@ "required": [ "deleteEmptyCollections", "deleteEmptyReadLists", - "rememberMeDurationDays" + "rememberMeDurationDays", + "thumbnailSize" ], "type": "object", "properties": { @@ -11621,6 +11677,15 @@ "rememberMeDurationDays": { "type": "integer", "format": "int64" + }, + "thumbnailSize": { + "type": "string", + "enum": [ + "DEFAULT", + "MEDIUM", + "LARGE", + "XLARGE" + ] } } },