OpenTelemetry Changelog
Released changes to the OpenTelemetry plugin (`opentelemetry`), newest release first.
30 released changes name opentelemetry, newest release first — 16 in Apache APISIX, 14 in API7 Gateway. Each row links to the change itself.
| Release | Date | Type | Change |
|---|
| 3.10.3 (opens in API7 Gateway docs) | 2026-07-14 | Fix | Fixed issue: additional_attributes were evaluated before log-phase variables were populated, so attributes that depend on final request state could be missing or stale. They are now evaluated in the log phase. (opens in API7 Gateway docs) |
| 3.10.3 (opens in API7 Gateway docs) | 2026-07-14 | Fix | Fixed issue: The plugin metadata schema accepted non-scalar values for resource attributes and collector.request_headers, which were then silently dropped at runtime. Such values are now rejected at configuration time. (opens in API7 Gateway docs) |
| 3.10.3 (opens in API7 Gateway docs) | 2026-07-14 | Fix | Fixed issue: Updating OpenTelemetry plugin metadata at runtime did not rebuild the tracer used for injected core spans, so those spans could keep using stale collector or resource settings until worker recycle. The tr… (opens in API7 Gateway docs) |
| 3.10.3 (opens in API7 Gateway docs) | 2026-07-14 | Fix | Fixed issue: With trace_id_source set to x-request-id, an X-Request-Id value that is not valid hexadecimal (for example a UUID), or a duplicated header, could return HTTP 500. The value is now validated and the plugin… (opens in API7 Gateway docs) |
| 3.9.17 (opens in API7 Gateway docs) | 2026-07-28 | Fix | Fixed issue: The plugin metadata schema accepted non-scalar values for resource attributes and collector.request_headers, which were then silently dropped at runtime. Such values are now rejected at configuration time. (opens in API7 Gateway docs) |
| 3.9.17 (opens in API7 Gateway docs) | 2026-07-28 | Change | OpenTelemetry plugin metadata accepts only scalar values — strings, numbers, and booleans — for resource attributes and for collector.request_headers. Arrays and objects, which earlier versions accepted and then silen… (opens in API7 Gateway docs) |
| 3.9.16 (opens in API7 Gateway docs) | 2026-07-10 | Fix | Fixed issue: additional_attributes were evaluated before log-phase variables were populated, so attributes that depend on final request state could be missing or stale. They are now evaluated in the log phase. (opens in API7 Gateway docs) |
| 3.9.16 (opens in API7 Gateway docs) | 2026-07-10 | Fix | Fixed issue: Updating OpenTelemetry plugin metadata at runtime did not rebuild the tracer used for injected core spans, so those spans could keep using stale collector or resource settings until worker recycle. The tr… (opens in API7 Gateway docs) |
| 3.9.11 (opens in API7 Gateway docs) | 2026-04-30 | Fix | Fixed issue: Non-string values in additional_attributes (such as numbers or booleans from nginx variables) were silently dropped by the OpenTelemetry SDK. They are now coerced to strings before being added to spans. (opens in API7 Gateway docs) |
| 3.9.10 (opens in API7 Gateway docs) | 2026-04-22 | Feature | Prometheus, OpenTelemetry, Zipkin: Added a new response_source label (Prometheus) and apisix.response_source span attribute (OpenTelemetry, Zipkin) that classifies each response as "apisix" (generated by APISIX, such… (opens in API7 Gateway docs) |
| 3.7.2 (opens in API7 Gateway docs) | 2025-03-24 | Fix | Fixed issue: A 404 response on the dynamic route /v2/:customerNumber results in an empty reported path. (opens in API7 Gateway docs) |
| 3.5.1 (opens in API7 Gateway docs) | 2025-02-06 | Fix | Fixed issue: Cannot reporting request.url as route.url when the plugin reports dynamic routes /v2/:customerNumber. (opens in API7 Gateway docs) |
| 3.3.0 (opens in API7 Gateway docs) | 2024-12-17 | Feature | Added variables. (opens in API7 Gateway docs) |
| 3.2.16.3 (opens in API7 Gateway docs) | 2024-10-21 | Fix | Fixed issue:the OpenTelemetry Plugin did not support set_ngx_var. (opens in API7 Gateway docs) |