club.userstyles.alpha.userstyle

userstyles.club

Schema Diff

+13 -1

From

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

To

CID
bafyreihew2lfbyd...
Indexed At
2026-06-25 22:22 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 6 non-breaking changes.

Breaking Changes (1)
  • ConstraintAdded ConstraintAdded { vertex_id: "club.userstyles.alpha.userstyle:body.license", sort: "maxLength", value: "100" }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.homepageUrl" }
  • 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.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.license" }
  • AddedVertex { vertex_id: "club.userstyles.alpha.userstyle:body.upstreamUrl" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "club.userstyles.alpha.userstyle:body.license", sort: "maxLength", value: "100" }

Additional Notes

  • 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.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
  "id": "club.userstyles.alpha.userstyle",
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
          "title",
11 11
          "sourceCode",
12 12
          "createdAt"
13 13
        ],
14 14
        "properties": {
15 15
          "title": {
16 16
            "type": "string",
17 17
            "maxGraphemes": 140,
18 18
            "minGraphemes": 1
19 19
          },
20 +
          "license": {
21 +
            "type": "string",
22 +
            "maxLength": 100
23 +
          },
20 24
          "createdAt": {
21 25
            "type": "string",
22 26
            "format": "datetime"
23 27
          },
24 28
          "updatedAt": {
25 29
            "type": "string",
26 30
            "format": "datetime"
27 31
          },
28 32
          "sourceCode": {
29 33
            "type": "string"
30 34
          },
31 35
          "description": {
32 36
            "type": "string",
33 37
            "maxGraphemes": 300
34 38
          },
39 +
          "homepageUrl": {
40 +
            "type": "string",
41 +
            "format": "uri"
42 +
          },
43 +
          "upstreamUrl": {
44 +
            "type": "string",
45 +
            "format": "uri"
46 +
          },
35 47
          "previewImage": {
36 48
            "type": "blob",
37 49
            "accept": [
38 50
              "image/*"
39 51
            ],
40 52
            "maxSize": 1000000
41 53
          }
42 54
        }
43 55
      },
44 -
      "description": "Record declaring a userstyle's contents and metadata."
56 +
      "description": "A UserCSS userstyle."
45 57
    }
46 58
  },
47 59
  "$type": "com.atproto.lexicon.schema",
48 60
  "lexicon": 1
49 61
}

Compare Other Versions

Lexicon Garden

@