actually both the topic format and message format are substantially ‘breaking changes’ v2 → v3. E.g. for basic data uplinks:
V2 topic:
<ttn app id>/devices/<ttn device id>/up
V3 topic:
v3/<ttn app id><at symbol>ttn/devices/<ttn device id>/up
V2 message key field jsonpaths:
<ttn device id> = .dev_id
<ttn app id> = .app_id
<payload> = .payload_raw
v3 message key field jsonpaths:
<ttn device id> = .end_device_ids.device_id
<ttn app id> = .end_device_ids.application_ids.application_id
(not including the <at symbol>
ttn in the topic)
<payload> = .uplink_message.frm_payload
Presumably these fundamental changes must be documented somewhere, and when I find that I’ll post it here (or anyone else?). Maybe I’ve misunderstood things and there’s no real ‘migration’ but it’s a “new network” so just read the docs and rebuild for it.