app.winesky.imageVariant

winesky.app

Schema Diff

+21 -18

From

CID
bafyreifphk5slhi...
Indexed At
2026-02-18 18:27 UTC
View this version

To

CID
bafyreid5b4jebnq...
Indexed At
2026-07-26 20:11 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

9 breaking changes, 4 non-breaking changes.

Breaking Changes (9)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.atUri", kind: "prop", name: Some("atUri") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.cid", kind: "prop", name: Some("cid") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.cid", kind: "prop", name: Some("cid") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.atUri", kind: "prop", name: Some("atUri") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body", src: "app.winesky.imageVariant:body", tgt: "app.winesky.imageVariant:body.parent", kind: "prop", name: Some("parent") }
  • RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.atUri" }
  • RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.cid" }
  • KindChanged KindChanged { vertex_id: "app.winesky.imageVariant:body.parent", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageVariant:body.parent", sort: "ref", value: "#strongRef" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.atUri" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.cid" }
  • AddedEdge AddedEdge { src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant#strongRef", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.atUri" }
  • RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.cid" }

Added Elements

  • AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef" }
  • AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.atUri" }
  • AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.cid" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageVariant:body.parent", sort: "ref", value: "#strongRef" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.atUri", kind: "prop", name: Some("atUri") }
  • Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.cid", kind: "prop", name: Some("cid") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body", src: "app.winesky.imageVariant:body", tgt: "app.winesky.imageVariant:body.parent", kind: "prop", name: Some("parent") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.cid", kind: "prop", name: Some("cid") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.atUri", kind: "prop", name: Some("atUri") }
  • Breaking: KindChanged { vertex_id: "app.winesky.imageVariant:body.parent", old_kind: "object", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant#strongRef", kind: "ref", name: None }
1 1
{
2 2
  "id": "app.winesky.imageVariant",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "main",
11 -
          "thumbnail",
12 -
          "parent"
11 +
          "thumbnail"
13 12
        ],
14 13
        "properties": {
15 14
          "main": {
16 15
            "type": "blob",
17 16
            "accept": [
18 17
              "image/jpeg",
19 18
              "image/png"
20 19
            ],
21 20
            "maxSize": 3000000
22 21
          },
23 22
          "parent": {
24 -
            "type": "object",
25 -
            "required": [
26 -
              "cid",
27 -
              "atUri"
28 -
            ],
29 -
            "properties": {
30 -
              "cid": {
31 -
                "type": "string",
32 -
                "format": "cid"
33 -
              },
34 -
              "atUri": {
35 -
                "type": "string",
36 -
                "format": "at-uri"
37 -
              }
38 -
            }
23 +
            "ref": "#strongRef",
24 +
            "type": "ref"
39 25
          },
40 26
          "thumbnail": {
41 27
            "type": "blob",
42 28
            "accept": [
43 29
              "image/jpeg",
44 30
              "image/png"
45 31
            ],
46 32
            "maxSize": 100000
47 33
          }
48 34
        }
49 35
      },
50 -
      "description": "A group of image variants for display purposes"
36 +
      "description": "A group of image variants for display purposes (currently only main and thumbnail)."
37 +
    },
38 +
    "strongRef": {
39 +
      "type": "object",
40 +
      "required": [
41 +
        "cid",
42 +
        "atUri"
43 +
      ],
44 +
      "properties": {
45 +
        "cid": {
46 +
          "type": "string",
47 +
          "format": "cid"
48 +
        },
49 +
        "atUri": {
50 +
          "type": "string",
51 +
          "format": "at-uri"
52 +
        }
53 +
      }
51 54
    }
52 55
  },
53 56
  "$type": "com.atproto.lexicon.schema",
54 57
  "lexicon": 1
55 58
}

Compare Other Versions

Lexicon Garden

@