dev.roe.usesItem

danielroe.dev

Schema Diff

+4 -28

From

CID
bafyreiezlkvhpug...
Indexed At
2026-07-29 22:37 UTC
View this version

To

CID
bafyreicjlakwlce...
Indexed At
2026-08-26 13:09 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

13 breaking changes, 4 non-breaking changes.

Breaking Changes (13)
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.usesItem#link", src: "dev.roe.usesItem#link", tgt: "dev.roe.usesItem#link.url", kind: "prop", name: Some("url") }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.defs#aspectRatio" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.usesItem#link" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.usesItem#link.label" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.usesItem#link.url" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.usesItem:body.aspectRatio" }
  • RemovedEdge RemovedEdge { src: "dev.roe.usesItem#link", tgt: "dev.roe.usesItem#link.label", kind: "prop", name: Some("label") }
  • RemovedEdge RemovedEdge { src: "dev.roe.usesItem:body", tgt: "dev.roe.usesItem:body.aspectRatio", kind: "prop", name: Some("aspectRatio") }
  • RemovedEdge RemovedEdge { src: "dev.roe.usesItem:body.aspectRatio", tgt: "dev.roe.defs#aspectRatio", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "dev.roe.usesItem:body.links:items", tgt: "dev.roe.usesItem#link", kind: "ref", name: None }
  • KindChanged KindChanged { vertex_id: "dev.roe.usesItem:body.image", old_kind: "blob", new_kind: "ref" }
  • ConstraintTightened ConstraintTightened { vertex_id: "dev.roe.usesItem:body.links:items", sort: "ref", old_value: "#link", new_value: "community.lexicon.app.defs#link" }
  • ConstraintAdded ConstraintAdded { vertex_id: "dev.roe.usesItem:body.image", sort: "ref", value: "community.lexicon.app.defs#image" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.app.defs#image" }
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.app.defs#link" }
  • AddedEdge AddedEdge { src: "dev.roe.usesItem:body.image", tgt: "community.lexicon.app.defs#image", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "dev.roe.usesItem:body.links:items", tgt: "community.lexicon.app.defs#link", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "dev.roe.defs#aspectRatio" }
  • RemovedVertex { vertex_id: "dev.roe.usesItem#link" }
  • RemovedVertex { vertex_id: "dev.roe.usesItem#link.label" }
  • RemovedVertex { vertex_id: "dev.roe.usesItem#link.url" }
  • RemovedVertex { vertex_id: "dev.roe.usesItem:body.aspectRatio" }

Added Elements

  • AddedVertex { vertex_id: "community.lexicon.app.defs#image" }
  • AddedVertex { vertex_id: "community.lexicon.app.defs#link" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "dev.roe.usesItem:body.image", sort: "ref", value: "community.lexicon.app.defs#image" }
  • ConstraintTightened ConstraintTightened { vertex_id: "dev.roe.usesItem:body.links:items", sort: "ref", old_value: "#link", new_value: "community.lexicon.app.defs#link" }

Additional Notes

  • Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.usesItem#link", src: "dev.roe.usesItem#link", tgt: "dev.roe.usesItem#link.url", kind: "prop", name: Some("url") }
  • Breaking: RemovedEdge { src: "dev.roe.usesItem#link", tgt: "dev.roe.usesItem#link.label", kind: "prop", name: Some("label") }
  • Breaking: RemovedEdge { src: "dev.roe.usesItem:body", tgt: "dev.roe.usesItem:body.aspectRatio", kind: "prop", name: Some("aspectRatio") }
  • Breaking: RemovedEdge { src: "dev.roe.usesItem:body.aspectRatio", tgt: "dev.roe.defs#aspectRatio", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "dev.roe.usesItem:body.links:items", tgt: "dev.roe.usesItem#link", kind: "ref", name: None }
  • Breaking: KindChanged { vertex_id: "dev.roe.usesItem:body.image", old_kind: "blob", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "dev.roe.usesItem:body.image", tgt: "community.lexicon.app.defs#image", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "dev.roe.usesItem:body.links:items", tgt: "community.lexicon.app.defs#link", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 -
    "link": {
5 -
      "properties": {
6 -
        "label": {
7 -
          "maxGraphemes": 64,
8 -
          "maxLength": 640,
9 -
          "type": "string"
10 -
        },
11 -
        "url": {
12 -
          "format": "uri",
13 -
          "type": "string"
14 -
        }
15 -
      },
16 -
      "required": [
17 -
        "url"
18 -
      ],
19 -
      "type": "object"
20 -
    },
21 4
    "main": {
22 5
      "description": "A single item on the /uses page, belonging to a dev.roe.usesCategory.",
23 6
      "key": "tid",
24 7
      "record": {
25 8
        "properties": {
26 -
          "aspectRatio": {
27 -
            "description": "Intrinsic pixel dimensions of `image`.",
28 -
            "ref": "dev.roe.defs#aspectRatio",
29 -
            "type": "ref"
30 -
          },
31 9
          "category": {
32 10
            "description": "Strong-ref to the parent dev.roe.usesCategory record.",
33 11
            "ref": "com.atproto.repo.strongRef",
34 12
            "type": "ref"
35 13
          },
36 14
          "createdAt": {
37 15
            "format": "datetime",
38 16
            "type": "string"
39 17
          },
40 18
          "description": {
41 19
            "maxGraphemes": 2500,
42 20
            "maxLength": 25000,
43 21
            "type": "string"
44 22
          },
45 23
          "image": {
46 -
            "accept": [
47 -
              "image/*"
48 -
            ],
49 -
            "maxSize": 5000000,
50 -
            "type": "blob"
24 +
            "description": "Product shot or screenshot. Grid categories render it; list categories ignore it.",
25 +
            "ref": "community.lexicon.app.defs#image",
26 +
            "type": "ref"
51 27
          },
52 28
          "links": {
53 29
            "items": {
54 -
              "ref": "#link",
30 +
              "ref": "community.lexicon.app.defs#link",
55 31
              "type": "ref"
56 32
            },
57 33
            "maxLength": 32,
58 34
            "type": "array"
59 35
          },
60 36
          "name": {
61 37
            "maxGraphemes": 256,
62 38
            "maxLength": 2560,
63 39
            "type": "string"
64 40
          },
65 41
          "order": {
66 42
            "default": 100,
67 43
            "description": "Lower values render first within the category. Defaults to 100 in the editor.",
68 44
            "type": "integer"
69 45
          }
70 46
        },
71 47
        "required": [
72 48
          "category",
73 49
          "name",
74 50
          "createdAt"
75 51
        ],
76 52
        "type": "object"
77 53
      },
78 54
      "type": "record"
79 55
    }
80 56
  },
81 57
  "id": "dev.roe.usesItem",
82 58
  "lexicon": 1
83 59
}

Compare Other Versions

Lexicon Garden

@