From
bafyreig7ebsqredv7id65afauuj4cslc7eteh74yh57t7qoyd6xbpmrvnq
indexed 2026-10-27 17:22 UTC
View this version
To
bafyreidpsmual353bayiminwegynakiotyrkn4jrdga56regfrvllsh5qe
indexed 2026-11-05 16:25 UTC
View this version
Compatibility
breaking 9 breaking changes, 2 non-breaking changes.
Breaking changes (9)
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.defs#joinRequestView" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.defs#memberView" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.getGroup:output.members" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.getGroup:output.members:items" }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.getGroup:output", tgt: "fyi.opensocial.getGroup:output.members", kind: "prop", name: Some("members") }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.getGroup:output.joinRequests:items", tgt: "fyi.opensocial.defs#joinRequestView", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.getGroup:output.members", tgt: "fyi.opensocial.getGroup:output.members:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.getGroup:output.members:items", tgt: "fyi.opensocial.defs#memberView", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "fyi.opensocial.getGroup:output.joinRequests:items", sort: "ref", old_value: "fyi.opensocial.defs#joinRequestView", new_value: "fyi.opensocial.defs#joinRequest" }
Non-breaking changes (2)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.defs#joinRequest" }
- AddedEdge AddedEdge { src: "fyi.opensocial.getGroup:output.joinRequests:items", tgt: "fyi.opensocial.defs#joinRequest", kind: "ref", name: None }
Migration guidance
Removed
RemovedVertex { vertex_id: "fyi.opensocial.defs#joinRequestView" }RemovedVertex { vertex_id: "fyi.opensocial.defs#memberView" }RemovedVertex { vertex_id: "fyi.opensocial.getGroup:output.members" }RemovedVertex { vertex_id: "fyi.opensocial.getGroup:output.members:items" }
Added
AddedVertex { vertex_id: "fyi.opensocial.defs#joinRequest" }
Constraint changes
- ConstraintTightened ConstraintTightened { vertex_id: "fyi.opensocial.getGroup:output.joinRequests:items", sort: "ref", old_value: "fyi.opensocial.defs#joinRequestView", new_value: "fyi.opensocial.defs#joinRequest" }
Notes
- Breaking: RemovedEdge { src: "fyi.opensocial.getGroup:output", tgt: "fyi.opensocial.getGroup:output.members", kind: "prop", name: Some("members") }
- Breaking: RemovedEdge { src: "fyi.opensocial.getGroup:output.joinRequests:items", tgt: "fyi.opensocial.defs#joinRequestView", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "fyi.opensocial.getGroup:output.members", tgt: "fyi.opensocial.getGroup:output.members:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "fyi.opensocial.getGroup:output.members:items", tgt: "fyi.opensocial.defs#memberView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.getGroup:output.joinRequests:items", tgt: "fyi.opensocial.defs#joinRequest", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {5
"description": "Get a detailed view of a group: its profile and rules, and — for a viewer who may read the members space — its roster, roles, spaces and their read gates, plus the join queue for a viewer holding `admit`. Does not require auth, but contains the viewer's standing and what their roles let them read with auth. Every gate is the decision a space credential is minted on.",5
"description": "Get a detailed view of a group: its profile and rules, and — for a viewer who may read the members space — how many are in it (listMembers names them), its roles, spaces and their read gates, plus the join queue for a viewer holding `admit`. Without auth, only the group's did and handle; with it, the viewer's standing and what their roles let them read. Every gate is the decision a space credential is minted on.",66
"errors": [77
{88
"name": "GroupNotFound"99
}1010
],1111
"output": {1212
"encoding": "application/json",1313
"schema": {1414
"properties": {1515
"bindings": {1616
"items": {1717
"ref": "fyi.opensocial.defs#roleBinding",1818
"type": "ref"1919
},2020
"type": "array"2121
},2222
"group": {2323
"ref": "fyi.opensocial.defs#groupViewDetailed",2424
"type": "ref"2525
},2626
"joinRequests": {2727
"description": "Pending requests, newest first. Present only for a viewer holding `admit`.",2828
"items": {29
"ref": "fyi.opensocial.defs#joinRequestView",30
"type": "ref"31
},32
"type": "array"33
},34
"members": {35
"items": {36
"ref": "fyi.opensocial.defs#memberView",29
"ref": "fyi.opensocial.defs#joinRequest",3730
"type": "ref"3831
},3932
"type": "array"4033
},4134
"roles": {4235
"items": {4336
"ref": "fyi.opensocial.defs#roleView",4437
"type": "ref"4538
},4639
"type": "array"4740
},4841
"spaces": {4942
"items": {5043
"ref": "fyi.opensocial.defs#spaceView",5144
"type": "ref"5245
},5346
"type": "array"5447
}5548
},5649
"required": [5750
"group"5851
],5952
"type": "object"6053
}6154
},6255
"parameters": {6356
"properties": {6457
"group": {6558
"description": "The group DID.",6659
"format": "did",6760
"type": "string"6861
}6962
},7063
"required": [7164
"group"7265
],7366
"type": "params"7467
},7568
"type": "query"7669
}7770
},7871
"id": "fyi.opensocial.getGroup",7972
"lexicon": 18073
}