@@ -7,6 +7,72 @@ and the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format. While
77the package is ` 0.x ` , minor releases may introduce additive prop changes;
88patch releases stay backward-compatible.
99
10+ ## [ 1.2.1] — 2026-06-07
11+
12+ ### Fixed — Support widget (` <ContactSupport> ` / ` <OrderAction> ` )
13+
14+ - ` ContactSupport ` : the chat-open effect listed ` modalState.kind ` in its
15+ own deps and set it mid-flight, cancelling the in-flight async before
16+ ` openChatwoot ` — so the "Loading chat" overlay never dismissed (chat
17+ opened underneath). The effect is now keyed solely on ` chatAttempt ` , so
18+ neither a self-set state nor a prop change re-fires it.
19+ - ` OrderAction ` : ` useNowTick ` armed an unconditional 1s ` setInterval ` in
20+ every row forever (a per-second render storm across order history). The
21+ ticker now arms only for time-live rows via a new ` OrderActionState.live `
22+ flag; static / terminal rows never tick. ` themeToCssVars ` is memoized.
23+
24+ ### Changed — Checkout concurrency gate: one in-flight order at a time
25+
26+ - The ` <Checkout> ` (onramp) pending-order gate now blocks a new placement
27+ whenever ** any** order is pending, regardless of amount or credit. The
28+ user lands on the "Finish your pending order first" screen and must
29+ complete or cancel the pending order (with a ** Resume that order**
30+ affordance when ` onResumeRequest ` is wired) before placing another.
31+ - Removed the previous same-amount ** auto-resume** and the credit-gated
32+ different-amount allowance. Credit still drives the pre-order breakdown
33+ but no longer affects the block / allow decision. Stale legacy retail
34+ orders are still filtered out (` keepOnlyB2BPending ` ) so a "pending
35+ forever" order can't permanently lock the user out. No public API
36+ change; internal ` computeGateDecision ` no longer takes a ` credit ` arg.
37+
38+ ### Changed — Screening rejection copy
39+
40+ - The ` user_restricted ` screening rejection now surfaces a generic
41+ "We saw unusual activity — please wait for some time as a minor update"
42+ message instead of disclosing the repeated-cancellation reason and an
43+ exact retry countdown. ` restrictedUntil ` is still carried on the error
44+ context; the internal ` formatRestrictionTime ` helper was removed.
45+
46+ ## [ 1.2.0] — 2026-06-06
47+
48+ ### Added — Offramp v2 (allocation-funded cashout)
49+
50+ - Opt-in, backward-compatible support for the TradeStars offramp v2
51+ (per-user-proxy allocation). New ` CashoutProps.fetchAvailableOfframp `
52+ sources the Max / insufficient-amount affordance from an integrator
53+ allocation instead of the wallet's ` balanceOf ` .
54+ - Retry-from-cancelled: the offramp machine retains ` feeUsdc ` and exposes
55+ ` retryPlace ` / ` canRetryPlace ` ; the cancelled screen gains a Try-again
56+ button that re-places a fresh SELL for the same amount.
57+ - ` <PaymentHistory> ` gains optional ` resolveExtraAddresses ` , which merges
58+ the user's per-user-proxy offramp orders (` order.user ` ) with the EOA's,
59+ de-duped and re-sorted, bypassing the B2B intersection.
60+
61+ ### Changed — chainId-bound multi-signer support sign-in
62+
63+ - Support sign-in (` <Support> ` / bridge) is now multi-signer aware
64+ (EOA + ERC-1271 + ERC-6492). The signed message and ` POST /auth/sign-in `
65+ body bind the wallet's ` chainId `
66+ (` ${purpose}:${address}:${chainId}:${timestamp} ` ) so an ERC-1271
67+ signature can't be replayed across chains.
68+ - ` SupportSigner ` gains a ` getChainId ` resolver; the chainId is resolved
69+ ** live** from the connected wallet at sign time (Privy parses its CAIP-2
70+ id; Thirdweb reads the active chain). It is ** mandatory** — sign-in
71+ throws before signing/POSTing if it can't be resolved (no default).
72+ Privy + Thirdweb adapters carry it through.
73+ - ** Lockstep / breaking:** must ship together with the companion bridge
74+ multi-signer release, or sign-in 401s on a message-format mismatch.
75+
1076## [ 1.1.2] — 2026-05-27
1177
1278### Added — B2B order filtering (` <PaymentHistory> ` )
0 commit comments