Patch release on top of 3.1.0, promoting 3.1.1-preview.1 to stable. Most of it is the OpenTelemetry receive path. Receive spans for messages consumed internally by the Key/Value watcher, the ordered push consumer behind the Object Store and service endpoints were never ended, so they never reached a backend; shared-inbox request-reply produced disconnected traces with no request span; a JetStream direct get was traced under the write that stored the value rather than the read; and several span tags were wrong. Also fixes a null array passed on the netstandard2.0 object store put path, and a stall when TCP splits the trailing CRLF of an empty payload message.
- Fix receive activity leak when tracing is enabled (#1229)
- Fix inverted array check in object store put path (#1235)
- Fix OpenTelemetry receive span lifecycle, parenting and tags (#1236)
- Update OpenTelemetry documentation (#1242)
- Fix stall when TCP splits the trailing CRLF of an empty payload message (#1243)
Three changes in #1236 are visible in a tracing backend, so queries and dashboards built on the client's spans may need updating: messaging.operation on subscribe and request spans now reads subscribe and request rather than publish, the subscribe span is ActivityKind.Client rather than Producer, and a reply whose trace id differs from its request is linked rather than parented.
Thanks
- @ani-philips for reporting the receive activity leak (#1225)
- @fresh55 for the object store put fix (#1235) and for reporting the empty payload stall (#1237)
Full Changelog: v3.1.0...v3.1.1