Changelog
- 8896ecc ci: add infra_branch input to devnet daily release workflow (#3565)
- b1eb7b9 cli: report missing TunnelIds extension for devices without users (#3560)
- 251cd90 cli: verify MulticastPublisherBlock in resource verify (#3554)
- 9a77270 client: filter devices by type-specific capacity during auto-selection (#3550)
- 952d0a7 devcontainer: add optional worktrees mount (#3541)
- 8f2cc9a e2e/qa: accommodate seat-withdraw prorating in multicast settlement test (#3559)
- 3ed6a91 e2e/qa: check per-type device capacity in ValidDevices (#3563)
- 79d4567 e2e/qa: fix withdraw accounting invariant for free-seat override (#3561)
- 0a70e7b e2e/qa: wait for multicast status specifically in settlement test (#3547)
- 048a26b feat(collector): fallback to any probe if anchor gone (#3569) (#3570)
- e9948b1 fix(collector): fall back to non-anchor probes when all anchors are unresponsive (#3576)
- 5d7a866 sdk/geolocation: add Go write SDK for add/remove target operations (#3558)
- dfd989a sdk: add topology support to Python/TypeScript SDKs for RFC-18 (#3514)
- ebd28bd sentinel: accept multiple --client-filter values in multicast publisher worker (#3555)
- 0f1f23d sentinel: set tunnel endpoint on multicast publisher create (#3583)
- a4622f0 shreds-e2e: shard tests across 4 runners (#3548)
- dce7d3c smartcontract,client: add topology CLI commands (RFC-18, PR 2/5)
- 855a28c smartcontract,controlplane: add flex-algo link/tenant CLI extensions and migrate command (#3513)
- c60e14d smartcontract: add TopologyInfo account, flex-algo state, and topology processors (#3497)
- 4659ab3 smartcontract: fix BackfillTopology account ordering and SID collision (#3580)
- ea07f33 smartcontract: fix flaky test_device_interfaces blockhash reuse (#3568)
- 5b08877 smartcontract: fix multicast allowlist for allow_multiple_ip access passes (#3552)
- 4e2b482 v0.19.0 (#3585)