Skip to content

Commit 80d1da5

Browse files
chore(release): 1.17.0 [skip ci]
1 parent 6c3565c commit 80d1da5

File tree

3 files changed

+206
-7
lines changed

3 files changed

+206
-7
lines changed

CHANGELOG.md

+16
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
# [1.17.0](https://github.com/gotson/komga/compare/1.16.0...1.17.0) (2025-01-09)
2+
## 🚀 Features
3+
4+
- add support for KOReader Sync ([623b2e3](https://github.com/gotson/komga/commits/623b2e3)), closes [#1760](https://github.com/gotson/komga/issues/1760)
5+
6+
## 🐛 Fixes
7+
**api**
8+
- read progress modified time could be inaccurate in some cases ([6c3565c](https://github.com/gotson/komga/commits/6c3565c))
9+
10+
**unscoped**
11+
- better detection for KCC converted Epub ([6dcebb4](https://github.com/gotson/komga/commits/6dcebb4))
12+
13+
## 🔄️ Changes
14+
15+
- move user roles to separate database table ([cbb0d61](https://github.com/gotson/komga/commits/cbb0d61))
16+
117
# [1.16.0](https://github.com/gotson/komga/compare/1.15.1...1.16.0) (2025-01-02)
218
## 🚀 Features
319
**api**

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
version=1.16.0
1+
version=1.17.0
22
org.gradle.jvmargs=-Xmx2G

komga/docs/openapi.json

+189-6
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,39 @@
405405
}
406406
}
407407
},
408+
"/koreader/syncs/progress": {
409+
"put": {
410+
"tags": [
411+
"koreader-sync-controller"
412+
],
413+
"operationId": "updateProgress",
414+
"requestBody": {
415+
"content": {
416+
"application/json": {
417+
"schema": {
418+
"$ref": "#/components/schemas/DocumentProgressDto"
419+
}
420+
}
421+
},
422+
"required": true
423+
},
424+
"responses": {
425+
"400": {
426+
"description": "Bad Request",
427+
"content": {
428+
"*/*": {
429+
"schema": {
430+
"$ref": "#/components/schemas/ValidationErrorResponse"
431+
}
432+
}
433+
}
434+
},
435+
"200": {
436+
"description": "OK"
437+
}
438+
}
439+
}
440+
},
408441
"/kobo/{authToken}/v1/library/{bookId}/state": {
409442
"get": {
410443
"tags": [
@@ -1195,6 +1228,36 @@
11951228
}
11961229
}
11971230
},
1231+
"/koreader/users/create": {
1232+
"post": {
1233+
"tags": [
1234+
"koreader-sync-controller"
1235+
],
1236+
"operationId": "registerUser",
1237+
"responses": {
1238+
"400": {
1239+
"description": "Bad Request",
1240+
"content": {
1241+
"*/*": {
1242+
"schema": {
1243+
"$ref": "#/components/schemas/ValidationErrorResponse"
1244+
}
1245+
}
1246+
}
1247+
},
1248+
"200": {
1249+
"description": "OK",
1250+
"content": {
1251+
"application/vnd.koreader.v1+json": {
1252+
"schema": {
1253+
"type": "string"
1254+
}
1255+
}
1256+
}
1257+
}
1258+
}
1259+
}
1260+
},
11981261
"/kobo/{authToken}/v1/auth/device": {
11991262
"post": {
12001263
"tags": [
@@ -6222,6 +6285,76 @@
62226285
}
62236286
}
62246287
},
6288+
"/koreader/users/auth": {
6289+
"get": {
6290+
"tags": [
6291+
"koreader-sync-controller"
6292+
],
6293+
"operationId": "authorize",
6294+
"responses": {
6295+
"400": {
6296+
"description": "Bad Request",
6297+
"content": {
6298+
"*/*": {
6299+
"schema": {
6300+
"$ref": "#/components/schemas/ValidationErrorResponse"
6301+
}
6302+
}
6303+
}
6304+
},
6305+
"200": {
6306+
"description": "OK",
6307+
"content": {
6308+
"application/vnd.koreader.v1+json": {
6309+
"schema": {
6310+
"$ref": "#/components/schemas/UserAuthenticationDto"
6311+
}
6312+
}
6313+
}
6314+
}
6315+
}
6316+
}
6317+
},
6318+
"/koreader/syncs/progress/{bookHash}": {
6319+
"get": {
6320+
"tags": [
6321+
"koreader-sync-controller"
6322+
],
6323+
"operationId": "getProgress",
6324+
"parameters": [
6325+
{
6326+
"name": "bookHash",
6327+
"in": "path",
6328+
"required": true,
6329+
"schema": {
6330+
"type": "string"
6331+
}
6332+
}
6333+
],
6334+
"responses": {
6335+
"400": {
6336+
"description": "Bad Request",
6337+
"content": {
6338+
"*/*": {
6339+
"schema": {
6340+
"$ref": "#/components/schemas/ValidationErrorResponse"
6341+
}
6342+
}
6343+
}
6344+
},
6345+
"200": {
6346+
"description": "OK",
6347+
"content": {
6348+
"application/vnd.koreader.v1+json": {
6349+
"schema": {
6350+
"$ref": "#/components/schemas/DocumentProgressDto"
6351+
}
6352+
}
6353+
}
6354+
}
6355+
}
6356+
}
6357+
},
62256358
"/kobo/{authToken}/v1/library/{bookId}/metadata": {
62266359
"get": {
62276360
"tags": [
@@ -11365,6 +11498,34 @@
1136511498
}
1136611499
}
1136711500
},
11501+
"DocumentProgressDto": {
11502+
"required": [
11503+
"device",
11504+
"device_id",
11505+
"document",
11506+
"percentage",
11507+
"progress"
11508+
],
11509+
"type": "object",
11510+
"properties": {
11511+
"document": {
11512+
"type": "string"
11513+
},
11514+
"percentage": {
11515+
"type": "number",
11516+
"format": "float"
11517+
},
11518+
"progress": {
11519+
"type": "string"
11520+
},
11521+
"device": {
11522+
"type": "string"
11523+
},
11524+
"device_id": {
11525+
"type": "string"
11526+
}
11527+
}
11528+
},
1136811529
"BookmarkDto": {
1136911530
"required": [
1137011531
"LastModified"
@@ -11645,6 +11806,9 @@
1164511806
"hashPages": {
1164611807
"type": "boolean"
1164711808
},
11809+
"hashKoreader": {
11810+
"type": "boolean"
11811+
},
1164811812
"analyzeDimensions": {
1164911813
"type": "boolean"
1165011814
},
@@ -13907,6 +14071,7 @@
1390714071
"convertToCbz",
1390814072
"emptyTrashAfterScan",
1390914073
"hashFiles",
14074+
"hashKoreader",
1391014075
"hashPages",
1391114076
"importBarcodeIsbn",
1391214077
"importComicInfoBook",
@@ -14025,6 +14190,9 @@
1402514190
"hashPages": {
1402614191
"type": "boolean"
1402714192
},
14193+
"hashKoreader": {
14194+
"type": "boolean"
14195+
},
1402814196
"analyzeDimensions": {
1402914197
"type": "boolean"
1403014198
},
@@ -14039,6 +14207,7 @@
1403914207
"convertToCbz",
1404014208
"emptyTrashAfterScan",
1404114209
"hashFiles",
14210+
"hashKoreader",
1404214211
"hashPages",
1404314212
"id",
1404414213
"importBarcodeIsbn",
@@ -14162,6 +14331,9 @@
1416214331
"hashPages": {
1416314332
"type": "boolean"
1416414333
},
14334+
"hashKoreader": {
14335+
"type": "boolean"
14336+
},
1416514337
"analyzeDimensions": {
1416614338
"type": "boolean"
1416714339
},
@@ -14645,12 +14817,6 @@
1464514817
"type": "string"
1464614818
}
1464714819
},
14648-
"links": {
14649-
"type": "array",
14650-
"items": {
14651-
"$ref": "#/components/schemas/WebLinkUpdateDto"
14652-
}
14653-
},
1465414820
"readingDirection": {
1465514821
"type": "string",
1465614822
"enum": [
@@ -14675,6 +14841,12 @@
1467514841
"type": "integer",
1467614842
"format": "int32"
1467714843
},
14844+
"links": {
14845+
"type": "array",
14846+
"items": {
14847+
"$ref": "#/components/schemas/WebLinkUpdateDto"
14848+
}
14849+
},
1467814850
"sharingLabels": {
1467914851
"uniqueItems": true,
1468014852
"type": "array",
@@ -15485,6 +15657,17 @@
1548515657
}
1548615658
}
1548715659
},
15660+
"UserAuthenticationDto": {
15661+
"required": [
15662+
"authorized"
15663+
],
15664+
"type": "object",
15665+
"properties": {
15666+
"authorized": {
15667+
"type": "string"
15668+
}
15669+
}
15670+
},
1548815671
"ResourcesDto": {
1548915672
"required": [
1549015673
"Resources"

0 commit comments

Comments
 (0)