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": 15174
}