0.0.25 (2026-02-19)
Fixes
fix: correct distributed trace span hierarchy for cross-runner messages
Trace context is now propagated through each layer of the send path so that
spans form a proper causal chain instead of appearing as disconnected siblings.
route(wassendon ShardingImpl) stamps its span ID on the envelope at
entry, makinghandle_message_with_recoverya child of the localroute.deliver(wassendon GrpcRunnerTransport) overwrites the envelope's trace
context with its own span ID before serializing for gRPC.receive(wassendon GrpcRunnerServer) reads the envelope's trace context
and links itself as a child ofdeliver.
Resulting trace hierarchy:
- Local:
send_persisted_with_key > route > handle_message_with_recovery - Remote:
send_persisted_with_key > route > deliver > receive > route > handle_message_with_recovery