net.atview.project

atview.net

Schema Diff

+62 -42

From

CID
bafyreifqqfs4hph...
Indexed At
2026-04-30 08:41 UTC
View this version

To

CID
bafyreibxrrzi4x6...
Indexed At
2026-05-02 19:52 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

17 breaking changes, 24 non-breaking changes.

Breaking Changes (17)
  • RemovedVertex RemovedVertex { vertex_id: "net.atview.project.avatar" }
  • RemovedVertex RemovedVertex { vertex_id: "net.atview.project.banner" }
  • RemovedVertex RemovedVertex { vertex_id: "net.atview.project.description" }
  • RemovedVertex RemovedVertex { vertex_id: "net.atview.project.displayName" }
  • RemovedVertex RemovedVertex { vertex_id: "net.atview.project.handle" }
  • RemovedVertex RemovedVertex { vertex_id: "net.atview.project.href" }
  • RemovedEdge RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.avatar", kind: "prop", name: Some("avatar") }
  • RemovedEdge RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.banner", kind: "prop", name: Some("banner") }
  • RemovedEdge RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.description", kind: "prop", name: Some("description") }
  • RemovedEdge RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.displayName", kind: "prop", name: Some("displayName") }
  • RemovedEdge RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.handle", kind: "prop", name: Some("handle") }
  • RemovedEdge RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.href", kind: "prop", name: Some("href") }
  • KindChanged KindChanged { vertex_id: "net.atview.project", old_kind: "object", new_kind: "record" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.description", sort: "maxLength", value: "10000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.description", sort: "maxGraphemes", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.displayName", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.displayName", sort: "maxGraphemes", value: "100" }
Non-Breaking Changes (24)
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.avatar" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.banner" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.description" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.displayName" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.docs" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.github" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.handle" }
  • AddedVertex AddedVertex { vertex_id: "net.atview.project:body.href" }
  • AddedEdge AddedEdge { src: "net.atview.project", tgt: "net.atview.project:body", kind: "record-schema", name: None }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.avatar", kind: "prop", name: Some("avatar") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.banner", kind: "prop", name: Some("banner") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.createdAt", kind: "prop", name: Some("createdAt") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.description", kind: "prop", name: Some("description") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.displayName", kind: "prop", name: Some("displayName") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.docs", kind: "prop", name: Some("docs") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.github", kind: "prop", name: Some("github") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.handle", kind: "prop", name: Some("handle") }
  • AddedEdge AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.href", kind: "prop", name: Some("href") }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.displayName", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.displayName", sort: "maxGraphemes" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.description", sort: "maxGraphemes" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.description", sort: "maxLength" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "net.atview.project.avatar" }
  • RemovedVertex { vertex_id: "net.atview.project.banner" }
  • RemovedVertex { vertex_id: "net.atview.project.description" }
  • RemovedVertex { vertex_id: "net.atview.project.displayName" }
  • RemovedVertex { vertex_id: "net.atview.project.handle" }
  • RemovedVertex { vertex_id: "net.atview.project.href" }

Added Elements

  • AddedVertex { vertex_id: "net.atview.project:body" }
  • AddedVertex { vertex_id: "net.atview.project:body.avatar" }
  • AddedVertex { vertex_id: "net.atview.project:body.banner" }
  • AddedVertex { vertex_id: "net.atview.project:body.createdAt" }
  • AddedVertex { vertex_id: "net.atview.project:body.description" }
  • AddedVertex { vertex_id: "net.atview.project:body.displayName" }
  • AddedVertex { vertex_id: "net.atview.project:body.docs" }
  • AddedVertex { vertex_id: "net.atview.project:body.github" }
  • AddedVertex { vertex_id: "net.atview.project:body.handle" }
  • AddedVertex { vertex_id: "net.atview.project:body.href" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.description", sort: "maxGraphemes", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.description", sort: "maxLength", value: "10000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.displayName", sort: "maxLength", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "net.atview.project:body.displayName", sort: "maxGraphemes", value: "100" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.displayName", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.displayName", sort: "maxGraphemes" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.description", sort: "maxLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "net.atview.project.description", sort: "maxGraphemes" }

Additional Notes

  • Breaking: RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.avatar", kind: "prop", name: Some("avatar") }
  • Breaking: RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.banner", kind: "prop", name: Some("banner") }
  • Breaking: RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.description", kind: "prop", name: Some("description") }
  • Breaking: RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.displayName", kind: "prop", name: Some("displayName") }
  • Breaking: RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.handle", kind: "prop", name: Some("handle") }
  • Breaking: RemovedEdge { src: "net.atview.project", tgt: "net.atview.project.href", kind: "prop", name: Some("href") }
  • Breaking: KindChanged { vertex_id: "net.atview.project", old_kind: "object", new_kind: "record" }
  • Non-breaking: AddedEdge { src: "net.atview.project", tgt: "net.atview.project:body", kind: "record-schema", name: None }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.avatar", kind: "prop", name: Some("avatar") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.banner", kind: "prop", name: Some("banner") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.createdAt", kind: "prop", name: Some("createdAt") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.description", kind: "prop", name: Some("description") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.displayName", kind: "prop", name: Some("displayName") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.docs", kind: "prop", name: Some("docs") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.github", kind: "prop", name: Some("github") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.handle", kind: "prop", name: Some("handle") }
  • Non-breaking: AddedEdge { src: "net.atview.project:body", tgt: "net.atview.project:body.href", kind: "prop", name: Some("href") }
1 1
{
2 2
  "id": "net.atview.project",
3 3
  "defs": {
4 4
    "main": {
5 -
      "type": "object",
6 -
      "required": [
7 -
        "handle"
8 -
      ],
9 -
      "properties": {
10 -
        "href": {
11 -
          "type": "string",
12 -
          "format": "uri",
13 -
          "description": "Primary external URL for the project (e.g. project homepage)."
14 -
        },
15 -
        "avatar": {
16 -
          "type": "blob",
17 -
          "accept": [
18 -
            "image/*"
19 -
          ],
20 -
          "maxSize": 1000000,
21 -
          "description": "Avatar image representing the project. Less than 1MB in size."
22 -
        },
23 -
        "banner": {
24 -
          "type": "blob",
25 -
          "accept": [
26 -
            "image/*"
27 -
          ],
28 -
          "maxSize": 1000000,
29 -
          "description": "Banner image used as the project's cover. Less than 1MB in size."
30 -
        },
31 -
        "handle": {
32 -
          "type": "string",
33 -
          "format": "handle",
34 -
          "description": "Canonical handle identifying the project (e.g. `myproject.example.com`)."
35 -
        },
36 -
        "description": {
37 -
          "type": "string",
38 -
          "maxLength": 10000,
39 -
          "description": "Short description of the project.",
40 -
          "maxGraphemes": 1000
41 -
        },
42 -
        "displayName": {
43 -
          "type": "string",
44 -
          "maxLength": 1000,
45 -
          "description": "Display name of the project as shown in user interfaces.",
46 -
          "maxGraphemes": 100
5 +
      "key": "tid",
6 +
      "type": "record",
7 +
      "record": {
8 +
        "type": "object",
9 +
        "required": [
10 +
          "createdAt",
11 +
          "handle",
12 +
          "displayName"
13 +
        ],
14 +
        "properties": {
15 +
          "docs": {
16 +
            "type": "string",
17 +
            "format": "uri",
18 +
            "description": "URL of the project's documentation."
19 +
          },
20 +
          "href": {
21 +
            "type": "string",
22 +
            "format": "uri",
23 +
            "description": "Primary external URL for the project (e.g. project homepage)."
24 +
          },
25 +
          "avatar": {
26 +
            "type": "blob",
27 +
            "accept": [
28 +
              "image/*"
29 +
            ],
30 +
            "maxSize": 1000000,
31 +
            "description": "Avatar image representing the project. Less than 1MB in size."
32 +
          },
33 +
          "banner": {
34 +
            "type": "blob",
35 +
            "accept": [
36 +
              "image/*"
37 +
            ],
38 +
            "maxSize": 1000000,
39 +
            "description": "Banner image used as the project's cover. Less than 1MB in size."
40 +
          },
41 +
          "github": {
42 +
            "type": "string",
43 +
            "format": "uri",
44 +
            "description": "URL of the project's GitHub repository."
45 +
          },
46 +
          "handle": {
47 +
            "type": "string",
48 +
            "format": "handle",
49 +
            "description": "Canonical handle identifying the project (e.g. `myproject.example.com`)."
50 +
          },
51 +
          "createdAt": {
52 +
            "type": "string",
53 +
            "format": "datetime"
54 +
          },
55 +
          "description": {
56 +
            "type": "string",
57 +
            "maxLength": 10000,
58 +
            "description": "Short description of the project.",
59 +
            "maxGraphemes": 1000
60 +
          },
61 +
          "displayName": {
62 +
            "type": "string",
63 +
            "maxLength": 1000,
64 +
            "description": "Display name of the project as shown in user interfaces.",
65 +
            "maxGraphemes": 100
66 +
          }
47 67
        }
48 68
      },
49 69
      "description": "Reference to a project. Identified by a handle and enriched with optional human-friendly metadata, links and visuals."
50 70
    }
51 71
  },
52 72
  "$type": "com.atproto.lexicon.schema",
53 73
  "lexicon": 1
54 74
}

Compare Other Versions

Lexicon Garden

@