github open-telemetry/opentelemetry-js experimental/v0.204.0

one day ago

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 into OtlpHttpConfiguration.agentFactory
      • (old) { agentOptions: myOptions }
      • (new) { agentFactory: httpAgentFactoryFromOptions(myOptions) }

🚀 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 over XMLHttpRequest if present. Sending via XMLHttpRequest will be removed in a future release.
  • 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 old metricReader (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

Don't miss a new opentelemetry-js release

NewReleases is sending notifications on new releases.