> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# July 2026 UX Toolkit Release Notes

> Release notes for the UX Toolkit: new features, enhancements, fixed issues, and breaking changes in each version.

To follow new UX Toolkit release notes with RSS, subscribe to the current release notes feed:

`https://www.marqeta.com/docs/developer-guides/ux-toolkit-release-notes/rss.xml`

**New features**

## Faster, more reliable access token requests

**Version:** 1.19.0

Access token requests now time out after 5 seconds, with one automatic retry, instead of hanging indefinitely when a host app's auth callback is unresponsive. This prevents a slow or unresponsive auth callback from blocking your app.

No action is required. You can optionally listen for the new `mqAuthCallbackTimeout` event to detect when a timeout occurs.

## New lightweight loading spinner, smaller bundle size

**Version:** 1.19.0

UX Toolkit introduces `mq-spinner`, a lightweight CSS/SVG loading spinner that replaces the Lottie-based spinner used throughout the SDK. The new spinner matches the look of the legacy spinner — a gray-green arc with a white cap, rotating over one second, and pausing automatically when a cardholder's device is set to reduce motion — and accepts `size` and `color` properties.

The loading state of `mq-button`, `mq-file-upload-file`, and the statements download button now use `mq-spinner` instead of the Lottie-based animation. Because these components no longer reference the Lottie animation, the SDK removes the Lottie runtime (approximately 324 KB) from their bundles, including `mq-button`, which is on the `mq-card` critical path. This results in a faster load for `mq-card` and other components that use these elements.

Lottie remains in place for the confetti, checkmark, and indeterminate-loader animations. This change doesn't affect the public API of any existing component.

**Enhancements**

## Faster first load for iframe-backed components

**Version:** 1.20.0

**Release date:** 2026-07-07

Each iframe-backed component — including the card and its details, the transaction list, statements, account, and more — now preloads only its own code in parallel on first load. This collapses the cold-start network waterfall, so cardholders see a faster first view. No action is required — this is an automatic performance improvement with no API or behavior change.

## Faster startup for secure card components

**Version:** 1.20.0

**Release date:** 2026-07-07

The secure card components — card details, PIN, and CVV — now start up faster on first load by initializing earlier and fetching their setup data in parallel. This reduces the time cardholders wait to see sensitive card data. No action is required — this is an automatic performance improvement with no API or behavior change.

## Faster branding and connection setup on repeat loads

**Version:** 1.20.0

**Release date:** 2026-07-07

Your program's branding now applies immediately on repeat loads, eliminating the flash of default styling before your branding appears. Network connections also open earlier, speeding up the first load. No action is required — this is an automatic performance improvement with no API or behavior change.

## Shared cardholder context across components

**Version:** 1.19.0

The SDK now fetches the cardholder context once per page load and shares it across all components, eliminating repeated requests. This reduces the number of API calls your integration generates when multiple components are on the same page.

## Deduplicated PAN reveal requests across iframes and WebViews

**Version:** 1.19.0

The SDK now deduplicates `GET /cards/{token}/showpan` requests, so PCI card components fetch the value once and share the result across same-origin iframes and WebViews. This eliminates duplicate requests and reduces the number of calls made against a PCI-scoped endpoint.

**Bug fixes**

## Duplicate load-completed events on failed loads

**Version:** 1.20.0

**Release date:** 2026-07-07

Marqeta fixed an issue where `mq-set-pin` and `mq-external-account-list` emitted their load-completed event twice when a load failed. Each component now emits the event exactly once per load, so you can rely on the event count when tracking load outcomes.

## Version 1.19.1

**Release date:** 2026-06-22

* Marqeta fixed an issue that prevented authenticated mode from working correctly in Studio.


## Related topics

- [January 2026 UX Toolkit Release Notes](https://www.marqeta.com/docs/developer-guides/ux-toolkit-release-notes/2026-01.md)
- [March 2026 UX Toolkit Release Notes](https://www.marqeta.com/docs/developer-guides/ux-toolkit-release-notes/2026-03.md)
- [April 2026 UX Toolkit Release Notes](https://www.marqeta.com/docs/developer-guides/ux-toolkit-release-notes/2026-04.md)
- [May 2026 UX Toolkit Release Notes](https://www.marqeta.com/docs/developer-guides/ux-toolkit-release-notes/2026-05.md)
- [June 2026 UX Toolkit Release Notes](https://www.marqeta.com/docs/developer-guides/ux-toolkit-release-notes/2026-06.md)
