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

Compare Other Versions

Lexicon Garden

@