From
bafyreiaruitw2ttzv4mmkif5c73mz6xycnbft6ya7fghmmhjttavc2axxm
indexed 2026-11-03 21:09 UTC
View this version
To
bafyreieqcrlfkeptj254sluxczfm2tkvhqnnzb4bygcsaizhflyvie2iyi
indexed 2026-11-04 16:37 UTC
View this version
Compatibility
backward compatible Backward compatible. 4 non-breaking changes.
Non-breaking changes (4)
- AddedVertex AddedVertex { vertex_id: "ink.resenha.defs#bookRef" }
- AddedVertex AddedVertex { vertex_id: "ink.resenha.ebook:body.bookRef" }
- AddedEdge AddedEdge { src: "ink.resenha.ebook:body", tgt: "ink.resenha.ebook:body.bookRef", kind: "prop", name: Some("bookRef") }
- AddedEdge AddedEdge { src: "ink.resenha.ebook:body.bookRef", tgt: "ink.resenha.defs#bookRef", kind: "ref", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "ink.resenha.defs#bookRef" }AddedVertex { vertex_id: "ink.resenha.ebook:body.bookRef" }
Notes
- Non-breaking: AddedEdge { src: "ink.resenha.ebook:body", tgt: "ink.resenha.ebook:body.bookRef", kind: "prop", name: Some("bookRef") }
- Non-breaking: AddedEdge { src: "ink.resenha.ebook:body.bookRef", tgt: "ink.resenha.defs#bookRef", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "One per file. Deleting the record lets the account's server delete the file.",66
"key": "tid",77
"record": {88
"properties": {99
"authors": {1010
"items": {1111
"maxGraphemes": 64,1212
"maxLength": 640,1313
"type": "string"1414
},1515
"maxLength": 20,1616
"type": "array"1717
},1818
"book": {1919
"description": "The account's record for the same book, when the reader connected the file to their library: a buzz.bookhive.book, or a social.popfeed.feed.listItem for a book they keep in Popfeed.",2020
"format": "at-uri",2121
"type": "string"2222
},23
"bookRef": {24
"description": "The book the file is of, in every key anyone uses.",25
"ref": "ink.resenha.defs#bookRef",26
"type": "ref"27
},2328
"cover": {2429
"accept": [2530
"image/png",2631
"image/jpeg",2732
"image/webp"2833
],2934
"description": "A cover image for showing the book in a list, taken from the file.",3035
"maxSize": 1000000,3136
"type": "blob"3237
},3338
"createdAt": {3439
"format": "datetime",3540
"type": "string"3641
},3742
"deletedAt": {3843
"description": "When the reader moved the file to Resenha's trash. The file stays in the account, off the shelf, for 30 days from this moment, unless the reader restores it; then the record is deleted.",3944
"format": "datetime",4045
"type": "string"4146
},4247
"file": {4348
"accept": [4449
"application/epub+zip",4550
"application/pdf",4651
"application/vnd.comicbook+zip",4752
"application/zip"4853
],4954
"description": "The book itself.",5055
"type": "blob"5156
},5257
"format": {5358
"description": "How to open the file. A comic archive is a zip of page images, read in file name order.",5459
"knownValues": [5560
"epub",5661
"pdf",5762
"cbz"5863
],5964
"type": "string"6065
},6166
"title": {6267
"description": "From the file's own metadata when it has some, otherwise from its file name.",6368
"maxGraphemes": 300,6469
"maxLength": 3000,6570
"type": "string"6671
}6772
},6873
"required": [6974
"file",7075
"format",7176
"title",7277
"createdAt"7378
],7479
"type": "object"7580
},7681
"type": "record"7782
}7883
},7984
"description": "A book file the account keeps for reading in Resenha: an EPUB, a PDF or a comic archive. The file is a blob in the account's repository, which keeps it only while a record refers to it.",8085
"id": "ink.resenha.ebook",8186
"lexicon": 18287
}