cx.vmx.matadisco

vmx.cx

Schema Diff

+42 -24

From

CID
bafyreihyrdpbbrv...
Indexed At
2026-03-06 04:40 UTC
View this version

To

CID
bafyreic2fej47bg...
Indexed At
2026-04-17 10:30 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

11 breaking changes, 14 non-breaking changes.

Breaking Changes (11)
  • 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" }
  • RemovedEdge RemovedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.created", kind: "prop", name: Some("created") }
  • RemovedEdge RemovedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.metadata", kind: "prop", name: Some("metadata") }
  • RemovedEdge RemovedEdge { src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.mimeType", kind: "prop", name: Some("mimeType") }
  • RemovedEdge RemovedEdge { src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.url", kind: "prop", name: Some("url") }
  • KindChanged KindChanged { vertex_id: "cx.vmx.matadisco:body.preview", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco#tags:items", sort: "minLength", value: "1" }
  • ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco#tags:items", sort: "maxLength", value: "200" }
Non-Breaking Changes (14)
  • 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.mimeType", kind: "prop", name: Some("mimeType") }
  • 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.publishedAt", kind: "prop", name: Some("publishedAt") }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.resource", kind: "prop", name: Some("resource") }
  • AddedEdge AddedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.tags", kind: "prop", name: Some("tags") }

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#tags:items", sort: "minLength", value: "1" }
  • ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco#tags:items", sort: "maxLength", value: "200" }

Additional Notes

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

Compare Other Versions

Lexicon Garden

@