mov.danabra.ProfileTab
Schema Diff
+12 -2
Compatibility Analysis
Breaking Changes Detected
4 breaking changes, 2 non-breaking changes.
Breaking Changes (4)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "mov.danabra.ProfileTab:input", src: "mov.danabra.ProfileTab:input", tgt: "mov.danabra.ProfileTab:input.tab", kind: "prop", name: Some("tab") }
- ConstraintAdded ConstraintAdded { vertex_id: "mov.danabra.ProfileTab:input.tab", sort: "knownValues", value: "[\"posts_and_author_threads\",\"posts_and_replies\"]" }
- ConstraintAdded ConstraintAdded { vertex_id: "mov.danabra.ProfileTab:input.tab", sort: "maxLength", value: "256" }
- ConstraintAdded ConstraintAdded { vertex_id: "mov.danabra.ProfileTab:input.tab", sort: "default", value: "posts_and_author_threads" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "mov.danabra.ProfileTab:input.limit" }
- AddedEdge AddedEdge { src: "mov.danabra.ProfileTab:input", tgt: "mov.danabra.ProfileTab:input.limit", kind: "prop", name: Some("limit") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "mov.danabra.ProfileTab:input.limit" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "mov.danabra.ProfileTab:input.tab", sort: "maxLength", value: "256" }
- ConstraintAdded ConstraintAdded { vertex_id: "mov.danabra.ProfileTab:input.tab", sort: "default", value: "posts_and_author_threads" }
- ConstraintAdded ConstraintAdded { vertex_id: "mov.danabra.ProfileTab:input.tab", sort: "knownValues", value: "[\"posts_and_author_threads\",\"posts_and_replies\"]" }
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "mov.danabra.ProfileTab:input", src: "mov.danabra.ProfileTab:input", tgt: "mov.danabra.ProfileTab:input.tab", kind: "prop", name: Some("tab") }
- Non-breaking: AddedEdge { src: "mov.danabra.ProfileTab:input", tgt: "mov.danabra.ProfileTab:input.limit", kind: "prop", name: Some("limit") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
+
"description": "Render a profile tab",
5
6
"input": {
6
7
"encoding": "application/json",
7
8
"schema": {
8
9
"properties": {
10
+
"limit": {
11
+
"default": 10,
12
+
"type": "integer"
13
+
},
9
14
"tab": {
15
+
"default": "posts_and_author_threads",
16
+
"knownValues": [
17
+
"posts_and_author_threads",
18
+
"posts_and_replies"
19
+
],
20
+
"maxLength": 256,
10
21
"type": "string"
11
22
},
12
23
"uri": {
13
24
"format": "at-uri",
14
25
"type": "string"
15
26
}
16
27
},
17
28
"required": [
18
-
"uri",
19
-
"tab"
29
+
"uri"
20
30
],
21
31
"type": "object"
22
32
}
23
33
},
24
34
"output": {
25
35
"encoding": "application/json",
26
36
"schema": {
27
37
"ref": "at.inlay.defs#response",
28
38
"type": "ref"
29
39
}
30
40
},
31
41
"type": "procedure"
32
42
}
33
43
},
34
44
"id": "mov.danabra.ProfileTab",
35
45
"lexicon": 1
36
46
}