full diff

social.colibri.beta.category

colibri.social +41 −0
From
bafyreigmon2cbiaq26mxmtm53sg37txxfpra75ioql7gifmbsmcg3avqzi indexed 2026-08-23 12:32 UTC View this version
To
bafyreiextraarakpdvl2tx3yxeift5mwt2dirzmnsvi34hcuddq7zoy7vm indexed 2026-10-15 15:34 UTC View this version

Compatibility

backward compatible Backward compatible. 18 non-breaking changes.

Non-breaking changes (18)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedMembers" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedMembers:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedRoles" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedRoles:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.ownerOnly" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToMembers" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToMembers:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToRoles" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToRoles:items" }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.allowedMembers", kind: "prop", name: Some("allowedMembers") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.allowedRoles", kind: "prop", name: Some("allowedRoles") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.ownerOnly", kind: "prop", name: Some("ownerOnly") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.visibleToMembers", kind: "prop", name: Some("visibleToMembers") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.visibleToRoles", kind: "prop", name: Some("visibleToRoles") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body.allowedMembers", tgt: "social.colibri.beta.category:body.allowedMembers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body.allowedRoles", tgt: "social.colibri.beta.category:body.allowedRoles:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body.visibleToMembers", tgt: "social.colibri.beta.category:body.visibleToMembers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category:body.visibleToRoles", tgt: "social.colibri.beta.category:body.visibleToRoles:items", kind: "items", name: None }

Migration guidance

Added

  • AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedMembers" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedMembers:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedRoles" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.allowedRoles:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.ownerOnly" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToMembers" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToMembers:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToRoles" }
  • AddedVertex { vertex_id: "social.colibri.beta.category:body.visibleToRoles:items" }

Notes

  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.allowedMembers", kind: "prop", name: Some("allowedMembers") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.allowedRoles", kind: "prop", name: Some("allowedRoles") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.ownerOnly", kind: "prop", name: Some("ownerOnly") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.visibleToMembers", kind: "prop", name: Some("visibleToMembers") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body", tgt: "social.colibri.beta.category:body.visibleToRoles", kind: "prop", name: Some("visibleToRoles") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body.allowedMembers", tgt: "social.colibri.beta.category:body.allowedMembers:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body.allowedRoles", tgt: "social.colibri.beta.category:body.allowedRoles:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body.visibleToMembers", tgt: "social.colibri.beta.category:body.visibleToMembers:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category:body.visibleToRoles", tgt: "social.colibri.beta.category:body.visibleToRoles:items", kind: "items", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "A named group of channels within a community.",
66 "key": "tid",
77 "record": {
88 "properties": {
9 "allowedMembers": {
10 "description": "Members allowed to post in the category's channels in addition to allowedRoles.",
11 "items": {
12 "description": "A member permitted to post.",
13 "format": "did",
14 "type": "string"
15 },
16 "type": "array"
17 },
18 "allowedRoles": {
19 "description": "Roles allowed to post in the category's channels. Empty means no role restriction. A channel that sets its own posting restriction overrides this.",
20 "items": {
21 "description": "A role permitted to post.",
22 "format": "record-key",
23 "type": "string"
24 },
25 "type": "array"
26 },
927 "channelOrder": {
1028 "description": "The channels in this category, in display order, by space key.",
1129 "items": {
1230 "description": "The space key of a channel in this category.",
1331 "format": "record-key",
1432 "type": "string"
1533 },
1634 "type": "array"
1735 },
1836 "name": {
1937 "description": "The category's name.",
2038 "maxLength": 32,
2139 "minLength": 1,
2240 "type": "string"
41 },
42 "ownerOnly": {
43 "default": false,
44 "description": "Whether only community admins may post in the category's channels. A channel that sets its own posting restriction overrides this.",
45 "type": "boolean"
46 },
47 "visibleToMembers": {
48 "description": "Members that may read the category's channels in addition to visibleToRoles.",
49 "items": {
50 "description": "A member permitted to read.",
51 "format": "did",
52 "type": "string"
53 },
54 "type": "array"
55 },
56 "visibleToRoles": {
57 "description": "Roles that may read the category's channels. Empty or absent means every member may read them. A channel with its own non-empty visibleToRoles or visibleToMembers overrides this. A non-empty list makes the category's other channels private, enforced the same way as a private channel.",
58 "items": {
59 "description": "A role permitted to read.",
60 "format": "record-key",
61 "type": "string"
62 },
63 "type": "array"
2364 }
2465 },
2566 "required": [
2667 "name",
2768 "channelOrder"
2869 ],
2970 "type": "object"
3071 },
3172 "type": "record"
3273 }
3374 },
3475 "id": "social.colibri.beta.category",
3576 "lexicon": 1
3677}

Compare other versions