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

  • 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" }

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

Compare Other Versions

Lexicon Garden

@