Skip to main content

Changelog

The canonical changelog lives at packages/tax-kit/CHANGELOG.md and is generated by Changesets at release time. This page mirrors the most recent versions and surfaces the migration impact partners care about.

2.2.0

Highlights

  • New grouped prop shape: theme, options, metadata, copy. See Migration for the full mapping.
  • 12 props deprecated as @deprecated aliases. They still work; each fires one console.warn per browser session.
  • 4 props removed entirely: themeClassName, overridePartnerLogo, startRoute, partnerCostBasisMethodsByYear.

Added

  • theme object — light / dark / mode.
  • options object — apiBaseUrl, mode, flow, overlayMode, defaultOpen, hideNavigationBar, hideBackButton, helpLinkUrl, hostPageUrl.
  • TaxKitMetadata type with typed reserved key (promoCode) and an index signature for arbitrary extras.

Changed

  • options.mode type union narrowed to 'production' | 'alpha' | 'mock' (removed 'splash' — no code branched on it).
  • 12 legacy flat props are now @deprecated aliases: apiBaseUrl, hostPageUrl, themeMode, helpLinkUrl, mode, flow, themeContract, hideNavigationBar, hideBackButton, defaultOpen, userPromoCode, overlayMode. When both the new and legacy shapes are passed, the new shape wins.

Removed

  • partnerCostBasisMethodsByYear and its iframe-side machinery (URL config field, COST_BASIS_METHODS post-robot event, store field). The dedicated pipe was never consumed by any UI; partners that need to pass cost-basis info should use metadata.costBasisMethodInfo (read by the iframe's CostBasisMethodMismatchWarningOverlay).
  • themeClassName. The iframe wrapper now derives its class directly from theme.mode. Side effect: partners whose dark-mode iframe previously had .ct-embedded-dark instead of .dark will now see base-ui dark:* utilities render as designed — visual-diff your dark-mode iframe content after upgrading.
  • startRoute and ?startRoute= URL forwarding. The feature was effectively a no-op in production — canonical state-driven routing overrode it in nearly every case. If real deep-linking is needed, it will be added back as a proper feature.
  • overridePartnerLogo. Partner identity is resolved server-side from JWT claims and surfaced as embeddedHealth.partnerId; the iframe's icon registry now uses that directly.

Migration

See Migrating from 2.1 for the side-by-side examples and full removal rationale.


2.1.0

Minor changes

  • Add Kraken to Partner enum.
  • Add OverlayMode prop (drawer | dialog | responsive) for device-based overlay control.
  • Add PartnerCopy type and dedicated PARTNER_COPY post-robot event for partner-configurable legal copy strings.
  • Add ConnectionWarning type for per-integration warning messages via metadata.
  • Add popover, popoverForeground, buttonRadius, and cardRadius tokens to ThemeContract.

Patch changes

  • Fix iframe READY race condition by adding usePostRobotOnFromAnyWindow hook that listens without requiring childWindow.
  • Refactor childWindow handling to use RefObject<Window> instead of storing Window in context, preventing SecurityError from React DevTools.
  • Update iframe allow attribute to clipboard-write; payment 'self'.

2.0.4

  • Update loading status.

2.0.3

  • Update tax kit status and provider props.

2.0.2

  • Add disconnectUser.

2.0.1

  • Add promo-code prop to the SDK.

2.0.0

  • Post-robot fix.

For older 1.x releases, see packages/tax-kit/CHANGELOG.md on GitHub.