From
bafyreigntz3xn2ig2oazwgmeapfwphd53pzm2ddhnty6maq3bwszh4e6vq
indexed 2026-09-25 14:12 UTC
View this version
To
bafyreigftfhvpmqp6iowqn7kyc7hwdj32yv5vd7fpz7ifgugechpplxfwq
indexed 2026-11-09 20:40 UTC
View this version
Compatibility
backward compatible Backward compatible. 10 non-breaking changes.
Non-breaking changes (10)
- AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
- AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.labels" }
- AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.labels:variant0" }
- AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.langs" }
- AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.langs:items" }
- AddedEdge AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.labels", kind: "prop", name: Some("labels") }
- AddedEdge AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.langs", kind: "prop", name: Some("langs") }
- AddedEdge AddedEdge { src: "world.treeline.condition.report:body.labels", tgt: "world.treeline.condition.report:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- AddedEdge AddedEdge { src: "world.treeline.condition.report:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "world.treeline.condition.report:body.langs", tgt: "world.treeline.condition.report:body.langs:items", kind: "items", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }AddedVertex { vertex_id: "world.treeline.condition.report:body.labels" }AddedVertex { vertex_id: "world.treeline.condition.report:body.labels:variant0" }AddedVertex { vertex_id: "world.treeline.condition.report:body.langs" }AddedVertex { vertex_id: "world.treeline.condition.report:body.langs:items" }
Notes
- Non-breaking: AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.labels", kind: "prop", name: Some("labels") }
- Non-breaking: AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.langs", kind: "prop", name: Some("langs") }
- Non-breaking: AddedEdge { src: "world.treeline.condition.report:body.labels", tgt: "world.treeline.condition.report:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- Non-breaking: AddedEdge { src: "world.treeline.condition.report:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "world.treeline.condition.report:body.langs", tgt: "world.treeline.condition.report:body.langs:items", kind: "items", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "Crowdsourced trail condition or hazard report with temporal decay.",66
"key": "tid",77
"record": {88
"properties": {99
"coordinate": {1010
"description": "Optional exact GPS coordinates [lon, lat, ele?] of the hazard, as decimal strings (the ATProto data model has no floats). On an activity-subject report it also limits which of the activity's matched trails the report reaches.",1111
"items": {1212
"type": "string"1313
},1414
"type": "array"1515
},1616
"expiresAt": {1717
"description": "Optional explicit expiration timestamp. When absent, defaults to reportedAt + 14 days.",1818
"format": "datetime",1919
"type": "string"2020
},21
"labels": {22
"description": "Optional self-label values the author applies to this record, effectively content warnings (e.g. graphic-media for an injury photo).",23
"refs": [24
"com.atproto.label.defs#selfLabels"25
],26
"type": "union"27
},28
"langs": {29
"description": "Optional. The human languages of this record's text (the notes), as BCP-47 tags, so consumers can filter or translate.",30
"items": {31
"format": "language",32
"type": "string"33
},34
"maxLength": 3,35
"type": "array"36
},2137
"notes": {2238
"description": "Detailed notes describing the observed trail condition or obstacle.",2339
"maxGraphemes": 1000,2440
"maxLength": 10000,2541
"type": "string"2642
},2743
"photoBlob": {2844
"accept": [2945
"image/png",3046
"image/jpeg",3147
"image/webp"3248
],3349
"description": "Optional photograph of the condition or hazard.",3450
"maxSize": 10000000,3551
"type": "blob"3652
},3753
"reportedAt": {3854
"description": "Timestamp when the observation was made.",3955
"format": "datetime",4056
"type": "string"4157
},4258
"severity": {4359
"description": "Severity level of the condition.",4460
"knownValues": [4561
"info",4662
"caution",4763
"hazard",4864
"closure"4965
],5066
"type": "string"5167
},5268
"status": {5369
"description": "Current status or condition observation.",5470
"knownValues": [5571
"clear",5672
"minor_issues",5773
"wet_muddy",5874
"snow_ice",5975
"tree_fall",6076
"flowing",6177
"dry",6278
"closed"6379
],6480
"type": "string"6581
},6682
"subject": {6783
"description": "The trail, route, segment, activity, or landmark subject of this condition report. A strongRef to a world.treeline.activity.record reports on every trail that activity matched.",6884
"refs": [6985
"#trailSubject",7086
"com.atproto.repo.strongRef"7187
],7288
"type": "union"7389
}7490
},7591
"required": [7692
"subject",7793
"status",7894
"severity",7995
"reportedAt"8096
],8197
"type": "object"8298
},8399
"type": "record"84100
},85101
"trailSubject": {86102
"description": "Subject reference for a physical trail identified by external registry IDs.",87103
"properties": {88104
"cotrexId": {89105
"description": "COTREX trail feature identifier.",90106
"type": "string"91107
},92108
"osmRelationId": {93109
"description": "OpenStreetMap relation identifier.",94110
"type": "string"95111
},96112
"osmWayId": {97113
"description": "OpenStreetMap way identifier.",98114
"type": "string"99115
},100116
"usfsTrailNumber": {101117
"description": "United States Forest Service trail identifier.",102118
"type": "string"103119
}104120
},105121
"type": "object"106122
}107123
},108124
"id": "world.treeline.condition.report",109125
"lexicon": 1110126
}