Repository navigation
Releases
v28.2.3
v28.2.2
- Consume SemanticConventions 15.0.0 and its generated Weaver v2 validation configuration.
- Probe fresh NuGet indexes during release verification instead of accepting stale CDN responses.
- Preserve compiler-host helper exclusions when an isolated NuGet cache has no trailing directory separator.
- Preserve nullable annotations on generated receivers, parameters and returns, including nullable generic arguments and array ranks. Keep overload matching annotation-insensitive.
- Remove blanket warning suppression from generated interceptors and build metadata. Scope obsolete warnings to their forwarded calls while retaining diagnostics at the original caller.
- Leave optional argument defaults with the original method instead of copying them into interceptor declarations.
- Verify generated consumers with warnings as errors in the normal pre-push gate. Exclude unused filesystem guards from the compiler-host generator assembly.
v28.2.1
v28.2.0
- Honor explicitly selected
mcp-param-*headers and metadata without a hidden prefix exclusion. - Capture selected gRPC binary metadata as the HTTP transport's base64 string arrays, including initial response headers followed by trailers. Preserve existing native spans and opt-in defaults.
- Verify the binary-only native profile and raw binary header/trailer values. Consume SemanticConventions 14.0.0 with the updated capture persistence policy.
v28.1.1
- Rebuild the instrumentation and hosting package family against SemanticConventions 13.2.0 so producers and the Collector share the same generated vocabulary and schema version. Preserve the reviewed HTTP/gRPC capture implementation and generated-code ABI V28.
v28.1.0
-
Register qyl-owned client capture as disposable OpenTelemetry instrumentation instead of a lifetime-only span processor. Preserve native span ownership and provider disposal without a profiler.
-
Expose each HTTP/gRPC capture profile as a native MSTest data row. Publish once per test class, forward native fixture/invocation cancellation through publishing and child execution, retain row-specific evidence, and share profile/configuration constants.
-
Declare capture inputs and expectations in the data rows, share the child-process contract through one non-packable fixture assembly, and require every expected HTTP/gRPC operation exactly once. Use native typed assertions for captured arrays.
-
Require a parent activity when native client spans are expected and verify every emitted span's parent unconditionally. Give each native MSTest row a concise profile label through
ArgumentsDisplayName. -
Assert that each configured consumer actually runs without dynamic-code support; exercise the factory registration through NativeAOT execution.
-
Add independently selected textual gRPC client metadata at native start/completion, combining initial headers then trailers without reading streams. Skip binary names and verify configured unary, streaming, cancellation and failure paths through an executed NativeAOT consumer.
-
Add selected outbound HTTP request/response headers on the existing native span, including content headers, raw exposed value arrays, start/stop snapshots, sampling/suppression and provider disposal. Verify configured execution through a published NativeAOT consumer.
-
Preserve distinct underscore, hyphen and dotted names in explicitly selected ASP.NET Core headers; retain case-insensitive selection and string arrays.
-
Run the transport integration tests against Qyl.Telemetry.Testing 3.0.3.
-
Check environment configuration through resolved instrumentation decisions and capture-key maps instead of removed metadata properties.
v28.0.0
- Consume SemanticConventions 13.1.2, including its compact analyzer catalog and shared legacy compiler polyfills.
- Remove the redundant service-collection activation wrapper and the unused DB-command operation-name binding; advance the generated-code ABI to V28.
- Remove metadata-only constructor property storage, the unused integration domain argument, and the obsolete method-name binding. Preserve Roslyn metadata uses with annotations on those exact protocol members.
- Remove redundant internal option state and obsolete empty contract allowlists. Runtime implementation claims now require runtime evidence without an exception list.
- Align source namespaces and folders, simplify confirmed inspection findings, and move negative generator fixtures into native MSTest diagnostics tests.
v27.0.0
- Adopt SemanticConventions 13.1.1: native typed application attributes replace
SetAppTagand its forced prefix. Generated starters remain optional; consumers can register their own activity sources. - Verify both generated and application-owned sources through real packaged consumers and the public host pipeline. Use Testing 3.0.1 for HTTP and gRPC receivers, configurable bounded payloads, reliable cancellation and retained raw captures.
- Add
CollectorProtocolfor explicit collector endpoints. HTTP/protobuf remains the programmatic default; selecting nativeOtlpExportProtocol.Grpcworks on any port. Remove the port-4317 transport guess and verify real hosts export all three signals through both transports. - Advance the generated-code ABI to V27 so generator and runtime packages share the new major.
- Dispose the collector-discovery probe's wait handle, remove unused build helpers and meter constants, and keep process failure diagnostics with their elapsed time.
v26.0.0
Changed
- Update the OpenTelemetry SDK, exporters and hosting integration to 1.20.0 for metric concurrency, async suppression and shutdown log delivery fixes.
- Update semantic-convention bindings and analyzers to 12.0.0, including the measured Oracle duration wire type, and Roslyn source utilities to 3.0.0.
- Advance the generated-code ABI to V26; generators and runtime packages must share that major.
- Pin the repository to .NET SDK 10.0.401 and native MSTest 4.5.1 with Microsoft.Testing.Platform.
- Replace the custom demo runner with thirty native MSTest integration cases using Qyl.Telemetry.Testing 1.1.0. Retain complete OTLP captures, original export payloads and registry reports, compare independent application reports, and join child processes before reading their telemetry.
- Remove the ILogger demo's manual-flush workaround and verify first-batch shutdown delivery in managed and Native AOT applications.
- Convert two known producer representations without changing their meaning: Microsoft.Extensions.AI finish-reason JSON to a string array, and MassTransit message-size text to a nonnegative Int64. Preserve malformed and out-of-range values for diagnostics.
- Verify conversion boundaries through the public host pipeline and attribute Oracle child spans by their operation context and parent IDs, preserving background exporter activities in the diagnostic report.
- Remove the unused collector harness, its stale tool pin and the API-contract dependency that only that harness used.
- Remove unused internal HTTP-header and ambient-start helpers; keep the timing paths used by EF Core and SqlClient.
v25.1.0
Changed
- Update the shared convention bindings and consumer analyzers to Qyl.Telemetry.SemanticConventions 10.1.0.
- Apply JetBrains cleanup for redundant imports and null suppression, constructor initialization, and private scanner state without changing the public API.