Skip to content

💥 Remove remoteConfigurationId from RUM SDK (breaking change, v7)#4244

Draft
mormubis wants to merge 1 commit intoadlrb/ssi-e2efrom
adlrb/ssi-breaking
Draft

💥 Remove remoteConfigurationId from RUM SDK (breaking change, v7)#4244
mormubis wants to merge 1 commit intoadlrb/ssi-e2efrom
adlrb/ssi-breaking

Conversation

@mormubis
Copy link
Contributor

Stacked PR 5/5 — base: adlrb/ssi-e2e | stack top: adlrb/ssi-breaking

Stack: PR1 #4238 → PR2 #4239 → PR3 #4241 → PR4 #4242PR5 (this PR)

Motivation

As part of the SSI (Single-Step Instrumentation) Phase 6 initiative, the remoteConfigurationId field and the entire remote-configuration integration that was previously embedded in rum-core is being removed. Remote configuration is now handled by the standalone @datadog/browser-remote-config package (PR2) consumed by the new @datadog/browser-sdk-endpoint package (PR3), which acts as the SSI entry point.

This is a v7 breaking change: any customer who configured remoteConfigurationId must migrate to the new endpoint-based approach.

Changes

  • Removes remoteConfigurationId from RumInitConfiguration and all runtime code in rum-core
  • Deletes packages/rum-core/src/domain/configuration/remoteConfiguration.ts and its specs
  • Deletes packages/rum-core/src/domain/configuration/jsonPathParser.spec.ts (moved to @datadog/browser-remote-config)
  • Updates preStartRum.ts, configuration.ts, eventTracker.ts, and their index exports to remove all references to remote configuration
  • Existing unit tests updated to remove remote-configuration test cases

Test instructions

yarn test:unit --spec packages/rum-core/src/boot/preStartRum.spec.ts
yarn test:unit --spec packages/rum-core/src/domain/configuration/configuration.spec.ts
yarn test:unit --spec packages/rum-core/src/domain/eventTracker.spec.ts
yarn typecheck

Checklist

  • Tested locally
  • Tested on staging
  • Added unit tests for this change.
  • Added e2e/integration tests for this change.
  • Updated documentation and/or relevant AGENTS.md file

BREAKING CHANGE: remoteConfigurationId and remoteConfigurationProxy are
removed from datadogRum.init() options.

Migration guide:
  // Before (v6)
  datadogRum.init({ remoteConfigurationId: 'xxx', ...options })

  // After (v7)
  import { fetchRemoteConfiguration } from '@datadog/browser-remote-config'
  const result = await fetchRemoteConfiguration({ applicationId, configId, site })
  if (result.ok) {
    datadogRum.init({ ...result.value.rum })
  }

The remote configuration logic now lives in @datadog/browser-remote-config,
giving customers more control: parallel fetching, custom caching, error handling.
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.

1 participant