io.atcr.sailor.profile

seamark.cr View official

Schema Diff

+6 -2

From

CID
bafyreib53u3pzmd...
Indexed At
2026-02-18 19:31 UTC
View this version

To

CID
bafyreiga44vu6zo...
Indexed At
2026-03-21 14:38 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@