net.anisota.feed.draft
Schema Diff
+1 -0
Compatibility Analysis
Breaking Changes Detected
8 breaking changes, 12 non-breaking changes.
Breaking Changes (8)
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.video") }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.external") }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.record") }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant1", tgt: "app.bsky.embed.video", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant2", tgt: "app.bsky.embed.external", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant3", tgt: "app.bsky.embed.record", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant4", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.gallery" }
- AddedVertex AddedVertex { vertex_id: "net.anisota.feed.draft:body.embed:variant5" }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.gallery") }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.video") }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.external") }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.record") }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant5", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed:variant1", tgt: "app.bsky.embed.gallery", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed:variant2", tgt: "app.bsky.embed.video", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed:variant3", tgt: "app.bsky.embed.external", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed:variant4", tgt: "app.bsky.embed.record", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "net.anisota.feed.draft:body.embed:variant5", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.bsky.embed.gallery" }AddedVertex { vertex_id: "net.anisota.feed.draft:body.embed:variant5" }
Additional Notes
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.video") }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.external") }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.record") }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant1", tgt: "app.bsky.embed.video", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant2", tgt: "app.bsky.embed.external", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant3", tgt: "app.bsky.embed.record", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "net.anisota.feed.draft:body.embed:variant4", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.gallery") }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.video") }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.external") }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.record") }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed", tgt: "net.anisota.feed.draft:body.embed:variant5", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed:variant1", tgt: "app.bsky.embed.gallery", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed:variant2", tgt: "app.bsky.embed.video", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed:variant3", tgt: "app.bsky.embed.external", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed:variant4", tgt: "app.bsky.embed.record", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "net.anisota.feed.draft:body.embed:variant5", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
1
1
{
2
2
"id": "net.anisota.feed.draft",
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
],
13
13
"properties": {
14
14
"tags": {
15
15
"type": "array",
16
16
"items": {
17
17
"type": "string",
18
18
"maxLength": 640,
19
19
"maxGraphemes": 64
20
20
},
21
21
"maxLength": 8,
22
22
"description": "Additional hashtags, in addition to any included in post text and facets."
23
23
},
24
24
"text": {
25
25
"type": "string",
26
26
"maxLength": 3000,
27
27
"description": "The primary post content. May be an empty string, if there are embeds.",
28
28
"maxGraphemes": 300
29
29
},
30
30
"embed": {
31
31
"refs": [
32
32
"app.bsky.embed.images",
33
+
"app.bsky.embed.gallery",
33
34
"app.bsky.embed.video",
34
35
"app.bsky.embed.external",
35
36
"app.bsky.embed.record",
36
37
"app.bsky.embed.recordWithMedia"
37
38
],
38
39
"type": "union"
39
40
},
40
41
"langs": {
41
42
"type": "array",
42
43
"items": {
43
44
"type": "string",
44
45
"format": "language"
45
46
},
46
47
"maxLength": 3,
47
48
"description": "Indicates human language of post primary text content."
48
49
},
49
50
"reply": {
50
51
"ref": "#replyRef",
51
52
"type": "ref"
52
53
},
53
54
"facets": {
54
55
"type": "array",
55
56
"items": {
56
57
"ref": "app.bsky.richtext.facet",
57
58
"type": "ref"
58
59
},
59
60
"description": "Annotations of text (mentions, URLs, hashtags, etc)"
60
61
},
61
62
"labels": {
62
63
"refs": [
63
64
"com.atproto.label.defs#selfLabels"
64
65
],
65
66
"type": "union",
66
67
"description": "Self-label values for this post. Effectively content warnings."
67
68
},
68
69
"createdAt": {
69
70
"type": "string",
70
71
"format": "datetime",
71
72
"description": "Client-declared timestamp when this draft was originally created."
72
73
},
73
74
"updatedAt": {
74
75
"type": "string",
75
76
"format": "datetime",
76
77
"description": "Client-declared timestamp when this draft was last updated."
77
78
}
78
79
}
79
80
},
80
81
"description": "Record containing a draft post that can be edited and later published as app.bsky.feed.post"
81
82
},
82
83
"replyRef": {
83
84
"type": "object",
84
85
"required": [
85
86
"root",
86
87
"parent"
87
88
],
88
89
"properties": {
89
90
"root": {
90
91
"ref": "com.atproto.repo.strongRef",
91
92
"type": "ref"
92
93
},
93
94
"parent": {
94
95
"ref": "com.atproto.repo.strongRef",
95
96
"type": "ref"
96
97
}
97
98
}
98
99
}
99
100
},
100
101
"$type": "com.atproto.lexicon.schema",
101
102
"lexicon": 1
102
103
}