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
@deprecatedaliases. They still work; each fires oneconsole.warnper browser session. - 4 props removed entirely:
themeClassName,overridePartnerLogo,startRoute,partnerCostBasisMethodsByYear.
Added
themeobject —light/dark/mode.optionsobject —apiBaseUrl,mode,flow,overlayMode,defaultOpen,hideNavigationBar,hideBackButton,helpLinkUrl,hostPageUrl.TaxKitMetadatatype with typed reserved key (promoCode) and an index signature for arbitrary extras.
Changed
options.modetype union narrowed to'production' | 'alpha' | 'mock'(removed'splash'— no code branched on it).- 12 legacy flat props are now
@deprecatedaliases: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
partnerCostBasisMethodsByYearand its iframe-side machinery (URL config field,COST_BASIS_METHODSpost-robot event, store field). The dedicated pipe was never consumed by any UI; partners that need to pass cost-basis info should usemetadata.costBasisMethodInfo(read by the iframe'sCostBasisMethodMismatchWarningOverlay).themeClassName. The iframe wrapper now derives its class directly fromtheme.mode. Side effect: partners whose dark-mode iframe previously had.ct-embedded-darkinstead of.darkwill now see base-uidark:*utilities render as designed — visual-diff your dark-mode iframe content after upgrading.startRouteand?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 asembeddedHealth.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
KrakentoPartnerenum. - Add
OverlayModeprop (drawer|dialog|responsive) for device-based overlay control. - Add
PartnerCopytype and dedicatedPARTNER_COPYpost-robot event for partner-configurable legal copy strings. - Add
ConnectionWarningtype for per-integration warning messages via metadata. - Add
popover,popoverForeground,buttonRadius, andcardRadiustokens toThemeContract.
Patch changes
- Fix iframe READY race condition by adding
usePostRobotOnFromAnyWindowhook that listens without requiringchildWindow. - Refactor
childWindowhandling to useRefObject<Window>instead of storingWindowin context, preventingSecurityErrorfrom React DevTools. - Update iframe
allowattribute toclipboard-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.