0.32.0
BOGOS bundles and Videowise live shopping, Loyalty Lion rewards earned in the app, floating image and video banners, cart discount chips, and a build-tools resolver change that lets a linked library take its peers from the app.
Native changes, for two integrations only
Everything platform-wide in this release is JavaScript. Two integrations moved native code, and only apps that carry them need a store release for the platform change:
@gauntlet/claritybumps@microsoft/react-native-clarityfrom 4.3.3 to 4.7.0 for iOS 26.@gauntlet/app-updatenow reads the in-app update state through@app-brew/app-update, the native module, instead of a rawNativeModuleslookup. Apps using in-app updates need@app-brew/app-updateinstalled;sync-depsadds it in the monorepo, standalone apps add it by hand.
Breaking
None. No exported signature changed shape in this release.
New
@gauntlet/bogos — BOGOS bundles, published for the first time. Volume
offers, fixed bundles and mix-and-match offers from the BOGOS app, rendered on
the product page and applied to the cart the way the web widget does:
per-item and fixed-price tiers, exclusion groups, market amounts converted to
the cart currency, and out-of-stock rows marked rather than hidden. Product
fetches retry on failure and a code sync never writes a stale cart. Register
with registerBogosBlocks and configure under the bogos key.
@gauntlet/videowise — Videowise live shopping, published for the first
time. A live-shopping channel block plus the analytics events Videowise
expects, so a live stream on the store site can be watched and shopped from
the app. Register with registerVideowiseBlocks and configure under the
videowise key.
Loyalty Lion rewards earned in the app. @gauntlet/loyalty-lion can now
award points for enabling push, following social accounts and referrals, not
only for purchases.
Floating blocks: image banner, video banner and a goto button. Three new floating blocks join the registry, and floating blocks can now be restricted to a platform, so a banner can show on Android only or iOS only.
Cart list v2: discount chips. Discount codes on the cart render as chips
with configurable options, and every part of the row is overridable through
the block's style map.
Star ratings: configurable reviews redirect. Tapping the rating can open a configured reviews destination, and the review-count text takes its own styling.
Goto button v2: dynamic product parameters. A goto link's params are
filled from the product the button sits on, so one configured button works
across products.
Flits: grey out redeem when another discount is applied. An option keeps the points redeem checkbox disabled while a different discount is on the cart.
Subscriptions: custom web view for managing payment methods. The manage payment action can open a configured web view instead of the default page.
AppsFlyer custom domains. customDomains on the AppsFlyer config lets
OneLink domains other than the default resolve, with clearer debug logging
during setup.
Cart attribution. Every cart created by the app now carries two note
attributes, appbrew-platform and appbrew-firebase-instance-id, so a
server-side order can be attributed back to the app session. Brewmeter events
carry the customer on every event as well.
SearchTap variants expose inventory. Transformed variants now include the inventory fields, so blocks can show availability from search results.
Unit price on variants. IProductVariant gains unitPrice and
unitPriceMeasurement, filled from Shopify, so a product card can show a
price per unit next to the price.
Fixed
- Addresses.
changeAddressfalls back to the given address when the id is not in the list, a default address is preselected only when the customer has one, and deleting the selected address clears the stale selection. - Load more keeps the page size. Paging through a collection no longer grows the page.
- Analytics. A rejecting tracker no longer takes the others down, the app user sync fetch is caught, and purchase events are sent even when the main cart is empty at the time of purchase.
- Firebase push. A token debug log that could raise an unhandled rejection is gone.
- Attentive. No crash on a purchase without an order id, and line items are sent with the purchase.
- Payment web view. Razorpay UPI intents open correctly on Android.
- Carousel. Android paging stays off rendered children.
- Splash. The splash screen hides at the right moment.
- Netcore. Tracker identity is set correctly on login.
- GoKwik. UTM parameters are awaited before
merchantParamsreach the checkout. - Unbxd search. Provider requests go through enhanced fetch.
- Search blocks. Blocks hide instead of unmounting while a search is active, keeping their state.
- CleverTap with Fastrr. An email change no longer duplicates the CleverTap profile, and login events land on the right one.
Tooling
@app-brew/build-tools resolves a linked library's peers from the app.
Source that lives outside the app's node_modules, which is the case when a
library is linked in from another checkout, now resolves React, react-native
and every other peer from the app first, and the Module Federation shares for
react and react-native are pinned to the app's copies. Before this, a
linked library brought its own React along and the app failed on the first
hook call. This is what the gh brew link workflow relies on; the monorepo
build is unchanged.
Upgrading? The workflow is at Upgrading @gauntlet packages.

