Skip to content

chore(openfeature): pin mixpanel ^0.23.0 for fallback_reason (SDK-126) - #284

Merged
tylerjroach merged 1 commit into
masterfrom
tylerroach-sdk-126-node-openfeature-pin-mixpanel-to-sdk-79-release
Jul 29, 2026
Merged

chore(openfeature): pin mixpanel ^0.23.0 for fallback_reason (SDK-126)#284
tylerjroach merged 1 commit into
masterfrom
tylerroach-sdk-126-node-openfeature-pin-mixpanel-to-sdk-79-release

Conversation

@tylerjroach

@tylerjroach tylerjroach commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

packages/openfeature-server-provider/src/MixpanelProvider.ts dereferences variant.fallback_reason, added by #277 (SDK-79). That field first shipped in mixpanel 0.23.0 — 0.22.0 was only the monorepo split and does not contain it.

The peerDep mixpanel: ^0.21.0 allowed resolving against SDKs that predate fallback_reason, so the provider fell through to its legacy sentinel branch (MixpanelProvider.ts:279) and could never surface the specific fallback reason.

Changes

  • packages/openfeature-server-provider/package.json: bump peerDep mixpanel: ^0.21.0^0.23.0
  • package-lock.json: mirror the peerDep, and refresh the stale packages/mixpanel version (0.22.00.23.0) left over from the 0.23.0 release prep in release: prepare analytics 0.23.0 #288

Why ^0.23.0 and not ^0.22.0: npm caret ranges on 0.x are minor-locked, so ^0.22.0 resolves to >=0.22.0 <0.23.0 — it would have pinned to the one release lacking the field while excluding the release that has it.

Release status

mixpanel 0.23.0 is already published (latest on npm), so no merge sequencing is needed and CI should pass on this branch as-is.

The wrapper version stays at 0.1.0; the release-prep workflow owns that bump.

Test plan

  • npm ci succeeds with the updated lockfile (CI uses npm ci)
  • npm test green — 278 mixpanel + 56 openfeature-server-provider tests pass
  • Follow-up: remove the legacy-sentinel branch in MixpanelProvider.ts now that the peerDep excludes pre-SDK-79 mixpanel

Refs: SDK-126, SDK-79

🤖 Generated with Claude Code

@linear-code

linear-code Bot commented Jul 21, 2026

Copy link
Copy Markdown

SDK-126

SDK-79

MixpanelProvider dereferences variant.fallback_reason, which was added
by #277 (SDK-79) and first published in mixpanel 0.23.0 — not 0.22.0
(that release was only the monorepo split).

The previous peerDep ^0.21.0 allowed resolving against SDKs that predate
fallback_reason, so the provider fell through to its legacy sentinel
branch and could never surface the specific fallback reason.

Note that npm caret ranges on 0.x are minor-locked: ^0.22.0 resolves to
>=0.22.0 <0.23.0, which would have excluded the only release that
actually carries the field. ^0.23.0 is required.

Also refreshes the lockfile's stale packages/mixpanel version (0.22.0 ->
0.23.0) left over from the 0.23.0 release prep.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tylerjroach
tylerjroach force-pushed the tylerroach-sdk-126-node-openfeature-pin-mixpanel-to-sdk-79-release branch from 4619433 to 3ca7637 Compare July 29, 2026 20:06
@tylerjroach tylerjroach changed the title chore(openfeature): pin mixpanel ^0.22.0 for fallback_reason (SDK-126) chore(openfeature): pin mixpanel ^0.23.0 for fallback_reason (SDK-126) Jul 29, 2026
@tylerjroach
tylerjroach marked this pull request as ready for review July 29, 2026 20:17
@tylerjroach
tylerjroach requested review from a team and efahk July 29, 2026 20:17
@tylerjroach
tylerjroach merged commit 67f4762 into master Jul 29, 2026
8 checks passed
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.

2 participants