full diff

dev.knotless.describeServer

From
bafyreifeeg2rznuzhgokkun5xuvz5wtffboyzgogpwovjfzvkys5o2r25e indexed 2026-10-30 01:56 UTC View this version
To
bafyreif25g4px24a7ynhueubolfrj73he5v7ksve7b5htwfilqicuozbbq indexed 2026-11-07 17:30 UTC View this version

Compatibility

breaking 1 breaking change, 7 non-breaking changes.

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

Migration guidance

Added

  • AddedVertex { vertex_id: "dev.knotless.describeServer#ios" }
  • AddedVertex { vertex_id: "dev.knotless.describeServer#ios.minimumBuild" }
  • AddedVertex { vertex_id: "dev.knotless.describeServer#ios.reason" }
  • AddedVertex { vertex_id: "dev.knotless.describeServer:output.ios" }

Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "dev.knotless.describeServer#ios", src: "dev.knotless.describeServer#ios", tgt: "dev.knotless.describeServer#ios.minimumBuild", kind: "prop", name: Some("minimumBuild") }
  • Non-breaking: AddedEdge { src: "dev.knotless.describeServer#ios", tgt: "dev.knotless.describeServer#ios.reason", kind: "prop", name: Some("reason") }
  • Non-breaking: AddedEdge { src: "dev.knotless.describeServer:output", tgt: "dev.knotless.describeServer:output.ios", kind: "prop", name: Some("ios") }
  • Non-breaking: AddedEdge { src: "dev.knotless.describeServer:output.ios", tgt: "dev.knotless.describeServer#ios", kind: "ref", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "client": {
55 "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.",
66 "properties": {
77 "minimum": {
88 "description": "A version, as Semantic Versioning 2.0 writes one.",
99 "type": "string"
1010 },
1111 "reason": {
1212 "description": "Why it asks for it, said to whoever runs an older one.",
1313 "type": "string"
1414 }
1515 },
1616 "required": [
1717 "minimum"
1818 ],
1919 "type": "object"
2020 },
21 "ios": {
22 "description": "The oldest build of the iOS app the appview lets run, raised once a newer build is in people's reach. A build older shows only a way to update, and keeps doing so offline.",
23 "properties": {
24 "minimumBuild": {
25 "description": "A build number, the app's CFBundleVersion.",
26 "minimum": 1,
27 "type": "integer"
28 },
29 "reason": {
30 "description": "Why it asks for it, said to whoever runs an older one.",
31 "type": "string"
32 }
33 },
34 "required": [
35 "minimumBuild"
36 ],
37 "type": "object"
38 },
2139 "main": {
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.",
40 "description": "What this appview offers the clients that use it: the runners a new public repository names unless its owner names others, the oldest client version it asks for, and the oldest iOS build it lets run. No authentication; responses are not personalized.",
2341 "output": {
2442 "encoding": "application/json",
2543 "schema": {
2644 "properties": {
2745 "client": {
2846 "description": "The oldest client version this appview asks for. Absent, it asks for none.",
2947 "ref": "#client",
3048 "type": "ref"
3149 },
50 "ios": {
51 "description": "The oldest build of the iOS app this appview lets run. Absent, it lets any run.",
52 "ref": "#ios",
53 "type": "ref"
54 },
3255 "runners": {
3356 "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.",
3457 "items": {
3558 "ref": "dev.knotless.repo#runner",
3659 "type": "ref"
3760 },
3861 "maxLength": 32,
3962 "type": "array"
4063 }
4164 },
4265 "type": "object"
4366 }
4467 },
4568 "type": "query"
4669 }
4770 },
4871 "description": "What an appview offers the clients that use it.",
4972 "id": "dev.knotless.describeServer",
5073 "lexicon": 1
5174}

Compare other versions