pub.leaflet.publication

leaflet.pub

Schema Diff

+16 -0

From

CID
bafyreidf4kxv2wi...
Indexed At
2026-02-18 20:05 UTC
View this version

To

CID
bafyreicvzk6v46o...
Indexed At
2026-06-17 21:28 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 8 non-breaking changes.

Breaking Changes (3)
  • ConstraintAdded ConstraintAdded { vertex_id: "pub.leaflet.publication#preferences.showFirstLast", sort: "default", value: "false" }
  • ConstraintAdded ConstraintAdded { vertex_id: "pub.leaflet.publication#theme.headingFont", sort: "maxLength", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "pub.leaflet.publication#theme.bodyFont", sort: "maxLength", value: "100" }
Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.publication#preferences.showFirstLast" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.publication#theme.bodyFont" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.publication#theme.headingFont" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.publication#theme.wordmark" }
  • AddedEdge AddedEdge { src: "pub.leaflet.publication#preferences", tgt: "pub.leaflet.publication#preferences.showFirstLast", kind: "prop", name: Some("showFirstLast") }
  • AddedEdge AddedEdge { src: "pub.leaflet.publication#theme", tgt: "pub.leaflet.publication#theme.bodyFont", kind: "prop", name: Some("bodyFont") }
  • AddedEdge AddedEdge { src: "pub.leaflet.publication#theme", tgt: "pub.leaflet.publication#theme.headingFont", kind: "prop", name: Some("headingFont") }
  • AddedEdge AddedEdge { src: "pub.leaflet.publication#theme", tgt: "pub.leaflet.publication#theme.wordmark", kind: "prop", name: Some("wordmark") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "pub.leaflet.publication#preferences.showFirstLast" }
  • AddedVertex { vertex_id: "pub.leaflet.publication#theme.bodyFont" }
  • AddedVertex { vertex_id: "pub.leaflet.publication#theme.headingFont" }
  • AddedVertex { vertex_id: "pub.leaflet.publication#theme.wordmark" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "pub.leaflet.publication#theme.headingFont", sort: "maxLength", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "pub.leaflet.publication#preferences.showFirstLast", sort: "default", value: "false" }
  • ConstraintAdded ConstraintAdded { vertex_id: "pub.leaflet.publication#theme.bodyFont", sort: "maxLength", value: "100" }

Additional Notes

  • Non-breaking: AddedEdge { src: "pub.leaflet.publication#preferences", tgt: "pub.leaflet.publication#preferences.showFirstLast", kind: "prop", name: Some("showFirstLast") }
  • Non-breaking: AddedEdge { src: "pub.leaflet.publication#theme", tgt: "pub.leaflet.publication#theme.bodyFont", kind: "prop", name: Some("bodyFont") }
  • Non-breaking: AddedEdge { src: "pub.leaflet.publication#theme", tgt: "pub.leaflet.publication#theme.headingFont", kind: "prop", name: Some("headingFont") }
  • Non-breaking: AddedEdge { src: "pub.leaflet.publication#theme", tgt: "pub.leaflet.publication#theme.wordmark", kind: "prop", name: Some("wordmark") }
1 1
{
2 2
  "id": "pub.leaflet.publication",
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
          "name"
11 11
        ],
12 12
        "properties": {
13 13
          "icon": {
14 14
            "type": "blob",
15 15
            "accept": [
16 16
              "image/*"
17 17
            ],
18 18
            "maxSize": 1000000
19 19
          },
20 20
          "name": {
21 21
            "type": "string",
22 22
            "maxLength": 2000
23 23
          },
24 24
          "theme": {
25 25
            "ref": "#theme",
26 26
            "type": "ref"
27 27
          },
28 28
          "base_path": {
29 29
            "type": "string"
30 30
          },
31 31
          "description": {
32 32
            "type": "string",
33 33
            "maxLength": 2000
34 34
          },
35 35
          "preferences": {
36 36
            "ref": "#preferences",
37 37
            "type": "ref"
38 38
          }
39 39
        }
40 40
      },
41 41
      "description": "Record declaring a publication"
42 42
    },
43 43
    "theme": {
44 44
      "type": "object",
45 45
      "properties": {
46 46
        "primary": {
47 47
          "refs": [
48 48
            "pub.leaflet.theme.color#rgba",
49 49
            "pub.leaflet.theme.color#rgb"
50 50
          ],
51 51
          "type": "union"
52 52
        },
53 +
        "bodyFont": {
54 +
          "type": "string",
55 +
          "maxLength": 100
56 +
        },
57 +
        "wordmark": {
58 +
          "ref": "pub.leaflet.theme.wordmark",
59 +
          "type": "ref"
60 +
        },
53 61
        "pageWidth": {
54 62
          "type": "integer",
55 63
          "maximum": 1600,
56 64
          "minimum": 0
57 65
        },
58 66
        "accentText": {
59 67
          "refs": [
60 68
            "pub.leaflet.theme.color#rgba",
61 69
            "pub.leaflet.theme.color#rgb"
62 70
          ],
63 71
          "type": "union"
64 72
        },
73 +
        "headingFont": {
74 +
          "type": "string",
75 +
          "maxLength": 100
76 +
        },
65 77
        "pageBackground": {
66 78
          "refs": [
67 79
            "pub.leaflet.theme.color#rgba",
68 80
            "pub.leaflet.theme.color#rgb"
69 81
          ],
70 82
          "type": "union"
71 83
        },
72 84
        "backgroundColor": {
73 85
          "refs": [
74 86
            "pub.leaflet.theme.color#rgba",
75 87
            "pub.leaflet.theme.color#rgb"
76 88
          ],
77 89
          "type": "union"
78 90
        },
79 91
        "backgroundImage": {
80 92
          "ref": "pub.leaflet.theme.backgroundImage",
81 93
          "type": "ref"
82 94
        },
83 95
        "accentBackground": {
84 96
          "refs": [
85 97
            "pub.leaflet.theme.color#rgba",
86 98
            "pub.leaflet.theme.color#rgb"
87 99
          ],
88 100
          "type": "union"
89 101
        },
90 102
        "showPageBackground": {
91 103
          "type": "boolean",
92 104
          "default": false
93 105
        }
94 106
      }
95 107
    },
96 108
    "preferences": {
97 109
      "type": "object",
98 110
      "properties": {
99 111
        "showComments": {
100 112
          "type": "boolean",
101 113
          "default": true
102 114
        },
103 115
        "showMentions": {
104 116
          "type": "boolean",
105 117
          "default": true
106 118
        },
107 119
        "showPrevNext": {
108 120
          "type": "boolean",
109 121
          "default": true
110 122
        },
123 +
        "showFirstLast": {
124 +
          "type": "boolean",
125 +
          "default": false
126 +
        },
111 127
        "showInDiscover": {
112 128
          "type": "boolean",
113 129
          "default": true
114 130
        },
115 131
        "showRecommends": {
116 132
          "type": "boolean",
117 133
          "default": true
118 134
        }
119 135
      }
120 136
    }
121 137
  },
122 138
  "$type": "com.atproto.lexicon.schema",
123 139
  "lexicon": 1
124 140
}

Compare Other Versions

Lexicon Garden

@