From
bafyreigcudodhzszfknelyktj6axle6mmsqgwbjhr73abfuiti2md6jj2q
indexed 2026-07-29 22:37 UTC
View this version
To
bafyreidvstthk4abte646b63j47addxonnlb6cos632zhfgj54d7w2rbta
indexed 2026-08-26 13:09 UTC
View this version
Compatibility
breaking 6 breaking changes, 2 non-breaking changes.
Breaking changes (6)
- RemovedVertex RemovedVertex { vertex_id: "dev.roe.defs#aspectRatio" }
- RemovedVertex RemovedVertex { vertex_id: "dev.roe.talk:body.aspectRatio" }
- RemovedEdge RemovedEdge { src: "dev.roe.talk:body", tgt: "dev.roe.talk:body.aspectRatio", kind: "prop", name: Some("aspectRatio") }
- RemovedEdge RemovedEdge { src: "dev.roe.talk:body.aspectRatio", tgt: "dev.roe.defs#aspectRatio", kind: "ref", name: None }
- KindChanged KindChanged { vertex_id: "dev.roe.talk:body.image", old_kind: "blob", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "dev.roe.talk:body.image", sort: "ref", value: "community.lexicon.app.defs#image" }
Non-breaking changes (2)
- AddedVertex AddedVertex { vertex_id: "community.lexicon.app.defs#image" }
- AddedEdge AddedEdge { src: "dev.roe.talk:body.image", tgt: "community.lexicon.app.defs#image", kind: "ref", name: None }
Migration guidance
Removed
RemovedVertex { vertex_id: "dev.roe.defs#aspectRatio" }RemovedVertex { vertex_id: "dev.roe.talk:body.aspectRatio" }
Added
AddedVertex { vertex_id: "community.lexicon.app.defs#image" }
Constraint changes
- ConstraintAdded ConstraintAdded { vertex_id: "dev.roe.talk:body.image", sort: "ref", value: "community.lexicon.app.defs#image" }
Notes
- Breaking: RemovedEdge { src: "dev.roe.talk:body", tgt: "dev.roe.talk:body.aspectRatio", kind: "prop", name: Some("aspectRatio") }
- Breaking: RemovedEdge { src: "dev.roe.talk:body.aspectRatio", tgt: "dev.roe.defs#aspectRatio", kind: "ref", name: None }
- Breaking: KindChanged { vertex_id: "dev.roe.talk:body.image", old_kind: "blob", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "dev.roe.talk:body.image", tgt: "community.lexicon.app.defs#image", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "A talk, podcast appearance, workshop, stream, or similar event.",66
"key": "tid",77
"record": {88
"properties": {9
"aspectRatio": {10
"description": "Intrinsic pixel dimensions of `image`.",11
"ref": "dev.roe.defs#aspectRatio",12
"type": "ref"13
},149
"createdAt": {1510
"format": "datetime",1611
"type": "string"1712
},1813
"date": {1914
"description": "Start date of the talk/event. Date-only values are stored as midnight UTC.",2015
"format": "datetime",2116
"type": "string"2217
},2318
"demo": {2419
"format": "uri",2520
"type": "string"2621
},2722
"description": {2823
"maxGraphemes": 5000,2924
"maxLength": 50000,3025
"type": "string"3126
},3227
"endDate": {3328
"description": "End date for multi-day events. Optional.",3429
"format": "datetime",3530
"type": "string"3631
},3732
"group": {3833
"description": "Strong-ref to a dev.roe.talkGroup record.",3934
"ref": "com.atproto.repo.strongRef",4035
"type": "ref"4136
},4237
"image": {43
"accept": [44
"image/*"45
],46
"maxSize": 5000000,47
"type": "blob"38
"description": "Event or conference logo, shown on the home page carousel.",39
"ref": "community.lexicon.app.defs#image",40
"type": "ref"4841
},4942
"link": {5043
"description": "Event page, podcast episode URL, etc.",5144
"format": "uri",5245
"type": "string"5346
},5447
"location": {5548
"description": "Free-form: city, country, or 'Online'.",5649
"maxGraphemes": 512,5750
"maxLength": 5120,5851
"type": "string"5952
},6053
"repo": {6154
"format": "uri",6255
"type": "string"6356
},6457
"slides": {6558
"description": "Identifier for slides; historically a GitHub release tag from danielroe/slides.",6659
"maxLength": 512,6760
"type": "string"6861
},6962
"source": {7063
"description": "Conference name, meetup, podcast title, etc.",7164
"maxGraphemes": 512,7265
"maxLength": 5120,7366
"type": "string"7467
},7568
"tags": {7669
"items": {7770
"maxGraphemes": 64,7871
"maxLength": 640,7972
"type": "string"8073
},8174
"maxLength": 32,8275
"type": "array"8376
},8477
"title": {8578
"description": "Optional for upcoming events with no announced title. Required for past talks unless the talk is part of a group.",8679
"maxGraphemes": 512,8780
"maxLength": 5120,8881
"type": "string"8982
},9083
"type": {9184
"knownValues": [9285
"conference",9386
"meetup",9487
"podcast",9588
"workshop",9689
"stream",9790
"talk"9891
],9992
"type": "string"10093
},10194
"video": {10295
"format": "uri",10396
"type": "string"10497
}10598
},10699
"required": [107100
"source",108101
"date",109102
"type",110103
"createdAt"111104
],112105
"type": "object"113106
},114107
"type": "record"115108
}116109
},117110
"id": "dev.roe.talk",118111
"lexicon": 1119112
}