app.offprint.publication

offprint.app

Schema Diff

+38 -0

From

CID
bafyreiao2irtk4z...
Indexed At
2026-05-24 08:49 UTC
View this version

To

CID
bafyreieerpl6lja...
Indexed At
2026-07-26 20:12 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 16 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.offprint.publication#navItem", src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.label", kind: "prop", name: Some("label") }
Non-Breaking Changes (16)
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication#navItem" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication#navItem.children" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication#navItem.children:items" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication#navItem.external" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication#navItem.href" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication#navItem.label" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication:body.navigation" }
  • AddedVertex AddedVertex { vertex_id: "app.offprint.publication:body.navigation:items" }
  • AddedEdge AddedEdge { src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.children", kind: "prop", name: Some("children") }
  • AddedEdge AddedEdge { src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.external", kind: "prop", name: Some("external") }
  • AddedEdge AddedEdge { src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.href", kind: "prop", name: Some("href") }
  • AddedEdge AddedEdge { src: "app.offprint.publication#navItem.children", tgt: "app.offprint.publication#navItem.children:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.offprint.publication#navItem.children:items", tgt: "app.offprint.publication#navItem", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.offprint.publication:body", tgt: "app.offprint.publication:body.navigation", kind: "prop", name: Some("navigation") }
  • AddedEdge AddedEdge { src: "app.offprint.publication:body.navigation", tgt: "app.offprint.publication:body.navigation:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.offprint.publication:body.navigation:items", tgt: "app.offprint.publication#navItem", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.offprint.publication#navItem" }
  • AddedVertex { vertex_id: "app.offprint.publication#navItem.children" }
  • AddedVertex { vertex_id: "app.offprint.publication#navItem.children:items" }
  • AddedVertex { vertex_id: "app.offprint.publication#navItem.external" }
  • AddedVertex { vertex_id: "app.offprint.publication#navItem.href" }
  • AddedVertex { vertex_id: "app.offprint.publication#navItem.label" }
  • AddedVertex { vertex_id: "app.offprint.publication:body.navigation" }
  • AddedVertex { vertex_id: "app.offprint.publication:body.navigation:items" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.offprint.publication#navItem", src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.label", kind: "prop", name: Some("label") }
  • Non-breaking: AddedEdge { src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.children", kind: "prop", name: Some("children") }
  • Non-breaking: AddedEdge { src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.external", kind: "prop", name: Some("external") }
  • Non-breaking: AddedEdge { src: "app.offprint.publication#navItem", tgt: "app.offprint.publication#navItem.href", kind: "prop", name: Some("href") }
  • Non-breaking: AddedEdge { src: "app.offprint.publication#navItem.children", tgt: "app.offprint.publication#navItem.children:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.offprint.publication#navItem.children:items", tgt: "app.offprint.publication#navItem", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.offprint.publication:body", tgt: "app.offprint.publication:body.navigation", kind: "prop", name: Some("navigation") }
  • Non-breaking: AddedEdge { src: "app.offprint.publication:body.navigation", tgt: "app.offprint.publication:body.navigation:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.offprint.publication:body.navigation:items", tgt: "app.offprint.publication#navItem", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "record": {
7 7
        "properties": {
8 +
          "navigation": {
9 +
            "description": "Ordered top-level navigation items. Omitted when the publication uses the default navigation.",
10 +
            "items": {
11 +
              "ref": "#navItem",
12 +
              "type": "ref"
13 +
            },
14 +
            "type": "array"
15 +
          },
8 16
          "publication": {
9 17
            "description": "Required AT-URI to a `site.standard.publication` compatible record.",
10 18
            "format": "at-uri",
11 19
            "type": "string"
12 20
          }
13 21
        },
14 22
        "required": [
15 23
          "publication"
16 24
        ],
17 25
        "type": "object"
18 26
      },
19 27
      "type": "record"
28 +
    },
29 +
    "navItem": {
30 +
      "properties": {
31 +
        "children": {
32 +
          "description": "Nested items that render as a dropdown. Up to two levels deep.",
33 +
          "items": {
34 +
            "ref": "#navItem",
35 +
            "type": "ref"
36 +
          },
37 +
          "type": "array"
38 +
        },
39 +
        "external": {
40 +
          "default": false,
41 +
          "description": "Whether the link opens an external site.",
42 +
          "type": "boolean"
43 +
        },
44 +
        "href": {
45 +
          "description": "Resolved destination: a root-relative path or an absolute URL. Omitted for a dropdown-only label.",
46 +
          "type": "string"
47 +
        },
48 +
        "label": {
49 +
          "description": "Display label for the navigation item.",
50 +
          "maxGraphemes": 200,
51 +
          "type": "string"
52 +
        }
53 +
      },
54 +
      "required": [
55 +
        "label"
56 +
      ],
57 +
      "type": "object"
20 58
    }
21 59
  },
22 60
  "id": "app.offprint.publication",
23 61
  "lexicon": 1
24 62
}

Compare Other Versions

Lexicon Garden

@