Changelog
- d8dd447 Client-Originated PIM Register beacon (implementation for RFC-22) (#3959)
- 0d2723e RFC-22: Client-Originated PIM Register for Multicast Source Origination (#3951)
- 1855fa3 [New Permission 3/5] smartcontract: enforce Permission-based authorization in existing instructions (#3206)
- 9fde9ac [New Permission 4/5] smartcontract: define topology/resource/index permission flags (#3942)
- bb5c354 [New Permission 5/5] smartcontract: enforce topology/resource/index permission flags (#3943)
- b1040a8 cli: allow removing multicast roles in user subscribe (#3914)
- bc814f1 client: add multicast subscriptions to doublezero status output (#3964)
- 371df7a devcontainer: install uv for the Python SDKs (#3946)
- a292d30 docs(rfc-18): reconcile flex-algo RFC with shipped implementation (#3967)
- 8b619de doublezerod: add route-liveness-backoff-max flag to fix multi-client IBRL e2e flake (#3950)
- f4efc33 e2e: increase client route propagation timeout to reduce flakiness (#3944)
- 5955f4c e2e: pin solana-test-validator to deploy-floor agave 2.2.16 (#3958)
- 32e8a18 feat(e2e): skip e2e tests if paused (#3685)
- f1e54cf geoprobe: create sockets on-demand instead of holding them open per target (#3378)
- 2e3aa21 scripts: add DZ token generation and decoding helpers (#3948)
- 3f618dd sdk/revdist/python: migrate to solana-py async RPC client (#3947)
- 3d15b8c v0.29.0 (#3969)