cx.vmx.matadisco

vmx.cx

Schema Diff

+42 -23

From

CID
bafyreiesrpvuclc...
Indexed At
2026-03-04 12:38 UTC
View this version

To

CID
bafyreia3vwhxndj...
Indexed At
2026-07-22 12:43 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

13 breaking changes, 13 non-breaking changes.

Breaking Changes (13)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.resource", kind: "prop", name: Some("resource") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.publishedAt", kind: "prop", name: Some("publishedAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco#preview", src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.mimeType", kind: "prop", name: Some("mimeType") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.metadata", kind: "prop", name: Some("metadata") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.created", kind: "prop", name: Some("created") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.mimeType", kind: "prop", name: Some("mimeType") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.url", kind: "prop", name: Some("url") }
  • RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.created" }
  • RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.metadata" }
  • RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.mimeType" }
  • RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.url" }
  • KindChanged KindChanged { vertex_id: "cx.vmx.matadisco:body.preview", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco:body.preview", sort: "ref", value: "#preview" }
Non-Breaking Changes (13)
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#preview" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#preview.mimeType" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#preview.url" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#tags" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#tags:items" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco:body.publishedAt" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco:body.resource" }
  • AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco:body.tags" }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.url", kind: "prop", name: Some("url") }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco#tags", tgt: "cx.vmx.matadisco#tags:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.tags", kind: "prop", name: Some("tags") }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco#preview", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco:body.tags", tgt: "cx.vmx.matadisco#tags", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "cx.vmx.matadisco:body.created" }
  • RemovedVertex { vertex_id: "cx.vmx.matadisco:body.metadata" }
  • RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.mimeType" }
  • RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.url" }

Added Elements

  • AddedVertex { vertex_id: "cx.vmx.matadisco#preview" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco#preview.mimeType" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco#preview.url" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco#tags" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco#tags:items" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco:body.publishedAt" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco:body.resource" }
  • AddedVertex { vertex_id: "cx.vmx.matadisco:body.tags" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco:body.preview", sort: "ref", value: "#preview" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.resource", kind: "prop", name: Some("resource") }
  • Breaking: RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.publishedAt", kind: "prop", name: Some("publishedAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco#preview", src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.mimeType", kind: "prop", name: Some("mimeType") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.mimeType", kind: "prop", name: Some("mimeType") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.url", kind: "prop", name: Some("url") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.metadata", kind: "prop", name: Some("metadata") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.created", kind: "prop", name: Some("created") }
  • Breaking: KindChanged { vertex_id: "cx.vmx.matadisco:body.preview", old_kind: "object", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.url", kind: "prop", name: Some("url") }
  • Non-breaking: AddedEdge { src: "cx.vmx.matadisco#tags", tgt: "cx.vmx.matadisco#tags:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.tags", kind: "prop", name: Some("tags") }
  • Non-breaking: AddedEdge { src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco#preview", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "cx.vmx.matadisco:body.tags", tgt: "cx.vmx.matadisco#tags", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A Matadisco record",
6 -
      "key": "tid",
6 +
      "key": "any",
7 7
      "record": {
8 8
        "properties": {
9 -
          "created": {
10 -
            "description": "The time the metadata record was created",
9 +
          "preview": {
10 +
            "ref": "#preview",
11 +
            "type": "ref"
12 +
          },
13 +
          "publishedAt": {
14 +
            "description": "The time the original metadata/data was published",
11 15
            "format": "datetime",
12 16
            "type": "string"
13 17
          },
14 -
          "metadata": {
15 -
            "description": "A URI containing metadata",
18 +
          "resource": {
19 +
            "description": "A URI that links to resource containing the metadata",
16 20
            "format": "uri",
17 21
            "type": "string"
18 22
          },
19 -
          "preview": {
20 -
            "description": "Preview of the data",
21 -
            "properties": {
22 -
              "mimeType": {
23 -
                "type": "string"
24 -
              },
25 -
              "url": {
26 -
                "format": "uri",
27 -
                "type": "string"
28 -
              }
29 -
            },
30 -
            "required": [
31 -
              "url",
32 -
              "mimeType"
33 -
            ],
34 -
            "type": "object"
23 +
          "tags": {
24 +
            "ref": "#tags",
25 +
            "type": "ref"
35 26
          }
36 27
        },
37 28
        "required": [
38 -
          "metadata",
39 -
          "created"
29 +
          "publishedAt",
30 +
          "resource"
40 31
        ],
41 32
        "type": "object"
42 33
      },
43 34
      "type": "record"
35 +
    },
36 +
    "preview": {
37 +
      "description": "Preview of the data",
38 +
      "properties": {
39 +
        "mimeType": {
40 +
          "description": "The media type the preview has",
41 +
          "type": "string"
42 +
        },
43 +
        "url": {
44 +
          "description": "The URL to the preview",
45 +
          "format": "uri",
46 +
          "type": "string"
47 +
        }
48 +
      },
49 +
      "required": [
50 +
        "mimeType"
51 +
      ],
52 +
      "type": "object"
53 +
    },
54 +
    "tags": {
55 +
      "description": "Tags that describe the metadata. A tag might have a corresponding top-level key with the same name.",
56 +
      "items": {
57 +
        "maxLength": 200,
58 +
        "minLength": 1,
59 +
        "type": "string"
60 +
      },
61 +
      "maxLength": 20,
62 +
      "type": "array"
44 63
    }
45 64
  },
46 65
  "id": "cx.vmx.matadisco",
47 66
  "lexicon": 1
48 67
}

Compare Other Versions

Lexicon Garden

@