full diff

org.passingreads.book.note

passingreads.org +9 −13
From
bafyreickl74koa6mk4ybqa27rvv3pxmgu5rtqhuyam7vdunxusxlhm7b4m indexed 2026-04-06 07:09 UTC View this version
To
bafyreibtayqrtoid2lamsmvjto6awyi5kxwncagj75crns5d6cqkwp2h3a indexed 2026-04-29 04:17 UTC View this version

Compatibility

breaking 6 breaking changes, 6 non-breaking changes.

Breaking changes (6)
  • RemovedVertex RemovedVertex { vertex_id: "org.passingreads.book.note:body.bookPub" }
  • RemovedVertex RemovedVertex { vertex_id: "org.passingreads.book.note:body.bookSig" }
  • RemovedVertex RemovedVertex { vertex_id: "org.passingreads.book.note:body.did" }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.bookPub", kind: "prop", name: Some("bookPub") }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.bookSig", kind: "prop", name: Some("bookSig") }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.did", kind: "prop", name: Some("did") }
Non-breaking changes (6)
  • AddedVertex AddedVertex { vertex_id: "org.passingreads.book.note:body.signatures" }
  • AddedVertex AddedVertex { vertex_id: "org.passingreads.book.note:body.signatures:items" }
  • AddedVertex AddedVertex { vertex_id: "org.passingreads.signature.book#main" }
  • AddedEdge AddedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.signatures", kind: "prop", name: Some("signatures") }
  • AddedEdge AddedEdge { src: "org.passingreads.book.note:body.signatures", tgt: "org.passingreads.book.note:body.signatures:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "org.passingreads.book.note:body.signatures:items", tgt: "org.passingreads.signature.book#main", kind: "ref", name: None }

Migration guidance

Removed

  • RemovedVertex { vertex_id: "org.passingreads.book.note:body.bookPub" }
  • RemovedVertex { vertex_id: "org.passingreads.book.note:body.bookSig" }
  • RemovedVertex { vertex_id: "org.passingreads.book.note:body.did" }

Added

  • AddedVertex { vertex_id: "org.passingreads.book.note:body.signatures" }
  • AddedVertex { vertex_id: "org.passingreads.book.note:body.signatures:items" }
  • AddedVertex { vertex_id: "org.passingreads.signature.book#main" }

Notes

  • Breaking: RemovedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.bookPub", kind: "prop", name: Some("bookPub") }
  • Breaking: RemovedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.bookSig", kind: "prop", name: Some("bookSig") }
  • Breaking: RemovedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.did", kind: "prop", name: Some("did") }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.note:body", tgt: "org.passingreads.book.note:body.signatures", kind: "prop", name: Some("signatures") }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.note:body.signatures", tgt: "org.passingreads.book.note:body.signatures:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.note:body.signatures:items", tgt: "org.passingreads.signature.book#main", kind: "ref", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "image": {
55 "properties": {
66 "alt": {
77 "description": "Alt text description of the image",
88 "maxGraphemes": 1000,
99 "maxLength": 10000,
1010 "type": "string"
1111 },
1212 "aspectRatio": {
1313 "ref": "org.passingreads.defs#aspectRatio",
1414 "type": "ref"
1515 },
1616 "image": {
1717 "accept": [
1818 "image/png",
1919 "image/jpeg"
2020 ],
2121 "maxSize": 1000000,
2222 "type": "blob"
2323 }
2424 },
2525 "required": [
2626 "image",
2727 "alt"
2828 ],
2929 "type": "object"
3030 },
3131 "main": {
3232 "key": "tid",
3333 "record": {
3434 "properties": {
3535 "aboutPublication": {
3636 "description": "If true, this note is about the publication in general rather than this specific physical copy. Such notes may be shown on any book with the same publicationId.",
3737 "type": "boolean"
3838 },
3939 "book": {
4040 "description": "The book the note is 'in' (a org.passingreads.book.registration)",
4141 "ref": "com.atproto.repo.strongRef#main",
4242 "type": "ref"
4343 },
44 "bookPub": {
45 "description": "The MultiFormat public key of the book.",
46 "type": "bytes"
47 },
48 "bookSig": {
49 "description": "The MultiFormat signature of this record, without this attribute, as created by the private key associated with the book.",
50 "type": "bytes"
51 },
5244 "createdAt": {
5345 "format": "datetime",
54 "type": "string"
55 },
56 "did": {
57 "description": "The DID of the person who wrote this note. Included here, so it's verifiable with the bookSig.",
58 "format": "did",
5946 "type": "string"
6047 },
6148 "images": {
6249 "description": "Images attached to the note",
6350 "items": {
6451 "ref": "#image",
6552 "type": "ref"
6653 },
6754 "maxLength": 3,
6855 "type": "array"
6956 },
7057 "note": {
7158 "description": "The text content of the note left in the book",
7259 "maxGraphemes": 1000,
7360 "maxLength": 10000,
7461 "minLength": 1,
7562 "type": "string"
7663 },
64 "signatures": {
65 "description": "Inline attestations binding this note to the book's keypair (optional).",
66 "items": {
67 "ref": "org.passingreads.signature.book#main",
68 "type": "ref"
69 },
70 "minLength": 1,
71 "type": "array"
72 },
7773 "spoilerPageNumber": {
7874 "description": "If set, this note contains spoilers for readers who haven't reached this page (may also contain the special value 'end')",
7975 "maxLength": 6,
8076 "minLength": 1,
8177 "type": "string"
8278 }
8379 },
8480 "type": "object"
8581 },
8682 "type": "record"
8783 }
8884 },
8985 "id": "org.passingreads.book.note",
9086 "lexicon": 1
9187}

Compare other versions