dev.knotless.describeServer

lexicons.knotless.dev

Schema Diff

+23 -1

From

CID
bafyreigownrg2k2...
Indexed At
2026-10-28 21:21 UTC
View this version

To

CID
bafyreifeeg2rznu...
Indexed At
2026-10-30 01:56 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 7 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.knotless.describeServer#client", src: "dev.knotless.describeServer#client", tgt: "dev.knotless.describeServer#client.minimum", kind: "prop", name: Some("minimum") }
Non-Breaking Changes (7)
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.describeServer#client" }
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.describeServer#client.minimum" }
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.describeServer#client.reason" }
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.describeServer:output.client" }
  • AddedEdge AddedEdge { src: "dev.knotless.describeServer#client", tgt: "dev.knotless.describeServer#client.reason", kind: "prop", name: Some("reason") }
  • AddedEdge AddedEdge { src: "dev.knotless.describeServer:output", tgt: "dev.knotless.describeServer:output.client", kind: "prop", name: Some("client") }
  • AddedEdge AddedEdge { src: "dev.knotless.describeServer:output.client", tgt: "dev.knotless.describeServer#client", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "dev.knotless.describeServer#client" }
  • AddedVertex { vertex_id: "dev.knotless.describeServer#client.minimum" }
  • AddedVertex { vertex_id: "dev.knotless.describeServer#client.reason" }
  • AddedVertex { vertex_id: "dev.knotless.describeServer:output.client" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "dev.knotless.describeServer#client", src: "dev.knotless.describeServer#client", tgt: "dev.knotless.describeServer#client.minimum", kind: "prop", name: Some("minimum") }
  • Non-breaking: AddedEdge { src: "dev.knotless.describeServer#client", tgt: "dev.knotless.describeServer#client.reason", kind: "prop", name: Some("reason") }
  • Non-breaking: AddedEdge { src: "dev.knotless.describeServer:output", tgt: "dev.knotless.describeServer:output.client", kind: "prop", name: Some("client") }
  • Non-breaking: AddedEdge { src: "dev.knotless.describeServer:output.client", tgt: "dev.knotless.describeServer#client", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 +
    "client": {
5 +
      "description": "The oldest version of knotless's client the appview asks clients to be, set when an older one harms what it touches. A client older than it refuses to run, but to upgrade, until it is upgraded. The newest release is at the appview's /releases/latest.",
6 +
      "properties": {
7 +
        "minimum": {
8 +
          "description": "A version, as Semantic Versioning 2.0 writes one.",
9 +
          "type": "string"
10 +
        },
11 +
        "reason": {
12 +
          "description": "Why it asks for it, said to whoever runs an older one.",
13 +
          "type": "string"
14 +
        }
15 +
      },
16 +
      "required": [
17 +
        "minimum"
18 +
      ],
19 +
      "type": "object"
20 +
    },
4 21
    "main": {
5 -
      "description": "What this appview offers the clients that use it: the runners a new public repository names unless its owner names others. No authentication; responses are not personalized.",
22 +
      "description": "What this appview offers the clients that use it: the runners a new public repository names unless its owner names others, and the oldest client version it asks for. No authentication; responses are not personalized.",
6 23
      "output": {
7 24
        "encoding": "application/json",
8 25
        "schema": {
9 26
          "properties": {
27 +
            "client": {
28 +
              "description": "The oldest client version this appview asks for. Absent, it asks for none.",
29 +
              "ref": "#client",
30 +
              "type": "ref"
31 +
            },
10 32
            "runners": {
11 33
              "description": "The accounts a new public repository's record names in `runners` unless its owner names others: a runner this appview's operator keeps for whoever names it. Absent or empty, it names none.",
12 34
              "items": {
13 35
                "ref": "dev.knotless.repo#runner",
14 36
                "type": "ref"
15 37
              },
16 38
              "maxLength": 32,
17 39
              "type": "array"
18 40
            }
19 41
          },
20 42
          "type": "object"
21 43
        }
22 44
      },
23 45
      "type": "query"
24 46
    }
25 47
  },
26 48
  "description": "What an appview offers the clients that use it.",
27 49
  "id": "dev.knotless.describeServer",
28 50
  "lexicon": 1
29 51
}

Compare Other Versions

Lexicon Garden

@