v2.15.3

parruda/swarmv2.15.3May 21, 2026by medusa-os-bot[bot]

AI Summary

This release introduces Multi-Factor Authentication (MFA) primitives and enhances promotion code visibility to help merchants troubleshoot application issues.

Key Highlights

  • Added MFA authentication provider primitives and API routes
  • New CodeInput component for MFA entry
  • Promotion codes now surface visibility information when skipped
  • Improved React peer dependency support

New Features

  • MFA auth helpers and provider primitives
  • CodeInput component
  • Promotion code visibility improvements

Full Release Notes

## Highlights

### Multi-Factor Authentication Support

This release adds the primitives to support Multi-Factor Authentication (MFA) for enhanced security. This includes new authentication provider primitives, API routes for MFA management, and retrieval functionality. The implementation provides a foundation for integrating various MFA methods.

---

### Promotion Code Visibility Improvements

When promotion codes are skipped due to budget or usage limits, the system now surfaces this information to provide better visibility into why certain promotions weren't applied. This helps merchants understand promotion application behavior and troubleshoot issues.

[#15396](https://github.com/medusajs/medusa/pull/15396)

## Features

*   feat(js-sdk): add MFA auth helpers by [@christiananese](https://github.com/christiananese) in [#15441](https://github.com/medusajs/medusa/pull/15441)
*   feat(ui): add CodeInput component by [@christiananese](https://github.com/christiananese) in [#15424](https://github.com/medusajs/medusa/pull/15424)

## Bugs

*   fix(design-system): broaden React peer dependencies to support v18 an… by [@Suh0161](https://github.com/Suh0161) in [#15271](https://github.com/medusajs/medusa/pull/15271)
*   fix(core-flows): harden create payment sessions when customer has no account holders by [@Suh0161](https://github.com/Suh0161) in [#15264](https://github.com/medusajs/medusa/pull/15264)
*   fix(dashboard): include inventory query in detail key by [@Derekko-web](https://github.com/Derekko-web) in [#15417](https://github.com/medusajs/medusa/pull/15417)
*   fix(dashboard): complete and correct Thai (th) translations by [@Ligament](https://github.com/Ligament) in [#15409](https://github.com/medusajs/medusa/pull/15409)
*   fix(test-utils, link-modules): encode URL credentials and fix schema-qualified RENAME TO by [@Ultron03](https://github.com/Ultron03) in [#15344](https://github.com/medusajs/medusa/pull/15344)
*   fix(medusa): fix filtering by categories and tags in /store/products with the index module by [@shahednasser](https://github.com/shahednasser) in [#15405](https://github.com/medusajs/medusa/pull/15405)
*   fix(create-medusa-app): fix incorrect command replacement when using yarn and npm by [@shahednasser](https://github.com/shahednasser) in [#15436](https://github.com/medusajs/medusa/pull/15436)
*   fix(utils): implement tokenized free text search by [@Suh0161](https://github.com/Suh0161) in [#15275](https://github.com/medusajs/medusa/pull/15275)
*   fix(core-flows): fix incorrect stock location picked for item with backorder in a sales channel with multiple locations by [@shahednasser](https://github.com/shahednasser) in [#15159](https://github.com/medusajs/medusa/pull/15159)

## Documentation

*   docs: configure posthog capturing by [@shahednasser](https://github.com/shahednasser) in [#15449](https://github.com/medusajs/medusa/pull/15449)
*   docs: fix information about preview environments by [@shahednasser](https://github.com/shahednasser) in [#15445](https://github.com/medusajs/medusa/pull/15445)
*   docs: fix documentation issues in triage inbox by [@shahednasser](https://github.com/shahednasser) in [#15427](https://github.com/medusajs/medusa/pull/15427)
*   docs: revert Cloudflare migration by [@shahednasser](https://github.com/shahednasser) in [#15438](https://github.com/medusajs/medusa/pull/15438)
*   docs: add logging by [@shahednasser](https://github.com/shahednasser) in [#15435](https://github.com/medusajs/medusa/pull/15435)
*   docs: prepare to deploy to medusa cloud by [@shahednasser](https://github.com/shahednasser) in [#15429](https://github.com/medusajs/medusa/pull/15429)
*   docs: track logged in users by [@shahednasser](https://github.com/shahednasser) in [#15425](https://github.com/medusajs/medusa/pull/15425)
*   docs: added cloud docs for backups by [@shahednasser](https://github.com/shahednasser) in [#15408](https://github.com/medusajs/medusa/pull/15408)
*   docs: migrate to cloudflare by [@shahednasser](https://github.com/shahednasser) in [#15388](https://github.com/medusajs/medusa/pull/15388)
*   docs: fix mcp instructions for cursor by [@shahednasser](https://github.com/shahednasser) in [#15401](https://github.com/medusajs/medusa/pull/15401)
*   docs: add TSDocs for "add MFA provider primitives by [@shahednasser](https://github.com/shahednasser) in [#15387](https://github.com/medusajs/medusa/pull/15387)

## Chores

*   chore(docs): cloud doc changes (automated) by [@shahednasser](https://github.com/shahednasser) in [#15451](https://github.com/medusajs/medusa/pull/15451)
*   chore: fix docs automation job by [@shahednasser](https://github.com/shahednasser) in [#15452](https://github.com/medusajs/medusa/pull/15452)
*   chore: fix required secrets in review and triage actions by [@shahednasser](https://github.com/shahednasser) in [#15421](https://github.com/medusajs/medusa/pull/15421)
*   chore: fix actions required anthropic api key by [@shahednasser](https://github.com/shahednasser) in [#15410](https://github.com/medusajs/medusa/pull/15410)
*   chore: switch actions to use anthropic api key by [@shahednasser](https://github.com/shahednasser) in [#15404](https://github.com/medusajs/medusa/pull/15404)
*   chore(docs): Updated UI Reference (automated) by [@app/github-actions](https://github.com/app/github-actions) in [#15391](https://github.com/medusajs/medusa/pull/15391)
*   chore(docs): Generated References (automated) by [@app/github-actions](https://github.com/app/github-actions) in [#15393](https://github.com/medusajs/medusa/pull/15393)
*   chore(docs): Update version in documentation (automated) by [@app/github-actions](https://github.com/app/github-actions) in [#15390](https://github.com/medusajs/medusa/pull/15390)
*   chore: fixes to pr reviewer and issue triager by [@shahednasser](https://github.com/shahednasser) in [#15394](https://github.com/medusajs/medusa/pull/15394)

**Full Changelog**: [v2.15.2...v2.15.3](https://github.com/medusajs/medusa/compare/v2.15.2...v2.15.3)