app.standard-reader.getAuthor

standard-reader.app

Schema Diff

+34 -20

From

CID
bafyreihoofacsiv...
Indexed At
2026-06-13 04:56 UTC
View this version

To

CID
bafyreigyby3v2ql...
Indexed At
2026-07-21 07:06 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

13 breaking changes, 17 non-breaking changes.

Breaking Changes (13)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.standard-reader.getAuthor:output", src: "app.standard-reader.getAuthor:output", tgt: "app.standard-reader.getAuthor:output.publications", kind: "prop", name: Some("publications") }
  • RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.documentCount" }
  • RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.followingCount" }
  • RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.likeCount" }
  • RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.publicationCount" }
  • RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.subscriberCount" }
  • RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.documentCount", kind: "prop", name: Some("documentCount") }
  • RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.followingCount", kind: "prop", name: Some("followingCount") }
  • RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.likeCount", kind: "prop", name: Some("likeCount") }
  • RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.publicationCount", kind: "prop", name: Some("publicationCount") }
  • RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
  • KindChanged KindChanged { vertex_id: "app.standard-reader.getAuthor:output.stats", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.standard-reader.getAuthor:output.stats", sort: "ref", value: "app.standard-reader.getAuthor#stats" }
Non-Breaking Changes (17)
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.defs#publicationView" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.documentCount" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.followingCount" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.likeCount" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.publicationCount" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.subscriberCount" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications" }
  • AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications:items" }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.documentCount", kind: "prop", name: Some("documentCount") }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.followingCount", kind: "prop", name: Some("followingCount") }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.likeCount", kind: "prop", name: Some("likeCount") }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.publicationCount", kind: "prop", name: Some("publicationCount") }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor:output.publications", tgt: "app.standard-reader.getAuthor:output.publications:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor:output.publications:items", tgt: "app.standard-reader.defs#publicationView", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor#stats", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.documentCount" }
  • RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.followingCount" }
  • RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.likeCount" }
  • RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.publicationCount" }
  • RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.subscriberCount" }

Added Elements

  • AddedVertex { vertex_id: "app.standard-reader.defs#publicationView" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.documentCount" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.followingCount" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.likeCount" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.publicationCount" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.subscriberCount" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications" }
  • AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications:items" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "app.standard-reader.getAuthor:output.stats", sort: "ref", value: "app.standard-reader.getAuthor#stats" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.standard-reader.getAuthor:output", src: "app.standard-reader.getAuthor:output", tgt: "app.standard-reader.getAuthor:output.publications", kind: "prop", name: Some("publications") }
  • Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.documentCount", kind: "prop", name: Some("documentCount") }
  • Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.followingCount", kind: "prop", name: Some("followingCount") }
  • Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.likeCount", kind: "prop", name: Some("likeCount") }
  • Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.publicationCount", kind: "prop", name: Some("publicationCount") }
  • Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
  • Breaking: KindChanged { vertex_id: "app.standard-reader.getAuthor:output.stats", old_kind: "object", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.documentCount", kind: "prop", name: Some("documentCount") }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.followingCount", kind: "prop", name: Some("followingCount") }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.likeCount", kind: "prop", name: Some("likeCount") }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.publicationCount", kind: "prop", name: Some("publicationCount") }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor:output.publications", tgt: "app.standard-reader.getAuthor:output.publications:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor:output.publications:items", tgt: "app.standard-reader.defs#publicationView", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor#stats", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "Author profile for a DID with aggregate stats.",
5 +
      "description": "Author profile for a DID with aggregate stats and a first page of their publications.",
6 6
      "output": {
7 7
        "encoding": "application/json",
8 8
        "schema": {
9 9
          "properties": {
10 10
            "profile": {
11 11
              "ref": "app.standard-reader.defs#profileView",
12 12
              "type": "ref"
13 13
            },
14 +
            "publications": {
15 +
              "description": "The author's publications, owned first then featured, newest activity first. A convenience first page; use getAuthorPublications to page through the full set.",
16 +
              "items": {
17 +
                "ref": "app.standard-reader.defs#publicationView",
18 +
                "type": "ref"
19 +
              },
20 +
              "type": "array"
21 +
            },
14 22
            "stats": {
15 -
              "properties": {
16 -
                "documentCount": {
17 -
                  "type": "integer"
18 -
                },
19 -
                "followingCount": {
20 -
                  "type": "integer"
21 -
                },
22 -
                "likeCount": {
23 -
                  "type": "integer"
24 -
                },
25 -
                "publicationCount": {
26 -
                  "type": "integer"
27 -
                },
28 -
                "subscriberCount": {
29 -
                  "type": "integer"
30 -
                }
31 -
              },
32 -
              "type": "object"
23 +
              "ref": "app.standard-reader.getAuthor#stats",
24 +
              "type": "ref"
33 25
            }
34 26
          },
35 27
          "required": [
36 28
            "profile",
37 -
            "stats"
29 +
            "stats",
30 +
            "publications"
38 31
          ],
39 32
          "type": "object"
40 33
        }
41 34
      },
42 35
      "parameters": {
43 36
        "properties": {
44 37
          "did": {
45 38
            "format": "did",
46 39
            "type": "string"
47 40
          }
48 41
        },
49 42
        "required": [
50 43
          "did"
51 44
        ],
52 45
        "type": "params"
53 46
      },
54 47
      "type": "query"
48 +
    },
49 +
    "stats": {
50 +
      "description": "Aggregate author counts shown on the profile header.",
51 +
      "properties": {
52 +
        "documentCount": {
53 +
          "type": "integer"
54 +
        },
55 +
        "followingCount": {
56 +
          "type": "integer"
57 +
        },
58 +
        "likeCount": {
59 +
          "type": "integer"
60 +
        },
61 +
        "publicationCount": {
62 +
          "type": "integer"
63 +
        },
64 +
        "subscriberCount": {
65 +
          "type": "integer"
66 +
        }
67 +
      },
68 +
      "type": "object"
55 69
    }
56 70
  },
57 71
  "id": "app.standard-reader.getAuthor",
58 72
  "lexicon": 1
59 73
}

Compare Other Versions

Lexicon Garden

@