From
bafyreidlm3xfw4d73ndetedm5cdraawhebil456pll4yx2vlo42azozsh4
indexed 2026-10-27 01:16 UTC
View this version
To
bafyreiayrfta7w4ikwoelcbxqipmdu6s4x5cj3rzujkmjiluokkbjyurgu
indexed 2026-11-05 16:25 UTC
View this version
Compatibility
breaking 15 breaking changes, 2 non-breaking changes.
Breaking changes (15)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.opensocial.labeler#labelerPolicies", src: "fyi.opensocial.labeler#labelerPolicies", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValues", kind: "prop", name: Some("labelValues") }
- RemovedVertex RemovedVertex { vertex_id: "com.atproto.label.defs#labelValue" }
- RemovedVertex RemovedVertex { vertex_id: "com.atproto.label.defs#labelValueDefinition" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions:items" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValues" }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValues:items" }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions", kind: "prop", name: Some("labelValueDefinitions") }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions:items", tgt: "com.atproto.label.defs#labelValueDefinition", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValues", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValues:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValues:items", tgt: "com.atproto.label.defs#labelValue", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "fyi.opensocial.labeler:body.policies", tgt: "fyi.opensocial.labeler#labelerPolicies", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "fyi.opensocial.labeler:body.policies", sort: "ref", old_value: "#labelerPolicies", new_value: "fyi.opensocial.defs#labelerPolicies" }
Non-breaking changes (2)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.defs#labelerPolicies" }
- AddedEdge AddedEdge { src: "fyi.opensocial.labeler:body.policies", tgt: "fyi.opensocial.defs#labelerPolicies", kind: "ref", name: None }
Migration guidance
Removed
RemovedVertex { vertex_id: "com.atproto.label.defs#labelValue" }RemovedVertex { vertex_id: "com.atproto.label.defs#labelValueDefinition" }RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies" }RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions" }RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions:items" }RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValues" }RemovedVertex { vertex_id: "fyi.opensocial.labeler#labelerPolicies.labelValues:items" }
Added
AddedVertex { vertex_id: "fyi.opensocial.defs#labelerPolicies" }
Constraint changes
- ConstraintTightened ConstraintTightened { vertex_id: "fyi.opensocial.labeler:body.policies", sort: "ref", old_value: "#labelerPolicies", new_value: "fyi.opensocial.defs#labelerPolicies" }
Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "fyi.opensocial.labeler#labelerPolicies", src: "fyi.opensocial.labeler#labelerPolicies", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValues", kind: "prop", name: Some("labelValues") }
- Breaking: RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions", kind: "prop", name: Some("labelValueDefinitions") }
- Breaking: RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValueDefinitions:items", tgt: "com.atproto.label.defs#labelValueDefinition", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValues", tgt: "fyi.opensocial.labeler#labelerPolicies.labelValues:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "fyi.opensocial.labeler#labelerPolicies.labelValues:items", tgt: "com.atproto.label.defs#labelValue", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "fyi.opensocial.labeler:body.policies", tgt: "fyi.opensocial.labeler#labelerPolicies", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.labeler:body.policies", tgt: "fyi.opensocial.defs#labelerPolicies", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {4
"labelerPolicies": {5
"properties": {6
"labelValueDefinitions": {7
"description": "Its own label values, defined.",8
"items": {9
"ref": "com.atproto.label.defs#labelValueDefinition",10
"type": "ref"11
},12
"type": "array"13
},14
"labelValues": {15
"description": "The label values it applies.",16
"items": {17
"ref": "com.atproto.label.defs#labelValue",18
"type": "ref"19
},20
"type": "array"21
}22
},23
"required": [24
"labelValues"25
],26
"type": "object"27
},284
"main": {295
"description": "The group as a moderation service: the label values it applies and what it accepts reports about. Written by the group into the meta space.",306
"key": "literal:self",317
"record": {328
"properties": {339
"createdAt": {3410
"format": "datetime",3511
"type": "string"3612
},3713
"policies": {38
"ref": "#labelerPolicies",14
"ref": "fyi.opensocial.defs#labelerPolicies",3915
"type": "ref"4016
},4117
"reasonTypes": {42
"description": "The report reasons it accepts.",18
"description": "Accepted report reasons. Omit to accept all.",4319
"items": {4420
"ref": "com.atproto.moderation.defs#reasonType",4521
"type": "ref"4622
},4723
"type": "array"4824
},4925
"subjectCollections": {50
"description": "The record collections it accepts reports about. Omitted means any.",26
"description": "Record types that can be reported. Omit to accept all.",5127
"items": {5228
"format": "nsid",5329
"type": "string"5430
},5531
"type": "array"5632
},5733
"subjectTypes": {58
"description": "The kinds of subject it accepts reports about.",34
"description": "Accepted report subject types. Omit to accept all.",5935
"items": {6036
"ref": "com.atproto.moderation.defs#subjectType",6137
"type": "ref"6238
},6339
"type": "array"6440
}6541
},6642
"required": [6743
"policies",6844
"createdAt"6945
],7046
"type": "object"7147
},7248
"type": "record"7349
}7450
},7551
"id": "fyi.opensocial.labeler",7652
"lexicon": 17753
}