@opentelemetry/web-common
0.300.0 · 20 Oct 2026Apache-2.0336.5k / weekRepositoryHomepagenpmAtom feed
34 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 0.300.x · latest line
0.300.0
20 Oct 2026- breaking
shim-opencensus: remove the
@opentelemetry/shim-opencensuspackage - breaking
instrumentation-http: remove deprecated
serverNamefield fromHttpInstrumentationConfig#7081 - breaking
sdk-node: remove deprecated
NodeSDKConfigurationfieldslogRecordProcessor,metricReader,spanProcessorand deprecated namespace re-exportsnode,tracing
Summary
The minimum supported Node.js has been raised to
>=22.15.0. This means that support for Node.js 18 and 20 has been dropped.The public interface has changed
for notes on migrating to 3.x / 0.300.x see the upgrade guide
Only stable versions
3.0.0are compatible with this release
:boom: Breaking Changes
- breaking
shim-opencensus: remove the
@opentelemetry/shim-opencensuspackageIn the OpenTelemetry Specification v1.58.0 the OpenCensus compatibility requirements were deprecated. The JavaScript OpenCensus shim package will not receive any more releases after the current 0.222.0 release (source code for last release).
- breaking
instrumentation-http: remove deprecated
serverNamefield fromHttpInstrumentationConfig#7081The
serverNameoption had no effect; stable HTTP semantic conventions do not includehttp.server_name. Remove it from anysetConfig()or constructor call.
- breaking
sdk-node: remove deprecated
NodeSDKConfigurationfieldslogRecordProcessor,metricReader,spanProcessorand deprecated namespace re-exportsnode,tracingNodeSDKConfiguration.logRecordProcessor— uselogRecordProcessorsinstead.NodeSDKConfiguration.metricReader— usemetricReadersinstead.NodeSDKConfiguration.spanProcessor— usespanProcessorsinstead.export * as node from '@opentelemetry/sdk-node'— import directly from@opentelemetry/sdk-trace-nodeinstead.export * as tracing from '@opentelemetry/sdk-node'— import directly from@opentelemetry/sdk-trace-baseinstead.
- breaking
sdk-logs: remove deprecated
SdkLogRecordtype alias andLoggerProviderConfigtype alias #7062SdkLogRecord— useReadWriteLogRecordinstead.LoggerProviderConfig— useLoggerProviderOptionsinstead.
- breaking
migrate package builds from
tsctotsdown, emitting dual CJS/ESM output from a singledist/directory and declaring anexportsmap on every package #6293Importing a package by its name is unaffected in both CommonJS and ESM, as is every subpath listed in its
exportsmap.Deep imports into the build output no longer resolve. An
exportsmap is an allowlist that Node.js and bundlers enforce, so specifiers such as@opentelemetry/sdk-logs/build/src/...or@opentelemetry/sdk-logs/build/esm/...now fail withERR_PACKAGE_PATH_NOT_EXPORTED. Rewriting them to the new file layout does not help — unlisted subpaths are rejected whether or not the file exists.The emitted files moved out of
build/src(CJS),build/esmandbuild/esnext(ESM) intodist/, using.cjs/.mjsextensions with matching.d.cts/.d.mtsdeclarations.<package>/package.jsonis no longer importable for the same reason. Read a package's version from your own dependency metadata, or useSDK_INFOfrom@opentelemetry/corefor the SDK version.The non-standard
esnextentry point has been removed; tools that preferred it fall back tomodule(ESM) ormain(CJS).Packages that ship separate Node.js and browser implementations export them under explicit subpaths, for example
@opentelemetry/sdk-logs/platform. If you depend on something that is only reachable through a deep import, please open an issue so it can be considered for the public API.
- breaking
sdk-node: remove
"jaeger"propagator from@opentelemetry/sdk-node#7077OTEL_PROPAGATORS=jaegerand{ jaeger: null }in the configuration object are no longer recognised. Replace with"tracecontext".See the 3.x migration guide for full instructions.
- breaking
opentelemetry-exporter-prometheus: default exporter host to localhost #6599
- breaking
bump minimum node.js version to >=22.15.0
- breaking
api-logs: move the Logs API to
@opentelemetry/apiand remove the standalone@opentelemetry/api-logspackage #4862 - breaking
exporter-prometheus: stop reading Prometheus exporter host and port environment variables in the exporter constructor #6966
- breaking
web-common: clean up and deprecate network span utils #7114
These utilities were long planned for removal. They were moved from the
sdk-trace-webpackage and are currently only used by the (deprecated)instrumentation-fetchandinstrumentation-xml-http-requestpackages.Drop the
skipOldSemconvContentLengthAttrsvestigial option fromaddSpanNetworkEvents().
- breaking
sdk-node: drop SDK package re-exports (
api,contextBase,core,logs,metrics,resources) #7111api/contextBase→ import from@opentelemetry/apicore→ import from@opentelemetry/corelogs→ import from@opentelemetry/sdk-logsmetrics→ import from@opentelemetry/sdk-metricsresources→ import from@opentelemetry/resources
- breaking
sdk-logs: mark
@opentelemetry/sdk-logsas stable #7143See the stable CHANGELOG for future changes to the sdk-logs package.
- breaking
replace the
browserfield inpackage.jsonwith#platformsubpath imports #7141Resolvers with the
nodecondition load the Node.js build; all others load the browser build. Bundlers withoutimportssupport fail; see the migration guide.webpack needs 5.54 or later. Parcel needs package exports enabled and cannot resolve
#platformfromrequire().Root type declarations describe the Node.js build.
- breaking
instrumentation, exporter--otlp-http, exporter--otlp-proto: remove the
./platformand./platform/browsersubpath exports; import from the package root #7141 - breaking
otlp-exporter-base: move
OTLPExporterNodeConfigBaseto@opentelemetry/otlp-exporter-base/node-http#7172typesVersionsmaps the subpaths formoduleResolution: node.
:rocket: Features
refactor!(api-logs): remove AnyValue-related types in favor of new types in the
apipackage #6780The
AnyValue,LogBody, andLogAttributestypes are no longer exported by theapi-logspackage.
Instead, use theAnyValueandAttributestypes from the latest@opentelemetry/apipackage.This is part of supporting OTEP 4485.
instrumentation: add
isEnabled()to the browserInstrumentationBase; fetch and XHR report false when patching throws #7140- breaking
instrumentation: make
InstrumentationBase#_enabledprotected on both platforms #7202The browser base no longer tracks
enable()anddisable()calls. Browser subclasses set_enabledthemselves; one that never sets it reportsisEnabled()as false.A browser subclass that declares its own
private _enabledfails to compile; rename it or declare itprotected.
:bug: Bug Fixes
otlp-exporter-base: suppress tracing around the browser fetch transport's own request so a
fetchinstrumentation cannot create an export → span → export loop #6948instrumentation-http: set
error.typeon spans whose status code makes them an error #7061exporter-prometheus: prevent duplicate metric metadata and keep metric families grouped across instrumentation scopes in Prometheus scrapes #7047
configuration: preserve zero-valued limits from environment variables #7060
otlp-exporter-base: release the keepalive budget once the response body drains, instead of holding up the export until it does #7070
web-common: export getElementXPath utility
This was accidentally missed when moving utilities from sdk-trace-web to web-common.
opentelemetry-browser-detector: mark the package side-effect free so bundlers can tree-shake it #7135
resolve the ESM build through the
defaultexport condition instead ofimport, so a resolver that activates neitherimportnorrequirestill finds an entry point #7132instrumentation-fetch: define
PropagateTraceHeaderCorsUrlslocally, so the types no longer import@opentelemetry/web-common#7193web-common: declare
@opentelemetry/sdk-traceand@opentelemetry/sdk-logsas dependencies #7193instrumentation-fetch, instrumentation-xml-http-request: stay disabled when
fetchorXMLHttpRequestopen/sendis missing, so a laterenable()retries #7171instrumentation: move
InstrumentationNodeModuleFilebehind#platform, so the root types no longer import Node.jspath#7177otlp-transformer: accept DOM
TextDecoderinProtobufReadertyping #7169
- 0.223.x
0.223.0
6 Oct 2026- breaking
web-common: clean up and deprecate network span utils #7114
:boom: Breaking Changes
- breaking
web-common: clean up and deprecate network span utils #7114
These utilities were long planned for removal. They were moved from the
sdk-trace-webpackage and are currently only used by the (deprecated)instrumentation-fetchandinstrumentation-xml-http-requestpackages.Drop the
skipOldSemconvContentLengthAttrsvestigial option fromaddSpanNetworkEvents().
- 0.222.x
0.222.0
31 Aug 2026- breaking
sdk-node: fail-fast on Propagator creation from config file #6930
- breaking
sdk-node: fail-fast on MeterProvider creation from config file #6954
- breaking
sdk-node: fail-fast on TracerProvider creation from config file #6962
:boom: Breaking Changes
- breaking
sdk-node: fail-fast on Propagator creation from config file #6930
- breaking
sdk-node: fail-fast on MeterProvider creation from config file #6954
- breaking
sdk-node: fail-fast on TracerProvider creation from config file #6962
- breaking
sdk-node: fail-fast on Resource creation from config file #6989
This also breaks some usage of
startNodeSDK()for environment-based config, i.e. when not using a config file. For example withOTEL_NODE_RESOURCE_DETECTORS=all, it results in an error message and a no-op SDK.
(This does not impact users ofnew NodeSDK()-- the currently recommended mechanism to start an SDK using this package.)Could not create OpenTelemetry SDK from configuration, SDK will not be setup: unknown ExperimentalResourceDetector name in configuration: "container"
:rocket: Features
- deprecated
sdk-logs: deprecate
SdkLogRecordin favor ofReadWriteLogRecord#6939
:bug: Bug Fixes
- 0.221.x
0.221.0
21 Jul 2026Reading the note…
- 0.220.x
0.220.0
2 Jul 2026Reading the note…
- 0.219.x
0.219.0
11 Jun 2026Reading the note…
- 0.218.x
0.218.0
13 May 2026Reading the note…
- 0.217.x
0.217.0
6 May 2026Reading the note…
- 0.216.x
0.216.0
29 Apr 2026Reading the note…
- 0.215.x
0.215.0
17 Apr 2026Reading the note…
- 0.214.x
0.214.0
25 Mar 2026Reading the note…
- 0.213.x
0.213.0
3 Mar 2026Reading the note…
- 0.212.x
0.212.0
12 Feb 2026Reading the note…
- 0.211.x
0.211.0
21 Jan 2026Reading the note…
- 0.210.x
0.210.0
14 Jan 2026Reading the note…
- 0.209.x
0.209.0
8 Jan 2026Reading the note…
- 0.208.x
0.208.0
6 Nov 2025Reading the note…
- 0.207.x
0.207.0
21 Oct 2025Reading the note…
- 0.206.x
0.206.0
6 Oct 2025Reading the note…
- 0.205.x
0.205.0
10 Sep 2025Reading the note…
- 0.204.x
0.204.0
4 Sep 2025Reading the note…
- 0.203.x
0.203.0
9 Jul 2025Reading the note…
- 0.202.x
0.202.0
2 Jun 2025Reading the note…
- 0.201.x
0.201.1
19 May 2025Reading the note…
0.201.0
15 May 2025Reading the note…
- 0.200.x
0.200.0
17 Mar 2025Reading the note…
- 0.57.x
0.57.2
13 Feb 2025Reading the note…
0.57.1
14 Jan 2025Reading the note…
0.57.0
18 Dec 2024Reading the note…
- 0.56.x
0.56.0
4 Dec 2024Reading the note…
- 0.55.x
0.55.0
18 Nov 2024Reading the note…
- 0.54.x
0.54.2
7 Nov 2024Reading the note…
0.54.1
5 Nov 2024Reading the note…
0.54.0
23 Oct 2024Reading the note…