at.marque.dns

marque.at

Schema Diff

+8 -2

From

CID
bafyreiawrmgofwe...
Indexed At
2026-05-13 01:13 UTC
View this version

To

CID
bafyreigxujxkukg...
Indexed At
2026-06-11 19:40 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 3 non-breaking changes.

Non-Breaking Changes (3)
  • AddedVertex AddedVertex { vertex_id: "at.marque.dns:body.subject" }
  • AddedEdge AddedEdge { src: "at.marque.dns:body", tgt: "at.marque.dns:body.subject", kind: "prop", name: Some("subject") }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "at.marque.dns#entry.ttl", sort: "minimum", old_value: "60", new_value: "1" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "at.marque.dns:body.subject" }

Constraint Changes

  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "at.marque.dns#entry.ttl", sort: "minimum", old_value: "60", new_value: "1" }

Additional Notes

  • Non-breaking: AddedEdge { src: "at.marque.dns:body", tgt: "at.marque.dns:body.subject", kind: "prop", name: Some("subject") }
1 1
{
2 2
  "id": "at.marque.dns",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "any",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "domain",
11 +
          "subject",
11 12
          "records",
12 13
          "createdAt"
13 14
        ],
14 15
        "properties": {
15 16
          "domain": {
16 17
            "type": "string",
17 18
            "maxLength": 253,
18 -
            "description": "Fully qualified domain name this zone belongs to."
19 +
            "description": "Fully qualified domain name this zone belongs to. Denormalized from the subject record so consumers can read the FQDN without resolving the reference."
19 20
          },
20 21
          "records": {
21 22
            "type": "array",
22 23
            "items": {
23 24
              "ref": "#entry",
24 25
              "type": "ref"
25 26
            },
26 27
            "description": "The DNS resource records in this zone."
27 28
          },
29 +
          "subject": {
30 +
            "ref": "com.atproto.repo.strongRef",
31 +
            "type": "ref",
32 +
            "description": "Strong reference to the at.marque.domain record this zone belongs to."
33 +
          },
28 34
          "createdAt": {
29 35
            "type": "string",
30 36
            "format": "datetime",
31 37
            "description": "Client-declared timestamp when this record was last written."
32 38
          }
33 39
        }
34 40
      },
35 41
      "description": "Record containing the DNS zone entries for a domain managed by Marque. The record key matches the corresponding at.marque.domain record key (the FQDN)."
36 42
    },
37 43
    "entry": {
38 44
      "type": "object",
39 45
      "required": [
40 46
        "name",
41 47
        "recordType",
42 48
        "value",
43 49
        "ttl"
44 50
      ],
45 51
      "properties": {
46 52
        "ttl": {
47 53
          "type": "integer",
48 -
          "minimum": 60,
54 +
          "minimum": 1,
49 55
          "description": "Time-to-live in seconds."
50 56
        },
51 57
        "name": {
52 58
          "type": "string",
53 59
          "maxLength": 253,
54 60
          "description": "Record name relative to the zone apex. Use '@' for the apex itself."
55 61
        },
56 62
        "value": {
57 63
          "type": "string",
58 64
          "maxLength": 4096,
59 65
          "description": "Record value / rdata."
60 66
        },
61 67
        "priority": {
62 68
          "type": "integer",
63 69
          "description": "Priority value for MX and SRV records."
64 70
        },
65 71
        "recordType": {
66 72
          "type": "string",
67 73
          "description": "DNS record type.",
68 74
          "knownValues": [
69 75
            "A",
70 76
            "AAAA",
71 77
            "CNAME",
72 78
            "MX",
73 79
            "TXT",
74 80
            "SRV",
75 81
            "NS",
76 82
            "CAA"
77 83
          ]
78 84
        }
79 85
      },
80 86
      "description": "A single DNS resource record."
81 87
    }
82 88
  },
83 89
  "$type": "com.atproto.lexicon.schema",
84 90
  "lexicon": 1,
85 91
  "description": "DNS zone records for a domain where Marque handles the nameservers. Stored in the user's repository."
86 92
}

Compare Other Versions

Lexicon Garden

@