com.barryfrost.checkin

barryfrost.com

Schema Diff

+33 -19

From

CID
bafyreiefywrsai7...
Indexed At
2026-04-27 14:51 UTC
View this version

To

CID
bafyreifdixtovxb...
Indexed At
2026-04-27 15:31 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 10 non-breaking changes.

Breaking Changes (8)
  • RemovedVertex RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.alt" }
  • RemovedVertex RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.image" }
  • RemovedEdge RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.alt", kind: "prop", name: Some("alt") }
  • RemovedEdge RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
  • KindChanged KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin#photo.alt", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.category", sort: "maxLength", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.address", sort: "maxLength", value: "500" }
Non-Breaking Changes (10)
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo" }
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo.alt" }
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo.image" }
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin:body.address" }
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin:body.category" }
  • AddedEdge AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.alt", kind: "prop", name: Some("alt") }
  • AddedEdge AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
  • AddedEdge AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.address", kind: "prop", name: Some("address") }
  • AddedEdge AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.category", kind: "prop", name: Some("category") }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items.alt", sort: "maxLength" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.alt" }
  • RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.image" }

Added Elements

  • AddedVertex { vertex_id: "com.barryfrost.checkin#photo" }
  • AddedVertex { vertex_id: "com.barryfrost.checkin#photo.alt" }
  • AddedVertex { vertex_id: "com.barryfrost.checkin#photo.image" }
  • AddedVertex { vertex_id: "com.barryfrost.checkin:body.address" }
  • AddedVertex { vertex_id: "com.barryfrost.checkin:body.category" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.category", sort: "maxLength", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.address", sort: "maxLength", value: "500" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin#photo.alt", sort: "maxLength", value: "1000" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items.alt", sort: "maxLength" }

Additional Notes

  • Breaking: RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.alt", kind: "prop", name: Some("alt") }
  • Breaking: RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
  • Breaking: KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.alt", kind: "prop", name: Some("alt") }
  • Non-breaking: AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
  • Non-breaking: AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.address", kind: "prop", name: Some("address") }
  • Non-breaking: AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.category", kind: "prop", name: Some("category") }
1 1
{
2 2
  "id": "com.barryfrost.checkin",
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
          "createdAt",
11 11
          "location"
12 12
        ],
13 13
        "properties": {
14 14
          "photos": {
15 15
            "type": "array",
16 16
            "items": {
17 -
              "type": "object",
18 -
              "required": [
19 -
                "image"
20 -
              ],
21 -
              "properties": {
22 -
                "alt": {
23 -
                  "type": "string",
24 -
                  "maxLength": 1000
25 -
                },
26 -
                "image": {
27 -
                  "type": "blob",
28 -
                  "accept": [
29 -
                    "image/jpeg",
30 -
                    "image/png",
31 -
                    "image/webp"
32 -
                  ],
33 -
                  "maxSize": 1000000
34 -
                }
35 -
              }
17 +
              "ref": "#photo",
18 +
              "type": "ref"
36 19
            },
37 20
            "maxLength": 8,
38 21
            "description": "Photos taken at the checkin, uploaded as PDS blobs"
39 22
          },
23 +
          "address": {
24 +
            "type": "string",
25 +
            "maxLength": 500,
26 +
            "description": "Formatted venue address, e.g. \"123 High Street, London, UK\""
27 +
          },
28 +
          "category": {
29 +
            "type": "string",
30 +
            "maxLength": 100,
31 +
            "description": "Primary Foursquare venue category, e.g. \"Coffee Shop\""
32 +
          },
40 33
          "location": {
41 34
            "ref": "community.lexicon.location.fsq",
42 35
            "type": "ref",
43 36
            "description": "The Foursquare place where the checkin occurred"
44 37
          },
45 38
          "createdAt": {
46 39
            "type": "string",
47 40
            "format": "datetime",
48 41
            "description": "ISO 8601 timestamp of the checkin"
49 42
          }
50 43
        }
51 44
      },
52 45
      "description": "A physical location checkin on Foursquare/Swarm"
46 +
    },
47 +
    "photo": {
48 +
      "type": "object",
49 +
      "required": [
50 +
        "image"
51 +
      ],
52 +
      "properties": {
53 +
        "alt": {
54 +
          "type": "string",
55 +
          "maxLength": 1000
56 +
        },
57 +
        "image": {
58 +
          "type": "blob",
59 +
          "accept": [
60 +
            "image/jpeg",
61 +
            "image/png",
62 +
            "image/webp"
63 +
          ],
64 +
          "maxSize": 1000000
65 +
        }
66 +
      }
53 67
    }
54 68
  },
55 69
  "$type": "com.atproto.lexicon.schema",
56 70
  "lexicon": 1
57 71
}

Compare Other Versions

Lexicon Garden

@