From
bafyreifszu4h3qcgj3rszidc6oursskewa6tze4ebrgs3fgy5kcqnn5w5m
indexed 2026-10-08 18:10 UTC
View this version
To
bafyreiacytx5jofu3slwfrqdi67nfcnrg5v765yegyxaw4zeagfnf46vsi
indexed 2026-10-18 21:05 UTC
View this version
Compatibility
breaking 5 breaking changes, 12 non-breaking changes.
Breaking changes (5)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#change", src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.seq", kind: "prop", name: Some("seq") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#change", src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.space", kind: "prop", name: Some("space") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#change", src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.rev", kind: "prop", name: Some("rev") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#info", src: "fyi.opensocial.subscribeSpaces#info", tgt: "fyi.opensocial.subscribeSpaces#info.name", kind: "prop", name: Some("name") }
- KindChanged KindChanged { vertex_id: "fyi.opensocial.subscribeSpaces", old_kind: "query", new_kind: "subscription" }
Non-breaking changes (12)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.rev" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.seq" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.space" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.time" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#info" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#info.message" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#info.name" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces:message" }
- AddedEdge AddedEdge { src: "fyi.opensocial.subscribeSpaces", tgt: "fyi.opensocial.subscribeSpaces:message", kind: "prop", name: Some("message") }
- AddedEdge AddedEdge { src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.time", kind: "prop", name: Some("time") }
- AddedEdge AddedEdge { src: "fyi.opensocial.subscribeSpaces#info", tgt: "fyi.opensocial.subscribeSpaces#info.message", kind: "prop", name: Some("message") }
Migration guidance
Added
AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.rev" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.seq" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.space" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#change.time" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#info" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#info.message" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces#info.name" }AddedVertex { vertex_id: "fyi.opensocial.subscribeSpaces:message" }
Notes
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#info", src: "fyi.opensocial.subscribeSpaces#info", tgt: "fyi.opensocial.subscribeSpaces#info.name", kind: "prop", name: Some("name") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#change", src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.seq", kind: "prop", name: Some("seq") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#change", src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.space", kind: "prop", name: Some("space") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.subscribeSpaces#change", src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.rev", kind: "prop", name: Some("rev") }
- Breaking: KindChanged { vertex_id: "fyi.opensocial.subscribeSpaces", old_kind: "query", new_kind: "subscription" }
- Non-breaking: AddedEdge { src: "fyi.opensocial.subscribeSpaces", tgt: "fyi.opensocial.subscribeSpaces:message", kind: "prop", name: Some("message") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.subscribeSpaces#change", tgt: "fyi.opensocial.subscribeSpaces#change.time", kind: "prop", name: Some("time") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.subscribeSpaces#info", tgt: "fyi.opensocial.subscribeSpaces#info.message", kind: "prop", name: Some("message") }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {4
"change": {5
"properties": {6
"rev": {7
"description": "The space's revision after the change.",8
"type": "string"9
},10
"seq": {11
"description": "Its place among the host's changes, to resume from with cursor.",12
"type": "integer"13
},14
"space": {15
"format": "at-uri",16
"type": "string"17
},18
"time": {19
"format": "datetime",20
"type": "string"21
}22
},23
"required": [24
"seq",25
"space",26
"rev"27
],28
"type": "object"29
},30
"info": {31
"properties": {32
"message": {33
"type": "string"34
},35
"name": {36
"knownValues": [37
"OutdatedCursor"38
],39
"type": "string"40
}41
},42
"required": [43
"name"44
],45
"type": "object"46
},447
"main": {5
"description": "Names the service auth for the host's space change stream, /space-events?group=<did>&token=<service auth for this method>: server-sent events, one per change to a group space the caller may read, each `{ space, rev }` and nothing of what changed. A member who hears one reads again with listSpaceRecords. Not itself an XRPC endpoint.",48
"description": "Changes to a group's spaces, as they happen, for one of its members: a #change for each change to a space the caller may read now, saying which space and its new revision, and nothing of what changed. A member who hears one reads again with listSpaceRecords. Members only, with service auth for this method, sent as a Bearer token or, as a browser's WebSocket can't send one, as `token`. The site's own pages hear the same changes at /space-events (server-sent events, with who's online).",49
"errors": [50
{51
"name": "FutureCursor"52
}53
],54
"message": {55
"schema": {56
"refs": [57
"#change",58
"#info"59
],60
"type": "union"61
}62
},663
"parameters": {764
"properties": {65
"cursor": {66
"description": "The seq of the last #change heard: the changes after it that the host still holds are sent first. Older than it holds, an #info OutdatedCursor comes first, and the caller should read everything again.",67
"type": "integer"68
},869
"group": {970
"format": "did",1071
"type": "string"72
},73
"token": {74
"description": "Service auth for this method, for a client that can't send an Authorization header.",75
"type": "string"1176
}1277
},1378
"required": [1479
"group"1580
],1681
"type": "params"1782
},18
"type": "query"83
"type": "subscription"1984
}2085
},2186
"id": "fyi.opensocial.subscribeSpaces",2287
"lexicon": 12388
}