dev.roe.location

danielroe.dev

Schema Diff

+5 -24

From

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

To

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

Compatibility Analysis

Breaking Changes Detected

9 breaking changes, 3 non-breaking changes.

Breaking Changes (9)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.address", kind: "prop", name: Some("address") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.countryCode", kind: "prop", name: Some("countryCode") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.city", kind: "prop", name: Some("city") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.country", kind: "prop", name: Some("country") }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.city" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.country" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.countryCode" }
  • RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.region" }
  • RemovedEdge RemovedEdge { src: "dev.roe.location:body", tgt: "dev.roe.location:body.region", kind: "prop", name: Some("region") }
Non-Breaking Changes (3)
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.location.address" }
  • AddedVertex AddedVertex { vertex_id: "dev.roe.location:body.address" }
  • AddedEdge AddedEdge { src: "dev.roe.location:body.address", tgt: "community.lexicon.location.address", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "dev.roe.location:body.city" }
  • RemovedVertex { vertex_id: "dev.roe.location:body.country" }
  • RemovedVertex { vertex_id: "dev.roe.location:body.countryCode" }
  • RemovedVertex { vertex_id: "dev.roe.location:body.region" }

Added Elements

  • AddedVertex { vertex_id: "community.lexicon.location.address" }
  • AddedVertex { vertex_id: "dev.roe.location:body.address" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.address", kind: "prop", name: Some("address") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.countryCode", kind: "prop", name: Some("countryCode") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.city", kind: "prop", name: Some("city") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.country", kind: "prop", name: Some("country") }
  • Breaking: RemovedEdge { src: "dev.roe.location:body", tgt: "dev.roe.location:body.region", kind: "prop", name: Some("region") }
  • Non-breaking: AddedEdge { src: "dev.roe.location:body.address", tgt: "community.lexicon.location.address", kind: "ref", name: None }
1 1
{
2 2
  "id": "dev.roe.location",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "literal:self",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 -
          "city",
11 -
          "country",
12 -
          "countryCode",
10 +
          "address",
13 11
          "createdAt"
14 12
        ],
15 13
        "properties": {
16 -
          "city": {
17 -
            "type": "string",
18 -
            "maxLength": 2560,
19 -
            "maxGraphemes": 256
20 -
          },
21 -
          "region": {
22 -
            "type": "string",
23 -
            "maxLength": 2560,
24 -
            "description": "Region/state. Used to special-case Scotland and US/UK subdivisions on the public site.",
25 -
            "maxGraphemes": 256
26 -
          },
27 -
          "country": {
28 -
            "type": "string",
29 -
            "maxLength": 2560,
30 -
            "maxGraphemes": 256
14 +
          "address": {
15 +
            "ref": "community.lexicon.location.address",
16 +
            "type": "ref",
17 +
            "description": "Where I am: `locality` is the city, `region` the state/subdivision (used to special-case Scotland), `country` the ISO 3166-1 alpha-2 code (used to compute a flag emoji)."
31 18
          },
32 19
          "createdAt": {
33 20
            "type": "string",
34 21
            "format": "datetime"
35 -
          },
36 -
          "countryCode": {
37 -
            "type": "string",
38 -
            "maxLength": 2,
39 -
            "minLength": 2,
40 -
            "description": "ISO 3166-1 alpha-2 country code, uppercase. Used to compute a flag emoji."
41 22
          },
42 23
          "meetupAvailable": {
43 24
            "type": "boolean",
44 25
            "default": true
45 26
          }
46 27
        }
47 28
      },
48 29
      "description": "Current location (singleton; rkey is always 'self')."
49 30
    }
50 31
  },
51 32
  "$type": "com.atproto.lexicon.schema",
52 33
  "lexicon": 1
53 34
}

Compare Other Versions

Lexicon Garden

@