Skip to content

Update opentelemetry-js monorepo to v3 - #1021

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-opentelemetry-js-monorepo
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-opentelemetry-js-monorepo

Conversation

@renovate

@renovate renovate Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@opentelemetry/core (source) 2.12.0 → 3.1.0 age confidence
@opentelemetry/resources (source) 2.12.0 → 3.1.0 age confidence

Release Notes

open-telemetry/opentelemetry-js (@​opentelemetry/core)

v3.1.0

Compare Source

🚀 Features
  • feat(resources): Deprecate envDetector in favor of separate resourceAttributesEnvDetector and serviceNameEnvDetector. Also mark serviceInstanceIdDetector as stable (the service.instance.id semconv attribute is now stable). #​6999 @​trentm
🐛 Bug Fixes
  • fix(context-zone): declare the @opentelemetry/api peer dependency so Yarn PnP can resolve it for context-zone-peer-dep #​7268 @​Vivek1898
  • fix(core): accept attribute values with shared (non-circular) object references #​7068 @​rajanpanth
  • fix: raise the minimum @opentelemetry/api peer dependency version to 1.10.0 for packages that depend on @opentelemetry/core, @opentelemetry/otlp-transformer or @opentelemetry/instrumentation, as these use API 1.10 features. (#​7258) @​volodymyrshk @​pichlermarc
    • Combining these packages with @opentelemetry/api 1.9.x never worked: they failed at runtime. The peer dependency now makes npm report this at install time instead.
    • If you see a peer dependency error after upgrading, update @opentelemetry/api to 1.10.0 or later.
  • fix(propagator-b3): reject trace ids that are not 16 or 32 characters long #​7262 @​adityareddy-dev
📚 Documentation
🏠 Internal

v3.0.0

Compare Source

💥 Breaking Changes
  • chore(sdk-trace-node)!: remove the @opentelemetry/sdk-trace-node package #​7054
    • The sdk-trace-node package has been replaced by the @opentelemetry/sdk-trace package.
      See the 3.x migration guide for full migration instructions.
  • chore(shim-opentracing)!: remove the @opentelemetry/shim-opentracing package
  • chore(context-async-hooks)!: remove the unused class AsyncHooksContextManager #​7078
  • feat!: migrate package builds from tsc to tsdown, emitting dual CJS/ESM output from a single dist/ directory and declaring an exports map on every package #​6293 @​overbalance
    • Importing a package by its name is unaffected in both CommonJS and ESM, as is every subpath listed in its exports map.
    • Deep imports into the build output no longer resolve. An exports map is an allowlist that Node.js and bundlers enforce, so specifiers such as @opentelemetry/core/build/src/... or @opentelemetry/core/build/esm/... now fail with ERR_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/esm and build/esnext (ESM) into dist/, using .cjs/.mjs extensions with matching .d.cts/.d.mts declarations.
    • <package>/package.json is no longer importable for the same reason. Read a package's version from your own dependency metadata, or use SDK_INFO from @opentelemetry/core for the SDK version.
    • The non-standard esnext entry point has been removed; tools that preferred it fall back to module (ESM) or main (CJS).
    • 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.
  • feat(core)!: remove deprecated getTimeOrigin, otperformance, _globalThis, and unrefTimer from @opentelemetry/core #​7053
    • getTimeOrigin() — use performance.timeOrigin directly.
    • otperformance — use the global performance object directly.
    • _globalThis — use globalThis directly.
    • unrefTimer(timer) — call timer.unref() directly in your own code.
  • feat(sdk-trace)!: remove deprecated TracerProviderOptions.forceFlushTimeoutMillis #​7057
    • Pass timeoutMillis to provider.forceFlush({ timeoutMillis }) instead. The default timeout is 30000ms.
  • feat(propagator-jaeger)!: remove @opentelemetry/propagator-jaeger package #​7077
    • The Jaeger propagator is deprecated by the OpenTelemetry specification in favour of W3CTraceContextPropagator. Use W3CTraceContextPropagator from @opentelemetry/core instead.
    • See the 3.x migration guide for full instructions.
  • feat(exporter-jaeger)!: remove @opentelemetry/exporter-jaeger package
    • The Jaeger exporter has been removed. Jaeger has deprecated its custom Thrift collection protocols in favor of standard OpenTelemetry Protocol (OTLP). Use standard OTLP exporters instead.
    • See the 3.x migration guide for full instructions.
  • chore!: bump minimum node.js version to >=22.15.0
  • chore(sdk-trace-base, sdk-trace-web)!: remove the @opentelemetry/sdk-trace-base and @opentelemetry/sdk-trace-web packages #​7117
    • The sdk-trace-base, sdk-trace-web, and sdk-trace-node packages have been replaced by the @opentelemetry/sdk-trace package.
      See the 3.x migration guide for full migration instructions.
  • feat!: replace the browser field in package.json with #platform subpath imports #​7141 @​overbalance
    • Resolvers with the node condition load the Node.js build; all others load the browser build. Bundlers without imports support fail; see the migration guide.
    • webpack needs 5.54 or later. Parcel needs package exports enabled and cannot resolve #platform from require().
    • Root type declarations describe the Node.js build.
  • feat(resources)!: remove the ./detectors/platform and ./detectors/platform/browser subpath exports; import from the package root #​7141 @​overbalance
  • feat(core, sdk-trace, sdk-logs, exporter-zipkin)!: remove the ./platform and ./platform/browser subpath exports; import from the package root #​7141 @​overbalance
  • fix(sdk-logs)!: replace LoggerConfig.disabled with enabled to match the specification #​7160
    • Replace disabled: true with enabled: false, and disabled: false with enabled: true. Loggers remain enabled by default.
🚀 Features
  • feat(sdk-metrics): stabilize maxExportBatchSize option in PeriodicExportingMetricReader
  • chore(sdk-logs): mark @opentelemetry/sdk-logs as stable #​7143 @​trentm
  • feat(sdk-trace, sdk-logs): add the browser-only disableAutoFlushOnDocumentHide to BatchSpanProcessorOptions and BatchLogRecordProcessorOptions, deprecate BatchSpanProcessorBrowserOptions and BatchLogRecordProcessorBrowserOptions #​7140 @​overbalance
🐛 Bug Fixes
  • fix(sdk-metrics): guard against a missing or empty name to MeterProvider#getMeter #​7105 @​trentm
  • fix: resolve the ESM build through the default export condition instead of import, so a resolver that activates neither import nor require still finds an entry point #​7132 @​overbalance
  • fix(sdk-trace): make the Node.js RandomIdGenerator id generators prototype methods, so subclasses can override them #​7190 @​overbalance
  • fix(sdk-logs): report a rejected document-hide flush to the global error handler #​7187 @​overbalance
  • fix(sdk-trace): count attributes passed to startSpan toward attributeCountLimit #​7176 @​overbalance
  • fix(resources): stop reading globalThis.process in the browser build #​7173 @​overbalance
  • fix(core): return false instead of undefined from the browser getBooleanFromEnv #​7188 @​overbalance
  • fix(core): no longer drop an attribute value that is an object that has undefined properties #​7207 @​trentm
    • isAnyValue() now returns true for {aStr: 'bob', anUndefined: undefined}. This restores the behavior of the old isLogAttributeValue from version 2.x of the sdk-logs package.
    • "Cleaning" of attributes, by cleanAttributes() and maybeAddAttribute(), will now drop undefined properties from objects. For example, logger.emit(attributes: {myAttr: {aStr: 'bob', anUndefined: undefined}, ...) will include attributes: {myAttr: {aStr: 'bob'}}.
📚 Documentation
  • chore(examples): drop examples/{otlp-exporter-node,grpc-js} #​7096
🏠 Internal
  • chore: remove @opentelemetry/sdk-trace-web package from examples and bundler tests #​7095
  • chore(sdk-trace): add StackContextManager in @opentelemetry/sdk-trace package #​7086
  • feat(ci): support releasing from maintenance branches #​6767 @​pichlermarc
    • The API documentation site is only redeployed for releases whose commit is reachable from main, so a maintenance release no longer overwrites it.
  • chore: don't close stale issues #x @​maryliag
  • chore: mark the workspace root package as private #​7097 @​overbalance
  • chore: declare the Node.js and npm version floors that the tsdown build requires via devEngines #​7093 @​overbalance
    • The migration to tsdown raised the toolchain a contributor needs to build this repo, but nothing declared it. Contributors now build on Node.js ^24.11.1 || >=26.0.0 with npm >=11.10.0; both are advisory and warn rather than fail. The published packages are unaffected and still support Node.js >=22.15.0, which the test matrix continues to cover.
  • test(bundler-tests): typecheck packages under legacy module resolution #​7127 @​overbalance
  • chore: remove the redundant module field from package.json; bundlers resolve the ESM build through the exports map #​7130 @​overbalance
  • test(bundler-tests): bundle the platform packages for iOS and Android with Metro and Expo, and load them under Jest's jsdom environment #​7131 @​overbalance
  • fix(verify-pack): read the npm 12 pack --json output, which is keyed by package name instead of an array #​7133 @​overbalance
  • fix(karma): resolve plugins and the process shim from the repo root, so browser tests run with isolated installs #​7137 @​overbalance
  • fix(nx): key the version target defaults by the target name, so a cache hit restores the generated src/version.ts #​7134 @​overbalance
  • fix(nx): make the test, test:browser and test:webworker targets compile their dependencies first, since tests load dependencies from their dist #​7139 @​overbalance
  • fix(verify-pack): extract tarballs under the root node_modules, so workspace dependencies resolve and entry points load fully instead of being skipped #​7138 @​overbalance
  • build: lint published packages for unused dependencies with knip, as part of npm run lint #​7200 @​overbalance
  • chore(exporter-zipkin): move @opentelemetry/resources to devDependencies, since only tests use it #​7200 @​overbalance
  • build: fail the tsdown build when its output includes a module from outside the package #​7195 @​overbalance
  • refactor(sdk-trace): remove the pagehide listener from the browser BatchSpanProcessor, it was registered on document and never ran, and visibilitychange already flushes on unload #​7153 @​adityareddy-dev
  • refactor(sdk-logs): remove the pagehide listener from the browser BatchLogRecordProcessor, it was registered on document and never ran, and visibilitychange already flushes on unload #​7153 @​adityareddy-dev
  • refactor(sdk-trace, sdk-logs, sdk-metrics): type timers with ReturnType<typeof setTimeout> instead of NodeJS.Timeout #​7174 @​overbalance

v2.12.1

Compare Source

2.12.1

🐛 Bug Fixes

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from cmraible as a code owner October 23, 2026 23:34
@renovate
renovate Bot enabled auto-merge (squash) October 23, 2026 23:34
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fe9c0033-33b5-4d61-b098-b205bba6acc9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@renovate
renovate Bot force-pushed the renovate/major-opentelemetry-js-monorepo branch 10 times, most recently from 23be7e3 to d090898 Compare October 30, 2026 16:16
@renovate
renovate Bot force-pushed the renovate/major-opentelemetry-js-monorepo branch 10 times, most recently from f1baf58 to 54860df Compare November 6, 2026 18:35
@renovate
renovate Bot force-pushed the renovate/major-opentelemetry-js-monorepo branch 7 times, most recently from 89e133d to 18b93e9 Compare November 8, 2026 22:50
@renovate
renovate Bot force-pushed the renovate/major-opentelemetry-js-monorepo branch 5 times, most recently from 61c0149 to 8904880 Compare November 10, 2026 23:37
@renovate
renovate Bot force-pushed the renovate/major-opentelemetry-js-monorepo branch from 8904880 to 208fce3 Compare November 11, 2026 15:48

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants