social.nstar.provider.declaration

nstar.social

Schema Diff

+20 -7

From

CID
bafyreify6ucwszy...
Indexed At
2026-05-01 05:42 UTC
View this version

To

CID
bafyreibt2anb67b...
Indexed At
2026-06-19 06:53 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 4 non-breaking changes.

Breaking Changes (3)
  • KindChanged KindChanged { vertex_id: "social.nstar.provider.declaration:body.services:items", old_kind: "string", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }
  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxGraphemes", value: "640" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "social.nstar.provider.declaration#service.id" }
  • AddedVertex AddedVertex { vertex_id: "social.nstar.provider.declaration#service.uri" }
  • AddedEdge AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.id", kind: "prop", name: Some("id") }
  • AddedEdge AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.uri", kind: "prop", name: Some("uri") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.nstar.provider.declaration#service.id" }
  • AddedVertex { vertex_id: "social.nstar.provider.declaration#service.uri" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }
  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxGraphemes", value: "640" }

Additional Notes

  • Breaking: KindChanged { vertex_id: "social.nstar.provider.declaration:body.services:items", old_kind: "string", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.id", kind: "prop", name: Some("id") }
  • Non-breaking: AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.uri", kind: "prop", name: Some("uri") }
1 1
{
2 2
  "id": "social.nstar.provider.declaration",
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
          "did",
11 11
          "legalName",
12 12
          "displayName",
13 13
          "description",
14 14
          "services",
15 15
          "theme",
16 16
          "links",
17 17
          "contact"
18 18
        ],
19 19
        "properties": {
20 20
          "did": {
21 21
            "type": "string",
22 22
            "format": "uri",
23 23
            "description": "Provider's DID document containing 1 or more of following services: #atproto_pds, #appview_bsky, #appview_notif"
24 24
          },
25 25
          "links": {
26 26
            "ref": "#links",
27 27
            "type": "ref",
28 28
            "description": "URLs of the providers website and service policy documents."
29 29
          },
30 30
          "theme": {
31 31
            "ref": "#theme",
32 32
            "type": "ref",
33 33
            "description": "URLs of the providers website and service policy documents."
34 34
          },
35 35
          "contact": {
36 36
            "ref": "#contact",
37 37
            "type": "ref",
38 38
            "description": "Provider's contact information"
39 39
          },
40 40
          "services": {
41 41
            "type": "array",
42 42
            "items": {
43 -
              "type": "string",
44 -
              "knownValues": [
45 -
                "atproto_pds",
46 -
                "bsky_appview",
47 -
                "bsky_notif"
48 -
              ]
43 +
              "ref": "#service",
44 +
              "type": "ref"
49 45
            },
50 46
            "description": "The services offered by the provider as listed in the provider's DID document."
51 47
          },
52 48
          "legalName": {
53 49
            "type": "string",
54 50
            "maxLength": 64,
55 51
            "description": "Provider's full legal name",
56 52
            "maxGraphemes": 640
57 53
          },
58 54
          "description": {
59 55
            "type": "string",
60 56
            "maxLength": 256,
61 57
            "description": "Description of the services distinguish and are offered by provider.",
62 58
            "maxGraphemes": 2560
63 59
          },
64 60
          "displayName": {
65 61
            "type": "string",
66 62
            "maxLength": 15,
67 63
            "description": "Abbreviated name for displaying in limited UI space presentations (e.g. button label).",
68 64
            "maxGraphemes": 150
69 65
          }
70 66
        }
71 67
      },
72 68
      "description": "A declaration of an Atmosphere service provider."
73 69
    },
74 70
    "links": {
75 71
      "type": "object",
76 72
      "required": [
77 73
        "website",
78 74
        "privacyPolicy",
79 75
        "termsOfService"
80 76
      ],
81 77
      "properties": {
82 78
        "website": {
83 79
          "type": "string",
84 80
          "format": "uri",
85 81
          "description": "Provider's website reference."
86 82
        },
87 83
        "privacyPolicy": {
88 84
          "type": "string",
89 85
          "format": "uri",
90 86
          "description": "Link reference to the provider's privacy policy."
91 87
        },
92 88
        "termsOfService": {
93 89
          "type": "string",
94 90
          "format": "uri",
95 91
          "description": "Link reference to the provider's terms of service."
96 92
        }
97 93
      }
98 94
    },
99 95
    "theme": {
100 96
      "type": "object",
101 97
      "properties": {
102 98
        "logoPNG": {
103 99
          "type": "string",
104 100
          "maxLength": 4096,
105 101
          "description": "Providers branded logo in PNG format (base64 encoded). Optional.",
106 102
          "maxGraphemes": 40960
107 103
        },
108 104
        "logoSVG": {
109 105
          "type": "string",
110 106
          "maxLength": 4096,
111 107
          "description": "Providers branded template logo in SVG format. Optional.",
112 108
          "maxGraphemes": 40960
113 109
        },
114 110
        "colorDark": {
115 111
          "type": "string",
116 112
          "maxLength": 7,
117 113
          "description": "HEX color code to use in dark mode presentations. Optional.",
118 114
          "maxGraphemes": 70
119 115
        },
120 116
        "colorLight": {
121 117
          "type": "string",
122 118
          "maxLength": 7,
123 119
          "description": "HEX color code to use in light mode presentations. Optional.",
124 120
          "maxGraphemes": 70
125 121
        }
126 122
      }
127 123
    },
128 124
    "contact": {
129 125
      "type": "object",
130 126
      "required": [
131 127
        "email"
132 128
      ],
133 129
      "properties": {
134 130
        "email": {
135 131
          "type": "string",
136 132
          "description": "Provider's support email address."
137 133
        },
138 134
        "phone": {
139 135
          "type": "string",
140 136
          "description": "Provider's support phone number."
141 137
        }
142 138
      }
143 139
    },
144 140
    "service": {
145 -
      "type": "object"
141 +
      "type": "object",
142 +
      "required": [
143 +
        "id",
144 +
        "uri"
145 +
      ],
146 +
      "properties": {
147 +
        "id": {
148 +
          "type": "string",
149 +
          "maxLength": 64,
150 +
          "description": "A service identifier",
151 +
          "maxGraphemes": 640
152 +
        },
153 +
        "uri": {
154 +
          "type": "string",
155 +
          "format": "uri",
156 +
          "description": "Service identifier's URI"
157 +
        }
158 +
      }
146 159
    }
147 160
  },
148 161
  "$type": "com.atproto.lexicon.schema",
149 162
  "lexicon": 1,
150 163
  "createdAt": "2026-04-19T22:58:04.496Z"
151 164
}

Compare Other Versions

Lexicon Garden

@