From
bafyreiaipuhrwmvco4kigm32hgy3ha6mz4mxtzdj6eogovp6djj2pdsiae
indexed 2026-04-22 19:10 UTC
View this version
To
bafyreid6ubz2vnrdq2v6v37jvkfrjbikrexdm5xoesiaaiu7uqsn43q3gy
indexed 2026-08-23 20:38 UTC
View this version
Compatibility
breaking 4 breaking changes, 10 non-breaking changes.
Breaking changes (4)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cafe.dummy.lsky.post:body", src: "cafe.dummy.lsky.post:body", tgt: "cafe.dummy.lsky.post:body.type", kind: "prop", name: Some("type") }
- RemovedVertex RemovedVertex { vertex_id: "cafe.dummy.lsky.facet" }
- RemovedEdge RemovedEdge { src: "cafe.dummy.lsky.post:body.facets:items", tgt: "cafe.dummy.lsky.facet", kind: "ref", name: None }
- KindChanged KindChanged { vertex_id: "cafe.dummy.lsky.post:body.facets:items", old_kind: "ref", new_kind: "union" }
Non-breaking changes (10)
- AddedVertex AddedVertex { vertex_id: "cafe.dummy.lsky.facet#annotation" }
- AddedVertex AddedVertex { vertex_id: "cafe.dummy.lsky.facet#insert" }
- AddedVertex AddedVertex { vertex_id: "cafe.dummy.lsky.post:body.facets:items:variant0" }
- AddedVertex AddedVertex { vertex_id: "cafe.dummy.lsky.post:body.facets:items:variant1" }
- AddedVertex AddedVertex { vertex_id: "cafe.dummy.lsky.post:body.type" }
- AddedEdge AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items", tgt: "cafe.dummy.lsky.post:body.facets:items:variant0", kind: "variant", name: Some("cafe.dummy.lsky.facet#annotation") }
- AddedEdge AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items", tgt: "cafe.dummy.lsky.post:body.facets:items:variant1", kind: "variant", name: Some("cafe.dummy.lsky.facet#insert") }
- AddedEdge AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items:variant0", tgt: "cafe.dummy.lsky.facet#annotation", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items:variant1", tgt: "cafe.dummy.lsky.facet#insert", kind: "ref", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "cafe.dummy.lsky.post:body.facets:items", sort: "ref" }
Migration guidance
Removed
RemovedVertex { vertex_id: "cafe.dummy.lsky.facet" }
Added
AddedVertex { vertex_id: "cafe.dummy.lsky.facet#annotation" }AddedVertex { vertex_id: "cafe.dummy.lsky.facet#insert" }AddedVertex { vertex_id: "cafe.dummy.lsky.post:body.facets:items:variant0" }AddedVertex { vertex_id: "cafe.dummy.lsky.post:body.facets:items:variant1" }AddedVertex { vertex_id: "cafe.dummy.lsky.post:body.type" }
Constraint changes
- ConstraintRemoved ConstraintRemoved { vertex_id: "cafe.dummy.lsky.post:body.facets:items", sort: "ref" }
Notes
- Breaking: RequiredEdgeAdded { vertex_id: "cafe.dummy.lsky.post:body", src: "cafe.dummy.lsky.post:body", tgt: "cafe.dummy.lsky.post:body.type", kind: "prop", name: Some("type") }
- Breaking: RemovedEdge { src: "cafe.dummy.lsky.post:body.facets:items", tgt: "cafe.dummy.lsky.facet", kind: "ref", name: None }
- Breaking: KindChanged { vertex_id: "cafe.dummy.lsky.post:body.facets:items", old_kind: "ref", new_kind: "union" }
- Non-breaking: AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items", tgt: "cafe.dummy.lsky.post:body.facets:items:variant0", kind: "variant", name: Some("cafe.dummy.lsky.facet#annotation") }
- Non-breaking: AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items", tgt: "cafe.dummy.lsky.post:body.facets:items:variant1", kind: "variant", name: Some("cafe.dummy.lsky.facet#insert") }
- Non-breaking: AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items:variant0", tgt: "cafe.dummy.lsky.facet#annotation", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "cafe.dummy.lsky.post:body.facets:items:variant1", tgt: "cafe.dummy.lsky.facet#insert", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"followupRef": {55
"properties": {66
"parent": {77
"ref": "com.atproto.repo.strongRef",88
"type": "ref"99
},1010
"root": {1111
"ref": "com.atproto.repo.strongRef",1212
"type": "ref"1313
}1414
},1515
"required": [1616
"root",1717
"parent"1818
],1919
"type": "object"2020
},2121
"main": {2222
"key": "tid",2323
"record": {2424
"properties": {2525
"content": {2626
"description": "May be an empty string, if there are embeds.",2727
"maxGraphemes": 100000,2828
"maxLength": 1000000,2929
"type": "string"3030
},3131
"createdAt": {3232
"description": "Client-declared timestamp when this post was originally created.",3333
"format": "datetime",3434
"type": "string"3535
},3636
"facets": {37
"description": "Text formatting and annotations (bold/italics/etc, mentions...)",37
"description": "Rich text facets: annotations (formatting, links, mentions) and insertions (images).",3838
"items": {39
"ref": "cafe.dummy.lsky.facet",40
"type": "ref"39
"refs": [40
"cafe.dummy.lsky.facet#annotation",41
"cafe.dummy.lsky.facet#insert"42
],43
"type": "union"4144
},4245
"type": "array"4346
},4447
"followup": {4548
"ref": "#followupRef",4649
"type": "ref"4750
},4851
"labels": {4952
"description": "Self-label values for this post. Effectively content warnings.",5053
"refs": [5154
"com.atproto.label.defs#selfLabels"5255
],5356
"type": "union"57
},58
"type": {59
"description": "Whether this is a portfolio post or a chirp (thought post).",60
"knownValues": [61
"post",62
"chirp"63
],64
"type": "string"5465
}5566
},5667
"required": [68
"type",5769
"content",5870
"createdAt"5971
],6072
"type": "object"6173
},6274
"type": "record"6375
}6476
},6577
"id": "cafe.dummy.lsky.post",6678
"lexicon": 16779
}