site.standard.document

standard.site

Schema Diff

+41 -0

From

CID
bafyreifzalrdier...
Indexed At
2026-02-20 20:46 UTC
View this version

To

CID
bafyreifylc5lfr4...
Indexed At
2026-04-19 21:11 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 17 non-breaking changes.

Breaking Changes (4)
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.displayName", sort: "maxGraphemes", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.displayName", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.role", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.role", sort: "maxGraphemes", value: "100" }
Non-Breaking Changes (17)
  • AddedVertex AddedVertex { vertex_id: "site.standard.document#contributor" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document#contributor.did" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document#contributor.displayName" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document#contributor.role" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document:body.contributors" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document:body.contributors:items" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document:body.labels" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document:body.labels:variant0" }
  • AddedVertex AddedVertex { vertex_id: "site.standard.document:body.links" }
  • AddedEdge AddedEdge { src: "site.standard.document#contributor", tgt: "site.standard.document#contributor.did", kind: "prop", name: Some("did") }
  • AddedEdge AddedEdge { src: "site.standard.document#contributor", tgt: "site.standard.document#contributor.displayName", kind: "prop", name: Some("displayName") }
  • AddedEdge AddedEdge { src: "site.standard.document#contributor", tgt: "site.standard.document#contributor.role", kind: "prop", name: Some("role") }
  • AddedEdge AddedEdge { src: "site.standard.document:body", tgt: "site.standard.document:body.contributors", kind: "prop", name: Some("contributors") }
  • AddedEdge AddedEdge { src: "site.standard.document:body", tgt: "site.standard.document:body.labels", kind: "prop", name: Some("labels") }
  • AddedEdge AddedEdge { src: "site.standard.document:body", tgt: "site.standard.document:body.links", kind: "prop", name: Some("links") }
  • AddedEdge AddedEdge { src: "site.standard.document:body.contributors", tgt: "site.standard.document:body.contributors:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "site.standard.document:body.labels", tgt: "site.standard.document:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "site.standard.document#contributor" }
  • AddedVertex { vertex_id: "site.standard.document#contributor.did" }
  • AddedVertex { vertex_id: "site.standard.document#contributor.displayName" }
  • AddedVertex { vertex_id: "site.standard.document#contributor.role" }
  • AddedVertex { vertex_id: "site.standard.document:body.contributors" }
  • AddedVertex { vertex_id: "site.standard.document:body.contributors:items" }
  • AddedVertex { vertex_id: "site.standard.document:body.labels" }
  • AddedVertex { vertex_id: "site.standard.document:body.labels:variant0" }
  • AddedVertex { vertex_id: "site.standard.document:body.links" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.role", sort: "maxGraphemes", value: "100" }
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.role", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.displayName", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "site.standard.document#contributor.displayName", sort: "maxGraphemes", value: "100" }

Additional Notes

  • Non-breaking: AddedEdge { src: "site.standard.document#contributor", tgt: "site.standard.document#contributor.did", kind: "prop", name: Some("did") }
  • Non-breaking: AddedEdge { src: "site.standard.document#contributor", tgt: "site.standard.document#contributor.displayName", kind: "prop", name: Some("displayName") }
  • Non-breaking: AddedEdge { src: "site.standard.document#contributor", tgt: "site.standard.document#contributor.role", kind: "prop", name: Some("role") }
  • Non-breaking: AddedEdge { src: "site.standard.document:body", tgt: "site.standard.document:body.contributors", kind: "prop", name: Some("contributors") }
  • Non-breaking: AddedEdge { src: "site.standard.document:body", tgt: "site.standard.document:body.labels", kind: "prop", name: Some("labels") }
  • Non-breaking: AddedEdge { src: "site.standard.document:body", tgt: "site.standard.document:body.links", kind: "prop", name: Some("links") }
  • Non-breaking: AddedEdge { src: "site.standard.document:body.contributors", tgt: "site.standard.document:body.contributors:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "site.standard.document:body.labels", tgt: "site.standard.document:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
1 1
{
2 2
  "id": "site.standard.document",
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
          "site",
11 11
          "title",
12 12
          "publishedAt"
13 13
        ],
14 14
        "properties": {
15 15
          "path": {
16 16
            "type": "string",
17 17
            "description": "Combine with site or publication url to construct a canonical URL to the document. Prepend with a leading slash."
18 18
          },
19 19
          "site": {
20 20
            "type": "string",
21 21
            "format": "uri",
22 22
            "description": "Points to a publication record (at://) or a publication url (https://) for loose documents. Avoid trailing slashes."
23 23
          },
24 24
          "tags": {
25 25
            "type": "array",
26 26
            "items": {
27 27
              "type": "string",
28 28
              "maxLength": 1280,
29 29
              "maxGraphemes": 128
30 30
            },
31 31
            "description": "Array of strings used to tag or categorize the document. Avoid prepending tags with hashtags."
32 32
          },
33 +
          "links": {
34 +
            "refs": [],
35 +
            "type": "union",
36 +
            "description": "Array of values describing relationships between this document and external resources"
37 +
          },
33 38
          "title": {
34 39
            "type": "string",
35 40
            "maxLength": 5000,
36 41
            "description": "Title of the document.",
37 42
            "maxGraphemes": 500
38 43
          },
44 +
          "labels": {
45 +
            "refs": [
46 +
              "com.atproto.label.defs#selfLabels"
47 +
            ],
48 +
            "type": "union",
49 +
            "description": "Self-label values for this post. Effectively content warnings."
50 +
          },
39 51
          "content": {
40 52
            "refs": [],
41 53
            "type": "union",
42 54
            "closed": false,
43 55
            "description": "Open union used to define the record's content. Each entry must specify a $type and may be extended with other lexicons to support additional content formats."
44 56
          },
45 57
          "updatedAt": {
46 58
            "type": "string",
47 59
            "format": "datetime",
48 60
            "description": "Timestamp of the documents last edit."
49 61
          },
50 62
          "coverImage": {
51 63
            "type": "blob",
52 64
            "accept": [
53 65
              "image/*"
54 66
            ],
55 67
            "maxSize": 1000000,
56 68
            "description": "Image to used for thumbnail or cover image. Less than 1MB is size."
57 69
          },
58 70
          "bskyPostRef": {
59 71
            "ref": "com.atproto.repo.strongRef",
60 72
            "type": "ref",
61 73
            "description": "Strong reference to a Bluesky post. Useful to keep track of comments off-platform."
62 74
          },
63 75
          "description": {
64 76
            "type": "string",
65 77
            "maxLength": 30000,
66 78
            "description": "A brief description or excerpt from the document.",
67 79
            "maxGraphemes": 3000
68 80
          },
69 81
          "publishedAt": {
70 82
            "type": "string",
71 83
            "format": "datetime",
72 84
            "description": "Timestamp of the documents publish time."
73 85
          },
74 86
          "textContent": {
75 87
            "type": "string",
76 88
            "description": "Plaintext representation of the documents contents. Should not contain markdown or other formatting."
89 +
          },
90 +
          "contributors": {
91 +
            "type": "array",
92 +
            "items": {
93 +
              "ref": "#contributor",
94 +
              "type": "ref"
95 +
            }
77 96
          }
78 97
        }
79 98
      },
80 99
      "description": "A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently."
100 +
    },
101 +
    "contributor": {
102 +
      "type": "object",
103 +
      "required": [
104 +
        "did"
105 +
      ],
106 +
      "properties": {
107 +
        "did": {
108 +
          "type": "string",
109 +
          "format": "did"
110 +
        },
111 +
        "role": {
112 +
          "type": "string",
113 +
          "maxLength": 1000,
114 +
          "maxGraphemes": 100
115 +
        },
116 +
        "displayName": {
117 +
          "type": "string",
118 +
          "maxLength": 1000,
119 +
          "maxGraphemes": 100
120 +
        }
121 +
      }
81 122
    }
82 123
  },
83 124
  "$type": "com.atproto.lexicon.schema",
84 125
  "lexicon": 1
85 126
}

Compare Other Versions

Lexicon Garden

@