garden.lexicon.nourishing-earthworm.crepeList

tyler.fun

Schema Diff

+31 -5

From

CID
bafyreigbie6jhrf...
Indexed At
2026-10-06 21:16 UTC
View this version

To

CID
bafyreih2isoovzd...
Indexed At
2026-10-08 03:13 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 6 non-breaking changes.

Breaking Changes (3)
  • ConstraintAdded ConstraintAdded { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxGraphemes", value: "300" }
  • ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxLength", old_value: "10000", new_value: "3000" }
  • ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", sort: "knownValues", old_value: "[\"private\",\"friends\",\"unlisted\",\"public\"]", new_value: "[\"private\",\"unlisted\",\"public\"]" }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sort" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection" }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews", kind: "prop", name: Some("showReviews") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sort", kind: "prop", name: Some("sort") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection", kind: "prop", name: Some("sortDirection") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sort" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", sort: "knownValues", old_value: "[\"private\",\"friends\",\"unlisted\",\"public\"]", new_value: "[\"private\",\"unlisted\",\"public\"]" }
  • ConstraintAdded ConstraintAdded { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxGraphemes", value: "300" }
  • ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxLength", old_value: "10000", new_value: "3000" }

Additional Notes

  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews", kind: "prop", name: Some("showReviews") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sort", kind: "prop", name: Some("sort") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection", kind: "prop", name: Some("sortDirection") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A list of titles in crepe's private library: the watchlist or a user list.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "autoAddMinRating": {
10 10
            "description": "titles rated at or above this (half stars times two) are added automatically",
11 11
            "maximum": 10,
12 12
            "minimum": 1,
13 13
            "type": "integer"
14 14
          },
15 15
          "createdAt": {
16 16
            "format": "datetime",
17 17
            "type": "string"
18 18
          },
19 19
          "description": {
20 -
            "maxLength": 10000,
20 +
            "maxGraphemes": 300,
21 +
            "maxLength": 3000,
21 22
            "type": "string"
22 23
          },
23 24
          "listType": {
24 25
            "knownValues": [
25 26
              "watchlist",
26 27
              "list"
27 28
            ],
28 29
            "type": "string"
29 30
          },
30 31
          "locked": {
31 32
            "default": false,
32 33
            "description": "hide the list from add-to-list pickers",
33 34
            "type": "boolean"
34 35
          },
35 36
          "mediaType": {
36 37
            "description": "deprecated, read but no longer written; use mediaTypes. restrict the list to films or to shows; absent means both",
37 38
            "knownValues": [
38 39
              "movie",
39 40
              "tv"
40 41
            ],
41 42
            "type": "string"
42 43
          },
43 44
          "mediaTypes": {
44 -
            "description": "the kinds of title the list takes; absent means films and shows",
45 +
            "description": "the kinds of title the list takes; absent means films and shows. special is standup specials, a subset of movies",
45 46
            "items": {
46 47
              "knownValues": [
47 48
                "movie",
48 49
                "tv",
49 50
                "special"
50 51
              ],
51 52
              "type": "string"
52 53
            },
53 54
            "maxLength": 8,
54 55
            "type": "array"
55 56
          },
56 57
          "mirror": {
57 58
            "description": "This list follows a public Letterboxd or IMDb list, one way. The source is authoritative.",
58 59
            "ref": "#mirror",
59 60
            "type": "ref"
60 61
          },
61 62
          "name": {
62 63
            "maxGraphemes": 100,
63 64
            "maxLength": 1000,
64 65
            "type": "string"
65 66
          },
66 67
          "ordered": {
67 68
            "type": "boolean"
68 69
          },
69 70
          "plexCollection": {
70 71
            "description": "Mirror this list, one way, into a collection on a Plex Media Server. The server owner grants which collections a user may bind.",
71 72
            "ref": "#plexCollection",
72 73
            "type": "ref"
73 74
          },
74 75
          "shareId": {
75 -
            "description": "random url-safe id in the share link of an unlisted or public list; minted when the list first leaves private, dropped when it returns to private or friends",
76 +
            "description": "random url-safe id in the share link of an unlisted or public list; minted when the list first leaves private, dropped when it returns to private",
76 77
            "maxLength": 32,
77 78
            "minLength": 16,
78 79
            "type": "string"
79 80
          },
80 81
          "showProgress": {
81 82
            "default": false,
82 83
            "description": "show a watched-count progress bar on the list page",
83 84
            "type": "boolean"
84 85
          },
86 +
          "showReviews": {
87 +
            "default": false,
88 +
            "description": "show the list author's rating and review on each row of the list page",
89 +
            "type": "boolean"
90 +
          },
91 +
          "sort": {
92 +
            "default": "custom",
93 +
            "description": "how the list orders its titles: custom (by hand, by each item's position) or by when the author last watched each title, its release date, its title, when it was added, or the author's rating. absent means custom",
94 +
            "knownValues": [
95 +
              "custom",
96 +
              "lastWatched",
97 +
              "release",
98 +
              "title",
99 +
              "added",
100 +
              "rating"
101 +
            ],
102 +
            "type": "string"
103 +
          },
104 +
          "sortDirection": {
105 +
            "description": "which way sort runs; absent means the sort's natural way (newest, most recent or highest first; titles a to z). ignored when sort is custom",
106 +
            "knownValues": [
107 +
              "asc",
108 +
              "desc"
109 +
            ],
110 +
            "type": "string"
111 +
          },
85 112
          "stamps": {
86 113
            "description": "Field group to hybrid logical clock stamp.",
87 114
            "type": "unknown"
88 115
          },
89 116
          "tags": {
90 117
            "items": {
91 118
              "maxLength": 640,
92 119
              "type": "string"
93 120
            },
94 121
            "maxLength": 50,
95 122
            "type": "array"
96 123
          },
97 124
          "updatedAt": {
98 125
            "format": "datetime",
99 126
            "type": "string"
100 127
          },
101 128
          "visibility": {
102 129
            "default": "private",
103 -
            "description": "who can see the list: private (only the owner), friends (friends and groups, once that exists), unlisted (a public page, not indexed, reachable by its share link) or public (a public page, indexed, with the records copied into the public repo). absent means private",
130 +
            "description": "who can see the list: private (only the owner), unlisted (a public page, not indexed, reachable by its share link) or public (a public page, indexed, with the records copied into the public repo). absent means private. a reader keeps a value it does not know rather than treating the list as private",
104 131
            "knownValues": [
105 132
              "private",
106 -
              "friends",
107 133
              "unlisted",
108 134
              "public"
109 135
            ],
110 136
            "type": "string"
111 137
          }
112 138
        },
113 139
        "required": [
114 140
          "name",
115 141
          "listType",
116 142
          "createdAt",
117 143
          "updatedAt"
118 144
        ],
119 145
        "type": "object"
120 146
      },
121 147
      "type": "record"
122 148
    },
123 149
    "mirror": {
124 150
      "properties": {
125 151
        "fetchedAt": {
126 152
          "description": "When the source was last read.",
127 153
          "format": "datetime",
128 154
          "type": "string"
129 155
        },
130 156
        "source": {
131 157
          "knownValues": [
132 158
            "letterboxd",
133 159
            "imdb"
134 160
          ],
135 161
          "type": "string"
136 162
        },
137 163
        "url": {
138 164
          "description": "Public list URL as the user gave it.",
139 165
          "maxLength": 2000,
140 166
          "type": "string"
141 167
        }
142 168
      },
143 169
      "required": [
144 170
        "url",
145 171
        "source",
146 172
        "fetchedAt"
147 173
      ],
148 174
      "type": "object"
149 175
    },
150 176
    "plexCollection": {
151 177
      "properties": {
152 178
        "name": {
153 179
          "description": "Collection title on the server, matched case-insensitively.",
154 180
          "maxLength": 200,
155 181
          "type": "string"
156 182
        },
157 183
        "server": {
158 184
          "description": "Plex machineIdentifier of the server. Absent means crepe's default server.",
159 185
          "maxLength": 128,
160 186
          "type": "string"
161 187
        }
162 188
      },
163 189
      "required": [
164 190
        "name"
165 191
      ],
166 192
      "type": "object"
167 193
    }
168 194
  },
169 195
  "id": "garden.lexicon.nourishing-earthworm.crepeList",
170 196
  "lexicon": 1
171 197
}

Compare Other Versions

Lexicon Garden

@