io.atcr.sailor.profile
Schema Diff
+6 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 2 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "io.atcr.sailor.profile:body.defaultHold", sort: "format", old_value: "uri", new_value: "did" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "io.atcr.sailor.profile:body.autoRemoveUntagged" }
- AddedEdge AddedEdge { src: "io.atcr.sailor.profile:body", tgt: "io.atcr.sailor.profile:body.autoRemoveUntagged", kind: "prop", name: Some("autoRemoveUntagged") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "io.atcr.sailor.profile:body.autoRemoveUntagged" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "io.atcr.sailor.profile:body.defaultHold", sort: "format", old_value: "uri", new_value: "did" }
Additional Notes
- Non-breaking: AddedEdge { src: "io.atcr.sailor.profile:body", tgt: "io.atcr.sailor.profile:body.autoRemoveUntagged", kind: "prop", name: Some("autoRemoveUntagged") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "User profile for ATCR registry. Stores preferences like default hold for blob storage.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
+
"autoRemoveUntagged": {
10
+
"description": "Automatically delete manifest records that become untagged after a tag overwrite. Layers are cleaned up by hold garbage collection.",
11
+
"type": "boolean"
12
+
},
9
13
"createdAt": {
10
14
"description": "Profile creation timestamp",
11
15
"format": "datetime",
12
16
"type": "string"
13
17
},
14
18
"defaultHold": {
15
-
"description": "Default hold endpoint for blob storage. If null, user has opted out of defaults.",
16
-
"format": "uri",
19
+
"description": "Default hold DID for blob storage. If null, user has opted out of defaults.",
20
+
"format": "did",
17
21
"type": "string"
18
22
},
19
23
"updatedAt": {
20
24
"description": "Profile last updated timestamp",
21
25
"format": "datetime",
22
26
"type": "string"
23
27
}
24
28
},
25
29
"required": [
26
30
"createdAt"
27
31
],
28
32
"type": "object"
29
33
},
30
34
"type": "record"
31
35
}
32
36
},
33
37
"id": "io.atcr.sailor.profile",
34
38
"lexicon": 1
35
39
}