art.cllctv.actor.profile
Schema Diff
+72 -0
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 31 non-breaking changes.
Breaking Changes (2)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#theme", src: "art.cllctv.actor.profile#theme", tgt: "art.cllctv.actor.profile#theme.signature", kind: "prop", name: Some("signature") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile:body", src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.createdAt", kind: "prop", name: Some("createdAt") }
Non-Breaking Changes (31)
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#theme" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature:variant0" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatar" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatarHash" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.banner" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.bannerHash" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.description" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.displayName" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels:variant0" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.pronouns" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.theme" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.website" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.theme.color#hsl" }
- AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile#theme.signature", tgt: "art.cllctv.actor.profile#theme.signature:variant0", kind: "variant", name: Some("art.cllctv.theme.color#hsl") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile#theme.signature:variant0", tgt: "art.cllctv.theme.color#hsl", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatar", kind: "prop", name: Some("avatar") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatarHash", kind: "prop", name: Some("avatarHash") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.banner", kind: "prop", name: Some("banner") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.bannerHash", kind: "prop", name: Some("bannerHash") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.displayName", kind: "prop", name: Some("displayName") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.labels", kind: "prop", name: Some("labels") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.pronouns", kind: "prop", name: Some("pronouns") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.theme", kind: "prop", name: Some("theme") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.website", kind: "prop", name: Some("website") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body.labels", tgt: "art.cllctv.actor.profile:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body.theme", tgt: "art.cllctv.actor.profile#theme", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "art.cllctv.actor.profile#theme" }AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature" }AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature:variant0" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatar" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatarHash" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.banner" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.bannerHash" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.description" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.displayName" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels:variant0" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.pronouns" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.theme" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.website" }AddedVertex { vertex_id: "art.cllctv.theme.color#hsl" }AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#theme", src: "art.cllctv.actor.profile#theme", tgt: "art.cllctv.actor.profile#theme.signature", kind: "prop", name: Some("signature") }
- Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile:body", src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.createdAt", kind: "prop", name: Some("createdAt") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#theme.signature", tgt: "art.cllctv.actor.profile#theme.signature:variant0", kind: "variant", name: Some("art.cllctv.theme.color#hsl") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#theme.signature:variant0", tgt: "art.cllctv.theme.color#hsl", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatar", kind: "prop", name: Some("avatar") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatarHash", kind: "prop", name: Some("avatarHash") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.banner", kind: "prop", name: Some("banner") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.bannerHash", kind: "prop", name: Some("bannerHash") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.displayName", kind: "prop", name: Some("displayName") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.labels", kind: "prop", name: Some("labels") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.pronouns", kind: "prop", name: Some("pronouns") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.theme", kind: "prop", name: Some("theme") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.website", kind: "prop", name: Some("website") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body.labels", tgt: "art.cllctv.actor.profile:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body.theme", tgt: "art.cllctv.actor.profile#theme", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A declaration of a cllctv.ART account profile.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
+
"avatar": {
10
+
"accept": [
11
+
"image/jpeg",
12
+
"image/png"
13
+
],
14
+
"maxSize": 2000000,
15
+
"type": "blob"
16
+
},
17
+
"avatarHash": {
18
+
"maxGraphemes": 640,
19
+
"maxLength": 64,
20
+
"type": "string"
21
+
},
22
+
"banner": {
23
+
"accept": [
24
+
"image/jpeg",
25
+
"image/png"
26
+
],
27
+
"maxSize": 2000000,
28
+
"type": "blob"
29
+
},
30
+
"bannerHash": {
31
+
"maxGraphemes": 640,
32
+
"maxLength": 64,
33
+
"type": "string"
34
+
},
9
35
"createdAt": {
10
36
"format": "datetime",
11
37
"type": "string"
38
+
},
39
+
"description": {
40
+
"maxGraphemes": 2560,
41
+
"maxLength": 256,
42
+
"type": "string"
43
+
},
44
+
"displayName": {
45
+
"maxGraphemes": 640,
46
+
"maxLength": 64,
47
+
"type": "string"
48
+
},
49
+
"labels": {
50
+
"refs": [
51
+
"com.atproto.label.defs#selfLabels"
52
+
],
53
+
"type": "union"
54
+
},
55
+
"pronouns": {
56
+
"maxGraphemes": 200,
57
+
"maxLength": 20,
58
+
"type": "string"
59
+
},
60
+
"theme": {
61
+
"ref": "#theme",
62
+
"type": "ref"
63
+
},
64
+
"website": {
65
+
"format": "uri",
66
+
"type": "string"
12
67
}
13
68
},
69
+
"required": [
70
+
"createdAt"
71
+
],
14
72
"type": "object"
15
73
},
16
74
"type": "record"
75
+
},
76
+
"theme": {
77
+
"properties": {
78
+
"signature": {
79
+
"refs": [
80
+
"art.cllctv.theme.color#hsl"
81
+
],
82
+
"type": "union"
83
+
}
84
+
},
85
+
"required": [
86
+
"signature"
87
+
],
88
+
"type": "object"
17
89
}
18
90
},
19
91
"id": "art.cllctv.actor.profile",
20
92
"lexicon": 1
21
93
}