---
title: "@opentelemetry/core Breaking Changes on npm | Since.dev"
description: "What each @opentelemetry/core release removed, renamed or changed: 19 breaking changes in 1 version on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@opentelemetry/core
last_updated: 2026-10-20
---

# @opentelemetry/core breaking changes

Every breaking API change we have recorded in @opentelemetry/core on npm: 19 breaking changes in 1 version. Below are its newest version, removals and renames first, each with its source.

Newest change October 20, 2026

## 3.0.0

19 breaking changes, first published October 20, 2026.

- **Removed**  

Tools that preferred the esnext entry now fall back to module (ESM) or main (CJS). [github.com](https://github.com/open-telemetry/opentelemetry-js/releases/tag/v3.0.0)
- **Removed**  

An exports map now blocks deep imports such as @opentelemetry/core/build/src/... and fails with ERR_PACKAGE_PATH_NOT_EXPORTED. Import from the package name or a listed subpath instead. [github.com](https://github.com/open-telemetry/opentelemetry-js/releases/tag/v3.0.0)
- **Removed**  

Node.js 18 and 20 are no longer supported. Users must run Node.js 22.15.0 or later. [github.com](https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/3.x/migration-guide.md)
- **Removed** `_globalThis`  

\_globalThis was removed. Use globalThis directly. [npmjs.com](https://www.npmjs.com/package/@opentelemetry/core/v/3.0.0)
- **Removed** `@opentelemetry.core.package.json`  

Read the package version from your own dependency metadata, or use SDK_INFO from @opentelemetry/core for the SDK version. [github.com](https://github.com/open-telemetry/opentelemetry-js/releases/tag/v3.0.0)
- **Removed** `@opentelemetry.core.platform`  

The ./platform and ./platform/browser subpath exports were removed. Import from the package root instead. [github.com](https://github.com/open-telemetry/opentelemetry-js/releases/tag/v3.0.0)
- **Removed** `getTimeOrigin`  

getTimeOrigin() was removed. Use performance.timeOrigin directly. [npmjs.com](https://www.npmjs.com/package/@opentelemetry/core/v/3.0.0)
- **Removed** `otperformance`  

otperformance was removed. Use the global performance object directly. [npmjs.com](https://www.npmjs.com/package/@opentelemetry/core/v/3.0.0)
- **Removed** `unrefTimer`  

unrefTimer(timer) was removed. Call timer.unref() directly in your own code. [npmjs.com](https://www.npmjs.com/package/@opentelemetry/core/v/3.0.0)
- **Behavior changed** `cleanAttributes`  

cleanAttributes() and maybeAddAttribute() now remove undefined properties from object attribute values, so code relying on those keys being kept must change. [github.com](https://github.com/open-telemetry/opentelemetry-js/releases/tag/v3.0.0)

And 9 more in this version.

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
