0.204.0
💥 Breaking Changes
- feat(api-logs)!: Marked private methods as "conventionally private". #5789
- feat(exporter-otlp-*): support custom HTTP agents #5719 @raphael-theriault-swi
OtlpHttpConfiguration.agentOptions
has been removed and functionality has been rolled intoOtlpHttpConfiguration.agentFactory
- (old)
{ agentOptions: myOptions }
- (new)
{ agentFactory: httpAgentFactoryFromOptions(myOptions) }
- (old)
🚀 Features
- feat(otlp-exporter-base): Add fetch transport for fetch-only environments like service workers. #5807
- when using headers, the Browser exporter now prefers
fetch
overXMLHttpRequest
if present. Sending viaXMLHttpRequest
will be removed in a future release.
- when using headers, the Browser exporter now prefers
- feat(opentelemetry-configuration): creation of basic ConfigProvider #5809 @maryliag
- feat(opentelemetry-configuration): creation of basic FileConfigProvider #5863 @maryliag
- feat(sdk-node): Add support for multiple metric readers via the new
metricReaders
option in NodeSDK configuration. Users can now register multiple metric readers (e.g., Console, Prometheus) directly through the NodeSDK constructor. The oldmetricReader
(singular) option is now deprecated and will show a warning if used, but remains supported for backward compatibility. Comprehensive tests and documentation have been added. #5760-
Migration:
-
Before:
const sdk = new NodeSDK({ metricReader: myMetricReader });
-
After:
const sdk = new NodeSDK({ metricReaders: [myMetricReader] });
-
-
Users should migrate to the new
metricReaders
array option for future compatibility. The old option will be removed in an upcoming experimental version.
-
- feat(instrumentation-http): Added support for redacting specific url query string values and url credentials #5743 @rads-1996
🐛 Bug Fixes
- fix(otlp-exporter-base): prioritize
esnext
export condition as it is more specific #5458 - fix(otlp-exporter-base): consider relative urls as valid in browser environments #5807
- fix(instrumentation-fetch): Use ESM version of semconv instead of CJS. Users expecting mixed ESM and CJS modules will now only get ESM modules. #5878 @overbalance
🏠 Internal
- refactor(otlp-exporter-base): use getStringFromEnv instead of process.env #5594 @weyert
- chore(sdk-logs): refactored imports #5801 @svetlanabrennan
- refactor(instrumentation-grpc): updated path to semconv #5884 @overbalance