uk.skyblur.post
Schema Diff
+8 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 2 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "uk.skyblur.post:body.visibility", sort: "enum", old_value: "public,password,login,followers,following,mutual", new_value: "public,password,login,followers,following,mutual,list" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "uk.skyblur.post:body.listUri" }
- AddedEdge AddedEdge { src: "uk.skyblur.post:body", tgt: "uk.skyblur.post:body.listUri", kind: "prop", name: Some("listUri") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "uk.skyblur.post:body.listUri" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "uk.skyblur.post:body.visibility", sort: "enum", old_value: "public,password,login,followers,following,mutual", new_value: "public,password,login,followers,following,mutual,list" }
Additional Notes
- Non-breaking: AddedEdge { src: "uk.skyblur.post:body", tgt: "uk.skyblur.post:body.listUri", kind: "prop", name: Some("listUri") }
1
1
{
2
2
"id": "uk.skyblur.post",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"text",
11
11
"createdAt",
12
12
"uri",
13
13
"visibility"
14
14
],
15
15
"properties": {
16
16
"uri": {
17
17
"type": "string",
18
18
"format": "at-uri"
19
19
},
20
20
"text": {
21
21
"type": "string",
22
22
"maxLength": 3000,
23
23
"description": "The post main contents. Blurred text must be enclosed in brackets [].",
24
24
"maxGraphemes": 300
25
25
},
26
+
"listUri": {
27
+
"type": "string",
28
+
"format": "at-uri",
29
+
"description": "Selected Bluesky list AT-URI. Required by application validation when visibility is 'list'."
30
+
},
26
31
"createdAt": {
27
32
"type": "string",
28
33
"format": "datetime",
29
34
"description": "Created date assigned by client"
30
35
},
31
36
"additional": {
32
37
"type": "string",
33
38
"maxLength": 100000,
34
39
"description": "The post additional contents.",
35
40
"maxGraphemes": 10000
36
41
},
37
42
"visibility": {
38
43
"enum": [
39
44
"public",
40
45
"password",
41
46
"login",
42
47
"followers",
43
48
"following",
44
-
"mutual"
49
+
"mutual",
50
+
"list"
45
51
],
46
52
"type": "string",
47
53
"maxLength": 100,
48
-
"description": "For 'login', the post requires login to view (Bluesky account required). For 'password', the text only contains blurred text, and additional is always empty. The unblurred text and additional are included in the encryptBody. 'followers' restricted to author's followers. 'following' restricted to users author follows. 'mutual' restricted to mutual followers.",
54
+
"description": "For 'login', the post requires login to view (Bluesky account required). For 'password', the text only contains blurred text, and additional is always empty. The unblurred text and additional are included in the encryptBody. 'followers' restricted to author's followers. 'following' restricted to users author follows. 'mutual' restricted to mutual followers. 'list' restricted to members of the author's selected Bluesky list.",
49
55
"maxGraphemes": 10
50
56
},
51
57
"encryptBody": {
52
58
"type": "blob",
53
59
"description": "Encrypted post body. It shoud be decrypted by the client with AES-256."
54
60
}
55
61
}
56
62
},
57
63
"description": "Record containing a Skyblur post."
58
64
}
59
65
},
60
66
"$type": "com.atproto.lexicon.schema",
61
67
"lexicon": 1
62
68
}