diff --git a/CHANGELOG.md b/CHANGELOG.md index 499f98c47..0e833967a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,74 @@ +# [1.9.0](https://github.com/gotson/komga/compare/1.8.4...1.9.0) (2023-12-15) +## 🚀 Features +**api** +- increase PDF image resolution ([e856d4f](https://github.com/gotson/komga/commits/e856d4f)) +- make pre-paginated epub containing only images compatible with divina profile ([c2a4d17](https://github.com/gotson/komga/commits/c2a4d17)) +- add basic metadata for transient books ([1050f52](https://github.com/gotson/komga/commits/1050f52)) +- add Readium Progression API ([20799ad](https://github.com/gotson/komga/commits/20799ad)) +- add layout attribute on epub manifest ([5096364](https://github.com/gotson/komga/commits/5096364)) +- add positions endpoint to get pre-computed positions of epub books ([eb8a644](https://github.com/gotson/komga/commits/eb8a644)) + +**epubreader** +- handle reading direction ([77b8a32](https://github.com/gotson/komga/commits/77b8a32)) +- remove margin and dropshadow for pre-paginated publications ([10e2597](https://github.com/gotson/komga/commits/10e2597)) +- mark read progress ([1172911](https://github.com/gotson/komga/commits/1172911)) +- adjust display of current progress ([b234586](https://github.com/gotson/komga/commits/b234586)) +- add navigation modes with click/tap, buttons, or both ([2f0f94d](https://github.com/gotson/komga/commits/2f0f94d)) +- display percentage of total progression ([3a14990](https://github.com/gotson/komga/commits/3a14990)) + +**komga** +- relax epub validity controls ([fad93ad](https://github.com/gotson/komga/commits/fad93ad)) + +**komga-tray** +- display dialog with error detail on application startup failure ([0fdcb2a](https://github.com/gotson/komga/commits/0fdcb2a)), closes [#1336](https://github.com/gotson/komga/issues/1336) + +**opds-v1** +- add OPDS-PSE links for divina-compatible EPUBs ([0c96054](https://github.com/gotson/komga/commits/0c96054)) +- use static xml namespace prefix for opds-pse ([834b51d](https://github.com/gotson/komga/commits/834b51d)) + +**webui** +- use divina reader for compatible epub ([809a794](https://github.com/gotson/komga/commits/809a794)), closes [#1324](https://github.com/gotson/komga/issues/1324) +- autofill series and number from metadata during book import ([5b75345](https://github.com/gotson/komga/commits/5b75345)), closes [#998](https://github.com/gotson/komga/issues/998) + +## 🐛 Fixes +**api** +- properly set layout property in webpub manifest ([e11ce46](https://github.com/gotson/komga/commits/e11ce46)) +- cannot get last page of PDF ([721c5d1](https://github.com/gotson/komga/commits/721c5d1)), closes [#1341](https://github.com/gotson/komga/issues/1341) + +**epubreader** +- properly handle clicks in iframes ([4db0542](https://github.com/gotson/komga/commits/4db0542)) + +**komga** +- empty generated thumbnails would be saved in DB ([15920b7](https://github.com/gotson/komga/commits/15920b7)), closes [#1338](https://github.com/gotson/komga/issues/1338) +- use an in-process lock for Lucene ([1a30bf9](https://github.com/gotson/komga/commits/1a30bf9)) + +**webui** +- pre-render page could overlap current page in some specific conditions ([7a8d50c](https://github.com/gotson/komga/commits/7a8d50c)), closes [#1339](https://github.com/gotson/komga/issues/1339) + +## 🏎 Perf +**komga** +- convert BookMetadataProvider to property ([3843f77](https://github.com/gotson/komga/commits/3843f77)) + +## 🔄️ Changes +**komga** +- move date utils to language package ([fbc1034](https://github.com/gotson/komga/commits/fbc1034)) + +**komga-tray** +- catch any exception on startup ([b312847](https://github.com/gotson/komga/commits/b312847)) + +## 🌐 Translation +**komga-tray** +- translated using Weblate (Chinese (Simplified)) ([142326c](https://github.com/gotson/komga/commits/142326c)) +- translated using Weblate (Finnish) ([d19e1a5](https://github.com/gotson/komga/commits/d19e1a5)) +- translated using Weblate (Spanish) ([ad6a8c9](https://github.com/gotson/komga/commits/ad6a8c9)) + +**webui** +- fix language file name ([ac59fca](https://github.com/gotson/komga/commits/ac59fca)), closes [#1345](https://github.com/gotson/komga/issues/1345) +- translated using Weblate (Chinese (Simplified)) ([0274308](https://github.com/gotson/komga/commits/0274308)) +- translated using Weblate (Spanish) ([37abfbf](https://github.com/gotson/komga/commits/37abfbf)) +- translated using Weblate (Catalan) ([32e9a0c](https://github.com/gotson/komga/commits/32e9a0c)) +- translated using Weblate (German) ([d2a91ac](https://github.com/gotson/komga/commits/d2a91ac)) + # [1.8.4](https://github.com/gotson/komga/compare/1.8.3...1.8.4) (2023-12-06) ## 🐛 Fixes **webui** diff --git a/gradle.properties b/gradle.properties index 7504783a0..21a41ceb2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.8.4 +version=1.9.0 org.gradle.jvmargs=-Xmx2G diff --git a/komga/docs/openapi.json b/komga/docs/openapi.json index 1c1ea8c6c..95c8127a5 100644 --- a/komga/docs/openapi.json +++ b/komga/docs/openapi.json @@ -606,6 +606,87 @@ } } }, + "/api/v1/books/{bookId}/progression": { + "get": { + "tags": [ + "book-controller" + ], + "operationId": "getProgression", + "parameters": [ + { + "name": "bookId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "200": { + "description": "OK", + "content": { + "application/vnd.readium.progression+json": { + "schema": { + "$ref": "#/components/schemas/R2Progression" + } + } + } + } + } + }, + "put": { + "tags": [ + "book-controller" + ], + "operationId": "markProgression", + "parameters": [ + { + "name": "bookId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/R2Progression" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "204": { + "description": "No Content" + } + } + } + }, "/api/v1/books/thumbnails": { "put": { "tags": [ @@ -8110,6 +8191,46 @@ } } }, + "/api/v1/books/{bookId}/positions": { + "get": { + "tags": [ + "book-controller" + ], + "operationId": "getPositions", + "parameters": [ + { + "name": "bookId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + }, + "200": { + "description": "OK", + "content": { + "application/vnd.readium.position-list+json": { + "schema": { + "$ref": "#/components/schemas/R2Positions" + } + } + } + } + } + } + }, "/api/v1/books/{bookId}/pages": { "get": { "tags": [ @@ -9509,6 +9630,105 @@ }, "description": "Fields to update. You can omit fields you don\u0027t want to update." }, + "Location": { + "required": [ + "fragments" + ], + "type": "object", + "properties": { + "fragments": { + "type": "array", + "items": { + "type": "string" + } + }, + "progression": { + "type": "number", + "format": "float" + }, + "position": { + "type": "integer", + "format": "int32" + }, + "totalProgression": { + "type": "number", + "format": "float" + } + } + }, + "R2Device": { + "required": [ + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "R2Locator": { + "required": [ + "href", + "type" + ], + "type": "object", + "properties": { + "href": { + "type": "string" + }, + "type": { + "type": "string" + }, + "title": { + "type": "string" + }, + "locations": { + "$ref": "#/components/schemas/Location" + }, + "text": { + "$ref": "#/components/schemas/Text" + } + } + }, + "R2Progression": { + "required": [ + "device", + "locator", + "modified" + ], + "type": "object", + "properties": { + "modified": { + "type": "string", + "format": "date-time" + }, + "device": { + "$ref": "#/components/schemas/R2Device" + }, + "locator": { + "$ref": "#/components/schemas/R2Locator" + } + } + }, + "Text": { + "type": "object", + "properties": { + "after": { + "type": "string" + }, + "before": { + "type": "string" + }, + "highlight": { + "type": "string" + } + } + }, "UserCreationDto": { "required": [ "email", @@ -9708,6 +9928,13 @@ }, "comment": { "type": "string" + }, + "number": { + "type": "number", + "format": "float" + }, + "seriesId": { + "type": "string" } } }, @@ -11165,6 +11392,7 @@ "letterer", "penciler", "publisher", + "rendition", "subject", "title", "translator" @@ -11291,6 +11519,12 @@ }, "belongsTo": { "$ref": "#/components/schemas/WPBelongsToDto" + }, + "rendition": { + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -11590,10 +11824,10 @@ "type": "integer", "format": "int32" }, - "paged": { + "unpaged": { "type": "boolean" }, - "unpaged": { + "paged": { "type": "boolean" }, "offset": { @@ -12331,6 +12565,7 @@ "MediaDto": { "required": [ "comment", + "epubDivinaCompatible", "mediaProfile", "mediaType", "pagesCount", @@ -12351,6 +12586,9 @@ "comment": { "type": "string" }, + "epubDivinaCompatible": { + "type": "boolean" + }, "mediaProfile": { "type": "string" } @@ -12406,6 +12644,8 @@ "required": [ "completed", "created", + "deviceId", + "deviceName", "lastModified", "page", "readDate" @@ -12430,6 +12670,12 @@ "lastModified": { "type": "string", "format": "date-time" + }, + "deviceId": { + "type": "string" + }, + "deviceName": { + "type": "string" } } }, @@ -12861,6 +13107,25 @@ } } }, + "R2Positions": { + "required": [ + "positions", + "total" + ], + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int32" + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/R2Locator" + } + } + } + }, "MediaType": { "type": "object", "properties": {