club.userstyles.alpha.userstyle

userstyles.club

Schema Diff

+21 -2

From

CID
bafyreiagzn46spg...
Indexed At
2026-06-10 01:15 UTC
View this version

To

CID
bafyreigisp2zoyc...
Indexed At
2026-07-27 12:47 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 8 non-breaking changes.

Breaking Changes (1)
  • KindChanged KindChanged { vertex_id: "club.userstyles.alpha.userstyle:body.sourceCode", old_kind: "string", new_kind: "blob" }
Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.homepageUrl" }
  • AddedVertex AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.ignoreUpdateUrl" }
  • AddedVertex AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.license" }
  • AddedVertex AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.upstreamUrl" }
  • AddedEdge AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.homepageUrl", kind: "prop", name: Some("homepageUrl") }
  • AddedEdge AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.ignoreUpdateUrl", kind: "prop", name: Some("ignoreUpdateUrl") }
  • AddedEdge AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.license", kind: "prop", name: Some("license") }
  • AddedEdge AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.upstreamUrl", kind: "prop", name: Some("upstreamUrl") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.homepageUrl" }
  • AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.ignoreUpdateUrl" }
  • AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.license" }
  • AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.upstreamUrl" }

Additional Notes

  • Breaking: KindChanged { vertex_id: "club.userstyles.alpha.userstyle:body.sourceCode", old_kind: "string", new_kind: "blob" }
  • Non-breaking: AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.homepageUrl", kind: "prop", name: Some("homepageUrl") }
  • Non-breaking: AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.ignoreUpdateUrl", kind: "prop", name: Some("ignoreUpdateUrl") }
  • Non-breaking: AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.license", kind: "prop", name: Some("license") }
  • Non-breaking: AddedEdge { src: "club.userstyles.alpha.userstyle:body", tgt: "club.userstyles.alpha.userstyle:body.upstreamUrl", kind: "prop", name: Some("upstreamUrl") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "Record declaring a userstyle's contents and metadata.",
5 +
      "description": "A UserCSS userstyle.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdAt": {
10 10
            "format": "datetime",
11 11
            "type": "string"
12 12
          },
13 13
          "description": {
14 14
            "maxGraphemes": 300,
15 15
            "type": "string"
16 16
          },
17 +
          "homepageUrl": {
18 +
            "format": "uri",
19 +
            "type": "string"
20 +
          },
21 +
          "ignoreUpdateUrl": {
22 +
            "type": "boolean"
23 +
          },
24 +
          "license": {
25 +
            "maxLength": 100,
26 +
            "type": "string"
27 +
          },
17 28
          "previewImage": {
18 29
            "accept": [
19 30
              "image/*"
20 31
            ],
21 32
            "maxSize": 1000000,
22 33
            "type": "blob"
23 34
          },
24 35
          "sourceCode": {
25 -
            "type": "string"
36 +
            "accept": [
37 +
              "text/plain"
38 +
            ],
39 +
            "maxSize": 5000000,
40 +
            "type": "blob"
26 41
          },
27 42
          "title": {
28 43
            "maxGraphemes": 140,
29 44
            "minGraphemes": 1,
30 45
            "type": "string"
31 46
          },
32 47
          "updatedAt": {
33 48
            "format": "datetime",
34 49
            "type": "string"
50 +
          },
51 +
          "upstreamUrl": {
52 +
            "format": "uri",
53 +
            "type": "string"
35 54
          }
36 55
        },
37 56
        "required": [
38 57
          "title",
39 58
          "sourceCode",
40 59
          "createdAt"
41 60
        ],
42 61
        "type": "object"
43 62
      },
44 63
      "type": "record"
45 64
    }
46 65
  },
47 66
  "id": "club.userstyles.alpha.userstyle",
48 67
  "lexicon": 1
49 68
}

Compare Other Versions

Lexicon Garden

@