Repository navigation
Description
Daily third-party compatibility check for the JS SDK. One actionable item since the last run (2026-10-20).
OpenTelemetry JS 3.0.0 / experimental 0.300.0 / API 1.10.0 are GA (Oct 20, 18:23 UTC)
npm latest is now @opentelemetry/core 3.0.0 and @opentelemetry/api 1.10.0. @opentelemetry/sdk-trace-base stays at 2.12.0 and gets no 3.x release, because the package was removed.
What @bugsee/opentelemetry declares today: optional peers @opentelemetry/api >=1.0.0 and @opentelemetry/sdk-trace-base >=1.0.0, dev deps @opentelemetry/api ^1.9.0 and @opentelemetry/sdk-trace-base ^2.12.0. The span processor uses structural types (no OTel imports), covering the SDK 1.x parentSpanId and 2.x parentSpanContext shapes.
Changes that touch us
@opentelemetry/sdk-trace-base,sdk-trace-webandsdk-trace-nodeare removed and replaced by a single@opentelemetry/sdk-tracepackage (#7117, #7054). OTel 3 users won't havesdk-trace-baseinstalled, so our peer declaration, docs and samples point at a package that no longer exists on 3.x.@opentelemetry/sdk-trace3.0.0 is on npm.- The
Attributesvalue type is widened withAnyValue(complex attributes, OTEP 4485) in@opentelemetry/api1.10 (#6780). The release notes call this a breaking change for SDK implementations. Our consume path (readableSpanToConsumed) and the to-OTLP/from-OTLP mapping may now see nested objects, arrays of mixed types or byte arrays in span attributes, so the wire mapping needs to handle or drop them deliberately. - Exports maps everywhere; deep imports into
build/...and<pkg>/package.jsonno longer resolve (#6293). Thebrowserfield was replaced with#platformsubpath imports, so webpack needs 5.54+ and bundlers withoutimportssupport fail (#7141). Worth checking our bundler plugins and the browser/webworker/edge builds if any of them pull OTel in. - Minimum Node.js is now
>=22.15.0(18 and 20 dropped). Our engines are>=18with a 18–24 matrix, so OTel 3 can only be tested on the 22/24 legs. - Removed from
@opentelemetry/core:getTimeOrigin,otperformance,_globalThis,unrefTimer(#7053). RemovedTracerProviderOptions.forceFlushTimeoutMillis(#7057). The Jaeger propagator and exporter are gone in favour of W3C Trace Context and OTLP (#7077). The Logs API moved into@opentelemetry/api, and@opentelemetry/api-logsis gone (#4862). - API 1.10 adds an optional
context.attach()onContextManager(#6845). This is additive and only relevant if we ever ship our own context manager. - Only experimental 0.300.x is compatible with stable 3.0.0, so mixed 2.x/3.x installs in customer apps will be common for a while.
Links: v3.0.0 release, experimental/v0.300.0, api/v1.10.0, 3.x migration guide.
Suggested follow-up
- Add
@opentelemetry/sdk-trace(>=3) as an optional peer next tosdk-trace-base(keep>=1 <3for 1.x/2.x users), and update docs/design/opentelemetry-integration.md and the samples. - Run the span-processor and OTLP tests against a real
@opentelemetry/sdk-trace@3TracerProvider(Node 22+), and confirm theReadableSpanshape still matchesReadableSpanLikeand our processor is still assignable toSpanProcessor. - Decide how complex
AnyValueattributes map to the Bugsee wire format (serialize, flatten, or drop), and add fuzz cases for them. - Make sure nothing in the SDK deep-imports OTel
build/paths or reads@opentelemetry/*/package.json.
rrweb
npm latest for rrweb and @rrweb/types is still 2.1.7. packages/rrweb requires ^2.1.7, and the fork pin bugsee/rrweb#ad172467 is unchanged on 2.1.7, so no update PR is needed.
Other movement since yesterday (no action)
Solid 2.0.0-rc.16 and @solidjs/router 2.0.0-next.41, Electron 45.0.0-beta.6 (latest 44.9.2), Rspack 2.3.0-beta.0, Next 16.5.0-canary.21, React canary bumps, Rollup 4.64.12, Wrangler 4.151.3 and the daily workerd builds. Node is still v26.12.0 and Deno is still 2.9.7.
Filed automatically by the Bugsee JS SDK third-party compatibility tracker (weekday check). Versions and dates come from the npm registry and GitHub releases on 2026-10-21.
Activity
fix(opentelemetry,performance,nextjs): bounded total attribute serial…
fix(performance,opentelemetry): null-tolerant scalar arrays, GenAI co…
fix(performance,protocol): bound attributes of every span before reda…
fix(opentelemetry): derive child span kind from the safe attribute co…
fix(performance,opentelemetry): length caps no longer defeat redactio…
fix(performance): single length read, copy arrays on flatten, token-d…
fix(opentelemetry): never put the truncation marker inside bytesValue (…
fix(performance,protocol): boundary-less leaves back off before the l…
fix(performance,protocol): back off to the secret the cut lands in, n…
test(protocol,performance): pin the start-check cap, the JWT-with-emb…
fix(opentelemetry): support OpenTelemetry JS 3.x (sdk-trace peer, Any…