From
bafyreibpvlt2m4pvemqszx6fc6ap4rj5out353firh47tqapare47new4a
indexed 2026-10-24 17:01 UTC
View this version
To
bafyreicuwiaulf72flgo2n2muwdl4vbkbocb6uts4pnq6u7jibfrhiq36u
indexed 2026-11-04 06:55 UTC
View this version
Compatibility
breaking 4 breaking changes, 6 non-breaking changes.
Breaking changes (4)
- RemovedVertex RemovedVertex { vertex_id: "radio.4000.track:body.discogsUrl" }
- RemovedVertex RemovedVertex { vertex_id: "radio.4000.track:body.r4Id" }
- RemovedEdge RemovedEdge { src: "radio.4000.track:body", tgt: "radio.4000.track:body.discogsUrl", kind: "prop", name: Some("discogsUrl") }
- RemovedEdge RemovedEdge { src: "radio.4000.track:body", tgt: "radio.4000.track:body.r4Id", kind: "prop", name: Some("r4Id") }
Non-breaking changes (6)
- AddedVertex AddedVertex { vertex_id: "radio.4000.defs#link" }
- AddedVertex AddedVertex { vertex_id: "radio.4000.track:body.links" }
- AddedVertex AddedVertex { vertex_id: "radio.4000.track:body.links:items" }
- AddedEdge AddedEdge { src: "radio.4000.track:body", tgt: "radio.4000.track:body.links", kind: "prop", name: Some("links") }
- AddedEdge AddedEdge { src: "radio.4000.track:body.links", tgt: "radio.4000.track:body.links:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "radio.4000.track:body.links:items", tgt: "radio.4000.defs#link", kind: "ref", name: None }
Migration guidance
Removed
RemovedVertex { vertex_id: "radio.4000.track:body.discogsUrl" }RemovedVertex { vertex_id: "radio.4000.track:body.r4Id" }
Added
AddedVertex { vertex_id: "radio.4000.defs#link" }AddedVertex { vertex_id: "radio.4000.track:body.links" }AddedVertex { vertex_id: "radio.4000.track:body.links:items" }
Notes
- Breaking: RemovedEdge { src: "radio.4000.track:body", tgt: "radio.4000.track:body.discogsUrl", kind: "prop", name: Some("discogsUrl") }
- Breaking: RemovedEdge { src: "radio.4000.track:body", tgt: "radio.4000.track:body.r4Id", kind: "prop", name: Some("r4Id") }
- Non-breaking: AddedEdge { src: "radio.4000.track:body", tgt: "radio.4000.track:body.links", kind: "prop", name: Some("links") }
- Non-breaking: AddedEdge { src: "radio.4000.track:body.links", tgt: "radio.4000.track:body.links:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "radio.4000.track:body.links:items", tgt: "radio.4000.defs#link", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "A media reference curated into a radio: a URL with a title, a description and #tags.",66
"key": "tid",77
"record": {88
"properties": {99
"createdAt": {1010
"format": "datetime",1111
"type": "string"1212
},1313
"description": {1414
"description": "Free text. #tags and @mentions are parsed from it.",1515
"maxGraphemes": 3000,1616
"maxLength": 30000,1717
"type": "string"1818
},19
"discogsUrl": {20
"format": "uri",21
"maxLength": 2048,22
"type": "string"23
},2419
"duration": {2520
"description": "Media duration in seconds, when known.",2621
"minimum": 0,2722
"type": "integer"2823
},24
"links": {25
"description": "Links about the track elsewhere: Discogs, Bandcamp, the artist's site…",26
"items": {27
"ref": "radio.4000.defs#link",28
"type": "ref"29
},30
"maxLength": 10,31
"type": "array"32
},2933
"playbackError": {30
"description": "Set when the media could not be played, e.g. a removed video.",34
"description": "Set by the radio's owner when the media could not be played, as provider:code, e.g. youtube:150 for a video that can't be embedded.",3135
"maxLength": 1000,32
"type": "string"33
},34
"r4Id": {35
"description": "ID of the track on radio4000.com, when imported from there.",36
"maxLength": 64,3736
"type": "string"3837
},3938
"title": {4039
"maxGraphemes": 300,4140
"maxLength": 3000,4241
"type": "string"4342
},4443
"updatedAt": {4544
"format": "datetime",4645
"type": "string"4746
},4847
"url": {4948
"format": "uri",5049
"maxLength": 2048,5150
"type": "string"5251
}5352
},5453
"required": [5554
"url",5655
"title",5756
"createdAt"5857
],5958
"type": "object"6059
},6160
"type": "record"6261
}6362
},6463
"id": "radio.4000.track",6564
"lexicon": 16665
}