art.cllctv.artwork
Schema Diff
+27 -1
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 18 non-breaking changes.
Breaking Changes (1)
- RemovedEdge RemovedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("art.cllctv.content.plaintext") }
Non-Breaking Changes (18)
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant0" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant1" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant2" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant3" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant4" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork:body.textContent" }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content", tgt: "art.cllctv.artwork#content.blocks", kind: "prop", name: Some("blocks") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks", tgt: "art.cllctv.artwork#content.blocks:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant0", kind: "variant", name: Some("art.cllctv.block.text") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant1", kind: "variant", name: Some("art.cllctv.block.blockquote") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant2", kind: "variant", name: Some("art.cllctv.block.bulletList") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant3", kind: "variant", name: Some("art.cllctv.block.orderedList") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant4", kind: "variant", name: Some("art.cllctv.block.horizontalRule") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork:body", tgt: "art.cllctv.artwork:body.textContent", kind: "prop", name: Some("textContent") }
- AddedEdge AddedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("#content") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "art.cllctv.artwork#content" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant0" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant1" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant2" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant3" }AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant4" }AddedVertex { vertex_id: "art.cllctv.artwork:body.textContent" }
Additional Notes
- Breaking: RemovedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("art.cllctv.content.plaintext") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content", tgt: "art.cllctv.artwork#content.blocks", kind: "prop", name: Some("blocks") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks", tgt: "art.cllctv.artwork#content.blocks:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant0", kind: "variant", name: Some("art.cllctv.block.text") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant1", kind: "variant", name: Some("art.cllctv.block.blockquote") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant2", kind: "variant", name: Some("art.cllctv.block.bulletList") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant3", kind: "variant", name: Some("art.cllctv.block.orderedList") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant4", kind: "variant", name: Some("art.cllctv.block.horizontalRule") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork:body", tgt: "art.cllctv.artwork:body.textContent", kind: "prop", name: Some("textContent") }
- Non-breaking: AddedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("#content") }
1
1
{
2
2
"id": "art.cllctv.artwork",
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
+
"title",
11
+
"embed",
10
12
"createdAt"
11
13
],
12
14
"properties": {
13
15
"tags": {
14
16
"type": "array",
15
17
"items": {
16
18
"type": "string",
17
19
"maxLength": 640,
18
20
"maxGraphemes": 64
19
21
},
20
22
"maxLength": 8,
21
23
"description": "Additional hashtags, in addition to any included in post text and facets."
22
24
},
23
25
"embed": {
24
26
"type": "array",
25
27
"items": {
26
28
"refs": [
27
29
"art.cllctv.embed.images#image",
28
30
"art.cllctv.embed.externalVideo"
29
31
],
30
32
"type": "union"
31
33
}
32
34
},
33
35
"langs": {
34
36
"type": "array",
35
37
"items": {
36
38
"type": "string",
37
39
"format": "language"
38
40
},
39
41
"maxLength": 3,
40
42
"description": "Indicates human language of post primary text content."
41
43
},
42
44
"title": {
43
45
"type": "string",
44
46
"maxLength": 1280,
45
47
"maxGraphemes": 128
46
48
},
47
49
"labels": {
48
50
"refs": [
49
51
"com.atproto.label.defs#selfLabels"
50
52
],
51
53
"type": "union",
52
54
"description": "Self-label values for this post. Effectively content warnings."
53
55
},
54
56
"content": {
55
57
"refs": [
56
-
"art.cllctv.content.plaintext"
58
+
"#content"
57
59
],
58
60
"type": "union"
59
61
},
60
62
"details": {
61
63
"ref": "#details",
62
64
"type": "ref"
63
65
},
64
66
"ogImage": {
65
67
"type": "blob",
66
68
"accept": [
67
69
"image/png"
68
70
],
69
71
"maxSize": 5000000
70
72
},
71
73
"createdAt": {
72
74
"type": "string",
73
75
"format": "datetime"
74
76
},
75
77
"description": {
76
78
"type": "string",
77
79
"maxLength": 3000,
78
80
"maxGraphemes": 300
81
+
},
82
+
"textContent": {
83
+
"type": "string"
79
84
}
80
85
}
81
86
},
82
87
"description": "Record containing a cllctv.ART artwork."
83
88
},
89
+
"content": {
90
+
"type": "object",
91
+
"required": [
92
+
"blocks"
93
+
],
94
+
"properties": {
95
+
"blocks": {
96
+
"type": "array",
97
+
"items": {
98
+
"refs": [
99
+
"art.cllctv.block.text",
100
+
"art.cllctv.block.blockquote",
101
+
"art.cllctv.block.bulletList",
102
+
"art.cllctv.block.orderedList",
103
+
"art.cllctv.block.horizontalRule"
104
+
],
105
+
"type": "union"
106
+
}
107
+
}
108
+
}
109
+
},
84
110
"details": {
85
111
"type": "object",
86
112
"properties": {
87
113
"size": {
88
114
"ref": "#detailsSize",
89
115
"type": "ref"
90
116
},
91
117
"year": {
92
118
"type": "string"
93
119
},
94
120
"place": {
95
121
"type": "string",
96
122
"maxLength": 3000,
97
123
"maxGraphemes": 300
98
124
},
99
125
"medium": {
100
126
"type": "string",
101
127
"knownValues": [
102
128
"ceramic",
103
129
"collage",
104
130
"digital",
105
131
"drawing",
106
132
"ephemera",
107
133
"jewelry",
108
134
"painting",
109
135
"performance",
110
136
"photography",
111
137
"prints",
112
138
"sculpture",
113
139
"street",
114
140
"video"
115
141
]
116
142
},
117
143
"rarity": {
118
144
"type": "string",
119
145
"knownValues": [
120
146
"unique",
121
147
"limited",
122
148
"open",
123
149
"unknown"
124
150
]
125
151
},
126
152
"condition": {
127
153
"type": "string",
128
154
"knownValues": [
129
155
"excellent",
130
156
"fine",
131
157
"good",
132
158
"fair"
133
159
]
134
160
},
135
161
"materials": {
136
162
"type": "string",
137
163
"maxLength": 2000,
138
164
"maxGraphemes": 200
139
165
}
140
166
}
141
167
},
142
168
"detailsSize": {
143
169
"type": "object",
144
170
"properties": {
145
171
"depth": {
146
172
"type": "string"
147
173
},
148
174
"width": {
149
175
"type": "string"
150
176
},
151
177
"height": {
152
178
"type": "string"
153
179
}
154
180
},
155
181
"description": "Values should be stored in millimetre (mm)."
156
182
}
157
183
},
158
184
"$type": "com.atproto.lexicon.schema",
159
185
"lexicon": 1
160
186
}