diff --git a/CHANGELOG.md b/CHANGELOG.md index 4883c021e..810138268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# [0.135.0](https://github.com/gotson/komga/compare/v0.134.1...v0.135.0) (2021-12-10) + + +### Features + +* **opds:** acquisition feeds are paginated ([734403a](https://github.com/gotson/komga/commit/734403a3663f8b0a5858b85cd389255c5086b6a7)), closes [#572](https://github.com/gotson/komga/issues/572) +* **opds:** add Keep Reading and On Deck ([c9d12d0](https://github.com/gotson/komga/commit/c9d12d042b3463779cc20c39aa52720e7404365e)), closes [#737](https://github.com/gotson/komga/issues/737) +* **opds:** support lastRead attribute on OPSD PSE links ([ce51373](https://github.com/gotson/komga/commit/ce513733446ff4ddbef1fab2cefa14a84bac7a6c)) + + +### Reverts + +* remove the OPDS markread feature ([e55f493](https://github.com/gotson/komga/commit/e55f493632f441a51372317988894a0cf333e00e)) + ## [0.134.1](https://github.com/gotson/komga/compare/v0.134.0...v0.134.1) (2021-12-06) diff --git a/gradle.properties b/gradle.properties index 355279178..404fc9146 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=0.134.1 +version=0.135.0 org.gradle.jvmargs=-Xmx2G -XX:MaxPermSize=2G diff --git a/komga/docs/openapi.json b/komga/docs/openapi.json index 7876cd618..f3e80ba5c 100644 --- a/komga/docs/openapi.json +++ b/komga/docs/openapi.json @@ -639,6 +639,10 @@ "format": "int32", "type": "integer" }, + "size": { + "format": "int32", + "type": "integer" + }, "numberOfElements": { "format": "int32", "type": "integer" @@ -646,10 +650,6 @@ "last": { "type": "boolean" }, - "size": { - "format": "int32", - "type": "integer" - }, "totalPages": { "format": "int32", "type": "integer" @@ -786,6 +786,10 @@ "format": "int32", "type": "integer" }, + "size": { + "format": "int32", + "type": "integer" + }, "numberOfElements": { "format": "int32", "type": "integer" @@ -793,10 +797,6 @@ "last": { "type": "boolean" }, - "size": { - "format": "int32", - "type": "integer" - }, "totalPages": { "format": "int32", "type": "integer" @@ -864,6 +864,10 @@ "format": "int32", "type": "integer" }, + "size": { + "format": "int32", + "type": "integer" + }, "numberOfElements": { "format": "int32", "type": "integer" @@ -871,10 +875,6 @@ "last": { "type": "boolean" }, - "size": { - "format": "int32", - "type": "integer" - }, "totalPages": { "format": "int32", "type": "integer" @@ -929,6 +929,10 @@ "format": "int32", "type": "integer" }, + "size": { + "format": "int32", + "type": "integer" + }, "numberOfElements": { "format": "int32", "type": "integer" @@ -936,10 +940,6 @@ "last": { "type": "boolean" }, - "size": { - "format": "int32", - "type": "integer" - }, "totalPages": { "format": "int32", "type": "integer" @@ -1005,6 +1005,10 @@ "format": "int32", "type": "integer" }, + "size": { + "format": "int32", + "type": "integer" + }, "numberOfElements": { "format": "int32", "type": "integer" @@ -1012,10 +1016,6 @@ "last": { "type": "boolean" }, - "size": { - "format": "int32", - "type": "integer" - }, "totalPages": { "format": "int32", "type": "integer" @@ -1066,6 +1066,10 @@ "format": "int32", "type": "integer" }, + "size": { + "format": "int32", + "type": "integer" + }, "numberOfElements": { "format": "int32", "type": "integer" @@ -1073,10 +1077,6 @@ "last": { "type": "boolean" }, - "size": { - "format": "int32", - "type": "integer" - }, "totalPages": { "format": "int32", "type": "integer" @@ -2155,11 +2155,11 @@ "parameters": [ { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -2633,11 +2633,11 @@ "parameters": [ { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -2934,11 +2934,11 @@ }, { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -3200,11 +3200,11 @@ }, { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -3502,15 +3502,6 @@ "name": "zero_based", "description": "If set to true, pages will start at index 0. If set to false, pages will start at index 1.", "required": false - }, - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "markread", - "description": "If set to true, read progress will be marked on the requested paged. Works only for OPDS.", - "required": false } ], "tags": [ @@ -3564,11 +3555,11 @@ }, { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -3803,11 +3794,11 @@ }, { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -3927,11 +3918,11 @@ "parameters": [ { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -4057,15 +4048,6 @@ "name": "zero_based", "description": "If set to true, pages will start at index 0. If set to false, pages will start at index 1.", "required": false - }, - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "markread", - "description": "If set to true, read progress will be marked on the requested paged. Works only for OPDS.", - "required": false } ], "tags": [ @@ -4348,6 +4330,56 @@ ] } }, + "/opds/v1.2/keep-reading": { + "get": { + "operationId": "getKeepReading", + "responses": { + "200": { + "description": "OK", + "content": { + "application/xml": { + "schema": { + "$ref": "#/components/schemas/OpdsFeed" + } + }, + "application/atom+xml": { + "schema": { + "$ref": "#/components/schemas/OpdsFeed" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/OpdsFeed" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + } + }, + "parameters": [ + { + "schema": { + "type": "integer" + }, + "in": "query", + "name": "page", + "description": "Zero-based page index (0..N)" + } + ], + "tags": [ + "opds-controller" + ] + } + }, "/api/v1/users/{id}": { "patch": { "requestBody": { @@ -4468,11 +4500,61 @@ }, { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" + } + ], + "tags": [ + "opds-controller" + ] + } + }, + "/opds/v1.2/ondeck": { + "get": { + "operationId": "getOnDeck", + "responses": { + "200": { + "description": "OK", + "content": { + "application/xml": { + "schema": { + "$ref": "#/components/schemas/OpdsFeed" + } + }, + "application/atom+xml": { + "schema": { + "$ref": "#/components/schemas/OpdsFeed" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/OpdsFeed" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + } + }, + "parameters": [ + { + "schema": { + "type": "integer" + }, + "in": "query", + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -4515,16 +4597,6 @@ } } }, - "parameters": [ - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "markread", - "required": false - } - ], "tags": [ "opds-controller" ] @@ -5838,16 +5910,6 @@ } } }, - "parameters": [ - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "markread", - "required": false - } - ], "tags": [ "opds-controller" ] @@ -5891,11 +5953,11 @@ "parameters": [ { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -6491,11 +6553,11 @@ }, { "schema": { - "type": "boolean" + "type": "integer" }, "in": "query", - "name": "markread", - "required": false + "name": "page", + "description": "Zero-based page index (0..N)" } ], "tags": [ @@ -7893,7 +7955,7 @@ }, "/api/v1/oauth2/providers": { "head": { - "operationId": "getProviders_4", + "operationId": "getProviders", "responses": { "200": { "description": "OK", @@ -7924,7 +7986,7 @@ ] }, "patch": { - "operationId": "getProviders_3", + "operationId": "getProviders_4", "responses": { "200": { "description": "OK", @@ -7955,99 +8017,6 @@ ] }, "post": { - "operationId": "getProviders_6", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OAuth2ClientDto" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/ValidationErrorResponse" - } - } - } - } - }, - "tags": [ - "o-auth-2-controller" - ] - }, - "get": { - "operationId": "getProviders_1", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OAuth2ClientDto" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/ValidationErrorResponse" - } - } - } - } - }, - "tags": [ - "o-auth-2-controller" - ] - }, - "options": { - "operationId": "getProviders_2", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OAuth2ClientDto" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/ValidationErrorResponse" - } - } - } - } - }, - "tags": [ - "o-auth-2-controller" - ] - }, - "delete": { "operationId": "getProviders_5", "responses": { "200": { @@ -8078,8 +8047,101 @@ "o-auth-2-controller" ] }, + "get": { + "operationId": "getProviders_2", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OAuth2ClientDto" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + } + }, + "tags": [ + "o-auth-2-controller" + ] + }, + "options": { + "operationId": "getProviders_1", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OAuth2ClientDto" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + } + }, + "tags": [ + "o-auth-2-controller" + ] + }, + "delete": { + "operationId": "getProviders_3", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OAuth2ClientDto" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/ValidationErrorResponse" + } + } + } + } + }, + "tags": [ + "o-auth-2-controller" + ] + }, "put": { - "operationId": "getProviders", + "operationId": "getProviders_6", "responses": { "200": { "description": "OK", @@ -8193,16 +8255,6 @@ } } }, - "parameters": [ - { - "schema": { - "type": "boolean" - }, - "in": "query", - "name": "markread", - "required": false - } - ], "tags": [ "opds-controller" ]