You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Only experimental versions 0.200.0 are compatible with this release
💥 Breaking Change
feat(sdk-trace-base)!: Add parentSpanContext and remove parentSpanId from Span and ReadableSpan#5450@JacksonWeber
(user-facing): the SDK's Spans parentSpanId was replaced by parentSpanContext, to migrate to the new property, please replace span.parentSpanId -> span.parentSpanContext?.spanId
feat(sdk-metrics)!: drop deprecated type field on MetricDescriptor#5291@chancancode
feat(sdk-metrics)!: drop deprecated InstrumentDescriptor type; use MetricDescriptor instead #5277@chancancode
feat(sdk-metrics)!: bump minimum version of @opentelemetry/api peer dependency to 1.9.0 #5254@chancancode
(user-facing) dropped support for typescript@<5.0.4
(user-facing) all packages published from this repository will from now on drop support for old versions of typescript in minor releases. We will only drop support for versions that are older than 2 years.
(user-facing): deprecated AlwaysOnSampler has moved to @opentelemetry/sdk-trace-base
(user-facing): deprecated AlwaysOffSampler has moved to @opentelemetry/sdk-trace-base
(user-facing): deprecated ParentBasedSampler has moved to @opentelemetry/sdk-trace-base
(user-facing): deprecated TraceIdRatioSampler has moved to @opentelemetry/sdk-trace-base
feat(resource): Merge sync and async resource interfaces into a single interface #5350@dyladan
Resource constructor now takes a single argument which contains an optional attributes object
Detected resource attribute values may be a promise or a synchronous value
Resources are now merged by the order in which their detectors are configured instead of async attributes being last
Resource detectors now return DetectedResource plain objects instead of new Resource()
feat(sdk-trace-base)!: drop ability to instantiate propagators beyond defaults #5355@pichlermarc
(user-facing): only a non-env-var based default is now used on BasicTracerProvider#register().
propagators can now not be configured via OTEL_PROPAGATORS or window.OTEL_PROPAGATORS anymore, please pass the propagator to NodeTracerProvider#register() instead.
if not configured directly via code, BasicTracerProvider#register() will now fall back to defaults (tracecontext and baggage)
feat(sdk-trace-node)!: drop ability to instantiate propagators beyond defaults #5355@pichlermarc
(user-facing): only a non-env-var based default is now used on NodeTracerProvider#register().
propagators can now not be configured via OTEL_PROPAGATORS anymore, please pass the propagator to NodeTracerProvider#register() instead.
if not configured via code, NodeTracerProvider#register() will now fall back to the defaults (tracecontext and baggage)
if autoconfiguration based on enviornment variables is needed, please use NodeSDK from @opentelemetry/sdk-node.
feat(sdk-trace-web)!: drop ability to instantiate propagators beyond defaults #5355@pichlermarc
(user-facing): only a non-env-var based default is now used on WebTracerProvider#register().
propagators can now not be configured via window.OTEL_PROPAGATORS anymore, please pass the propagator to WebTracerProvider#register() instead.
if not configured via code, WebTracerProvider#register() will now fall back to defaults (tracecontext and baggage)
(user-facing): EXPORTER_FACTORY is not used anymore and has been removed
(user-facing): PROPAGATOR_FACTORY is not used anymore and has been removed
(user-facing): ForceFlushState was intended for internal use and has been removed
(user-facing): the Tracer class was unintentionally exported and has been removed
to obtain a Tracer, please use BasicTracerProvider#getTracer(), NodeTracerProvider#getTracer() or WebTracerProvider#getTracer()
to reference a Tracer, please use the Tracer type from @opentelemetry/api
chore!: Raise the minimum supported Node.js version to ^18.19.0 || >=20.6.0. Support for Node.js 14, 16, and early minor versions of 18 and 20 have been dropped. This applies to all packages except the 'api' and 'semantic-conventions' packages. #5395@trentm
feat(core)!: remove TracesSamplerValues from exports #5406@pichlermarc
(user-facing): TracesSamplerValues was only consumed internally and has been removed from exports without replacement
chore(resources)!: Remove deprecated duplicate browser detector from @opentelemetry/resource in favor of @opentelemetry/opentelemetry-browser-detector#5420
feat(core)!: remove unused and obsolete functions and types #5444@pichlermarc
(user-facing): VERSION was an internal constant that was unintentionally exported. It has been removed without replacement.
(user-facing): isWrapped has been removed in favor of isWrapped from @opentelemetry/instrumentation
(user-facing): ShimWrapped has been removed in favor of ShimWrapped from @opentelemetry/instrumentation
(user-facing): hexToBase64 was a utility function that is not used by the SDK anymore. It has been removed without replacement.
(user-facing): hexToBinary was a utility function that now internal to @opentelemetry/otlp-tranformer. It has been removed without replacement.
(user-facing): baggageUtils.getKeyParis was an internal utility function that was unintentionally exported. It has been removed without replacement.
(user-facing): baggageUtils.serializeKeyPairs was an internal utility function that was unintentionally exported. It has been removed without replacement.
(user-facing): baggageUtils.parseKeyPairsIntoRecord, has been removed in favor of parseKeyPairsIntoRecord
(user-facing): baggageUtils.parsePairKeyValue was an internal utility function that was unintentionally exported. It has been removed without replacement.
(user-facing): TimeOriginLegacy has been removed without replacement.
(user-facing): isAttributeKey was an internal utility function that was unintentionally exported. It has been removed without replacement.
feat(sdk-trace-base)!: do not read environment variables from window in browsers #5445@pichlermarc
(user-facing): all configuration previously possible via window.OTEL_* is now not supported anymore, please pass configuration options to constructors instead.
Note: Node.js environment variable configuration continues to work as-is.
feat(exporter-zipkin)!: do not read environment variables from window in browsers #5465@pichlermarc
(user-facing): all configuration previously possible via window.OTEL_* is now not supported anymore, please pass configuration options to constructors instead.
Note: Node.js environment variable configuration continues to work as-is.
feat(resource)!: Remove resource class export in favor of functions and types only to aid in cross-version compatibility #5421
Renames Resource class to ResourceImpl and makes it package-private
Renames IResource interface to Resource
Export function resourceFromAttributes to create a Resource from a DetectedAttributes object
Export function defaultResource to create a default resource #5467@pichlermarc
Export function emptyResource to create an empty resource #5467@pichlermarc
Only export types and functions. This aids in cross-version compatibility and makes it more easily extensible in the future.
feat(resources)!: do not read environment variables from window in browsers #5466@pichlermarc
(user-facing): all configuration previously possible via window.OTEL_* is now not supported anymore
If you have been using the envDetector in browser environments, please migrate to manually creating a resource.
Note: Node.js environment variable configuration continues to work as-is.
fix(sdk-trace-base)!: use ParentBasedAlwaysOnSampler over AlwaysOnSampler when bogus data is supplied to OTEL_TRACES_SAMPLER
this aligns the SDK implementation with the specification
feat(core)!: drop getEnv(), getEnvWithoutDefaults()#5481@pichlermarc
(user-facing): getEnv() has been replaced by getStringFromEnv(), getNumberFromEnv(), getBooleanFromEnv(), getStringListFromEnv()
these new functions do not include defaults, please inline any defaults if necessary (example: getStringFromEnv("OTEL_FOO") ?? "my-default")
to find the previously used defaults, please see here
(user-facing): getEnvWithoutDefaults() has been replaced by getStringFromEnv(), getNumberFromEnv(), getBooleanFromEnv(), getStringListFromEnv()
(user-facing): DEFAULT_ENVIRONMENT has been removed, please inline any defaults from now on
to find the previously used defaults, please see here
(user-facing): ENVIRONMENT has been removed without replacement
(user-facing): RAW_ENVIRONMENT has been removed without replacement
(user-facing): parseEnvironment has been removed without replacement
feat(sdk-trace-base): remove BasicTracerProvider#register() to improve tree-shaking #5503@pichlermarc
(user-facing): BasicTracerProvider#register() has been removed
to register a global propagator, please use propagation.setGlobalPropagator() from @opentelemetry/api
to register a global context manager, please use context.setGlobalContextManager() from @opentelemetry/api
feat!: set compilation target to ES2022 for all packages except @opentelemetry/api, @opentelemetry/api-logs, @opentelemetry/api-events, and @opentelemetry/semantic-conventions#5456@david-luna
(user-facing): drops browser runtimes which do not support ES2022 features
fix(exporter-zipkin): remove usages of deprecated url.parse from node:url#5390@chancancode
fix(sdk-metrics): do not export from PeriodicExportingMetricReader when there are no metrics to export. #5288@JacksonWeber
fix(sdk-trace-base): always wait on pending export in SimpleSpanProcessor. #5303@anuraaga
fix(core): avoid using util in configuration.ts for browser compatibility #5524@sriraamas
🏠 (Internal)
refactor(sdk-metrics): the internal InstrumentDescriptor type now extends MetricDescriptor; moved public InstrumentType type enum into ./src/export/MetricData.ts#5277
refactor(sdk-metrics): remove Gauge and MetricAdvice workaround types in favor of the upstream @opentelemetry/api types #5254@chancancode
chore: remove checks for unsupported node versions #4341@dyladan
chore(selenium-tests): remove internal selenium-tests/ package, it wasn't being used @trentm
chore: update typescript module compiler option to node16. #5347@david-luna
feat(opentelemetry-instrumentation): replace semver package with internal semantic versioning check implementation to get rid of semver package initialization overhead especially in the AWS Lambda environment during coldstart #5305@serkan-ozal
chore: unpin @opentelemetry/semantic-conventions dep to allow better de-duplication in installs #5439@trentm