is.logue.links
Schema Diff
+22 -10
Compatibility Analysis
Breaking Changes Detected
5 breaking changes, 7 non-breaking changes.
Breaking Changes (5)
- RemovedVertex RemovedVertex { vertex_id: "is.logue.links:items" }
- RemovedVertex RemovedVertex { vertex_id: "is.logue.links:items.uri" }
- RemovedEdge RemovedEdge { src: "is.logue.links", tgt: "is.logue.links:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "is.logue.links:items", tgt: "is.logue.links:items.uri", kind: "prop", name: Some("uri") }
- KindChanged KindChanged { vertex_id: "is.logue.links", old_kind: "array", new_kind: "object" }
Non-Breaking Changes (7)
- AddedVertex AddedVertex { vertex_id: "is.logue.links#link" }
- AddedVertex AddedVertex { vertex_id: "is.logue.links#link.uri" }
- AddedVertex AddedVertex { vertex_id: "is.logue.links.items" }
- AddedVertex AddedVertex { vertex_id: "is.logue.links.items:items" }
- AddedEdge AddedEdge { src: "is.logue.links", tgt: "is.logue.links.items", kind: "prop", name: Some("items") }
- AddedEdge AddedEdge { src: "is.logue.links#link", tgt: "is.logue.links#link.uri", kind: "prop", name: Some("uri") }
- AddedEdge AddedEdge { src: "is.logue.links.items", tgt: "is.logue.links.items:items", kind: "items", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "is.logue.links:items" }RemovedVertex { vertex_id: "is.logue.links:items.uri" }
Added Elements
AddedVertex { vertex_id: "is.logue.links#link" }AddedVertex { vertex_id: "is.logue.links#link.uri" }AddedVertex { vertex_id: "is.logue.links.items" }AddedVertex { vertex_id: "is.logue.links.items:items" }
Additional Notes
- Breaking: RemovedEdge { src: "is.logue.links", tgt: "is.logue.links:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "is.logue.links:items", tgt: "is.logue.links:items.uri", kind: "prop", name: Some("uri") }
- Breaking: KindChanged { vertex_id: "is.logue.links", old_kind: "array", new_kind: "object" }
- Non-breaking: AddedEdge { src: "is.logue.links", tgt: "is.logue.links.items", kind: "prop", name: Some("items") }
- Non-breaking: AddedEdge { src: "is.logue.links#link", tgt: "is.logue.links#link.uri", kind: "prop", name: Some("uri") }
- Non-breaking: AddedEdge { src: "is.logue.links.items", tgt: "is.logue.links.items:items", kind: "items", name: None }
1
1
{
2
2
"id": "is.logue.links",
3
3
"defs": {
4
+
"link": {
5
+
"type": "object",
6
+
"required": [
7
+
"uri"
8
+
],
9
+
"properties": {
10
+
"uri": {
11
+
"type": "string",
12
+
"format": "uri"
13
+
}
14
+
}
15
+
},
4
16
"main": {
5
-
"type": "array",
6
-
"items": {
7
-
"type": "object",
8
-
"required": [
9
-
"uri"
10
-
],
11
-
"properties": {
12
-
"uri": {
13
-
"type": "string",
14
-
"format": "uri"
17
+
"type": "object",
18
+
"required": [
19
+
"items"
20
+
],
21
+
"properties": {
22
+
"items": {
23
+
"type": "array",
24
+
"items": {
25
+
"ref": "#link",
26
+
"type": "ref"
15
27
}
16
28
}
17
29
}
18
30
}
19
31
},
20
32
"$type": "com.atproto.lexicon.schema",
21
33
"lexicon": 1
22
34
}