2026-08-20 — Tier names always come from your programme
Changed
-
Every SDK surface that shows a tier name now reads it from your programme’s tier config (
TierConfig.displayName), and shows nothing when that name is unavailable. Previously several surfaces fell back to our internal tier identifier, so a member could briefly see the literal textTIER2on your site — while the tier configs were still loading, or for a member on a tier whose config row is missing or inactive (#4794 ).Affected render props in
@akin-travel/partner-sdk:TierCard’sdisplayName,TierProgress’scurrentTierName, andHeaderMenu’suserInfo.tierName. All three were already typed as nullable/optional, so this is a runtime change, not a type change — but if you render one without a null check, add one:<TierCard>{({ displayName }) => <h2>{displayName ?? '—'}</h2>}</TierCard> -
LoyaltyCard’stierDisplayNameno longer falls back to your lowest tier’s name. A member on a tier with no config row was shown the first tier’s name alongside their realcurrentTier— two different tiers in one card. The lowest-tier default still applies to a member with no tier at all, where it matches thecurrentTierreported beside it (#4794 ). -
In
@akin-travel/sdk-embed, the<akin-loyalty-card>and<akin-tier-progress>tier badges show the—placeholder instead of the internal identifier when no tier name is available. These elements paint their own DOM, so this was visible text rather than a prop (#4794 ).
Removed
- The bundled SDK translations no longer define tier display names.
en.jsonandes.jsonmappedloyalty.tier.TIER1–TIER4to a Member/Silver/Gold/Platinum ladder (Miembro/Plata/Oro/Platino in Spanish) — a ladder no AKIN programme uses. Nothing read these keys, so no behaviour changes; they are gone so no surface can start reading them. Your tier names come from your tier config, and you can still override any SDK string viaI18nProvider’stranslationsconfig (#4794 ).