art.cllctv.actor.profile

cllctv.art

Schema Diff

+72 -0

From

CID
bafyreigcxuoepqu...
Indexed At
2026-03-19 20:25 UTC
View this version

To

CID
bafyreigq63rb7sn...
Indexed At
2026-10-13 13:48 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@