Medusa v2.22.1stable Released Oct 23, 2026
Impact Score: 5/10

Medusa: v2.22.1: Payment Session Client Data Updates, Promotion Ranking Fix, Dashboard Improvements

Source available โ€” automated, not human-reviewed

Component: medusajs ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-10-31.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Medusa v2.22.1. Source highlight: v2.22.1: Payment Session Client Data Updates, Promotion Ranking Fix, Dashboard Improvements

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (4)

  • docs: add redeploy warning after Cloud database restore or import by @medusa-agents in #17396
  • chore: add weekly dependency update workflow by @shahednasser in #17480
  • chore: add OSS Scanner build Dockerfile by @olivermrbl in #17410
  • feat(translation): seed fa-IR default locale by @soroush2025 in #17198

โšก Performance & Enhancements (1)

  • docs(book): improve clarity in Get Started pages by @prairiewriter in #17252

๐Ÿ”ง Bug Fixes & Patches (6)

  • fix(core-flows): remove optional chaining from processPaymentWorkflow constructor by @shahednasser in #17479
  • fix(order): fix count query for paginated cross-module filters by @medusa-os-bot in #17471
  • fix(core-flows): import only declared dependencies at runtime by @medusa-os-bot in #17470
  • fix(dashboard): stop product media edit on failed upload and show the error by @medusa-os-bot in #17445
  • fix(promotion): rank buy-get eligible items by unit price by @medusa-os-bot in #17444
  • fix(medusa): respond with 404 on /admin/index routes when index is off by @medusa-os-bot in #17442
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- ![v2.22.1](https://res.cloudinary.com/dza7lstvk/image/upload/v1792758875/Releases/v2-22-1-be0d14.png) # v2.22.1: Payment Session Client Data Updates, Promotion Ranking Fix, Dashboard Improvements Medusa v2.22.1 adds the ability to update payment session client data after creation, enabling richer payment flows, and ships a set of targeted bug fixes across promotions, the admin dashboard, pricing, and core utilities. CMS_BREAK --> ## Highlights ### Update Payment Session Client Data Payment sessions can now be updated with new client data after creation. This enables payment flows where client-side metadata -- such as a browser fingerprint or 3D Secure result -- needs to be attached to an existing session without tearing it down and recreating it. [#17432](https://github.com/medusajs/medusa/pull/17432) ## Bugs * fix(core-flows): remove optional chaining from processPaymentWorkflow constructor by [@shahednasser](https://github.com/shahednasser) in [#17479](https://github.com/medusajs/medusa/pull/17479) * fix(order): fix count query for paginated cross-module filters by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17471](https://github.com/medusajs/medusa/pull/17471) * fix(core-flows): import only declared dependencies at runtime by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17470](https://github.com/medusajs/medusa/pull/17470) * fix(dashboard): stop product media edit on failed upload and show the error by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17445](https://github.com/medusajs/medusa/pull/17445) * fix(promotion): rank buy-get eligible items by unit price by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17444](https://github.com/medusajs/medusa/pull/17444) * fix(medusa): respond with 404 on /admin/index routes when index is off by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17442](https://github.com/medusajs/medusa/pull/17442) * fix(utils): skip running migrations for modules without a migrations folder by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17441](https://github.com/medusajs/medusa/pull/17441) * fix(utils): copy null-prototype objects in parseStringifyIfNecessary by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17440](https://github.com/medusajs/medusa/pull/17440) * fix(pricing): don't drop price list updates that carry explicit ids by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17439](https://github.com/medusajs/medusa/pull/17439) * fix(dashboard): let Enter activate buttons inside modal and drawer forms by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17438](https://github.com/medusajs/medusa/pull/17438) * fix(search-postgres): apply min_score to facet counts for keyword search by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17437](https://github.com/medusajs/medusa/pull/17437) * fix(index): don't skip the index data sync when types generation fails by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17419](https://github.com/medusajs/medusa/pull/17419) * fix(types): allow filtering price rules by attribute, value and operator by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17428](https://github.com/medusajs/medusa/pull/17428) * fix: validate cart customer ownership checks by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17402](https://github.com/medusajs/medusa/pull/17402) * fix(core-flows): validate customer account email matches the authenticated identity by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17415](https://github.com/medusajs/medusa/pull/17415) * fix(promotion): enforce and track spend_by_attribute campaign budgets by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17446](https://github.com/medusajs/medusa/pull/17446) * fix(promotion): respect is_tax_inclusive on buy-get promotions by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17447](https://github.com/medusajs/medusa/pull/17447) * fix(medusa): reject deleting a variant through a product it doesn't belong to by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17449](https://github.com/medusajs/medusa/pull/17449) * fix(core-flows): persist refund_amount when creating and completing a return by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17448](https://github.com/medusajs/medusa/pull/17448) * fix(core-flows): set is_custom_amount when updating a draft order shipping method price by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17450](https://github.com/medusajs/medusa/pull/17450) * fix(utils): ignore non-string ids when applying translations by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17451](https://github.com/medusajs/medusa/pull/17451) * fix(payment): round to currency precision regardless of server locale by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17452](https://github.com/medusajs/medusa/pull/17452) * fix(build-scripts): make the docs edited-dates step work on Windows by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17455](https://github.com/medusajs/medusa/pull/17455) * fix(ui): respect the dismissable prop in toast.loading by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17456](https://github.com/medusajs/medusa/pull/17456) * fix(caching): don't throw on numeric entity ids when computing cache tags by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17457](https://github.com/medusajs/medusa/pull/17457) * fix(dashboard): define missing build-time constants for yarn dev by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17458](https://github.com/medusajs/medusa/pull/17458) * fix(utils,dashboard,loyalty-plugin): add the Haitian Gourde (HTG) currency by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17459](https://github.com/medusajs/medusa/pull/17459) * fix(locking,locking-redis): close the Redis client on shutdown by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17460](https://github.com/medusajs/medusa/pull/17460) * fix(test-utils): read database credentials when connecting, not at import by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17461](https://github.com/medusajs/medusa/pull/17461) * fix(core-flows): cascade delete custom records linked to deleted variants by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17462](https://github.com/medusajs/medusa/pull/17462) * fix(utils,core-flows): import region price columns from product export by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17464](https://github.com/medusajs/medusa/pull/17464) * fix(dashboard): apply the product list filters to product exports by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17469](https://github.com/medusajs/medusa/pull/17469) * fix(order,dashboard): stop returns exceeding the returnable quantity by [@vethan](https://github.com/vethan) in [#17431](https://github.com/medusajs/medusa/pull/17431) ## Documentation * docs: document setting cache ttl to 0 by [@shahednasser](https://github.com/shahednasser) in [#17433](https://github.com/medusajs/medusa/pull/17433) * docs: document retryIntervalAwaiting and maxAwaitingRetries for async steps by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17406](https://github.com/medusajs/medusa/pull/17406) * docs: document running a workflow with an existing transaction ID by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17404](https://github.com/medusajs/medusa/pull/17404) * docs: add redeploy warning after Cloud database restore or import by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17396](https://github.com/medusajs/medusa/pull/17396) * docs: upgrade documentation apps to Next.js 16 by [@shahednasser](https://github.com/shahednasser) in [#17395](https://github.com/medusajs/medusa/pull/17395) * docs(cloud): document sender domain limits per plan in emails guide by [@medusa-agents](https://github.com/apps/medusa-agents) in [#17388](https://github.com/medusajs/medusa/pull/17388) * docs: doc changes for next release [automated] by [@shahednasser](https://github.com/shahednasser) in [#17065](https://github.com/medusajs/medusa/pull/17065) * docs(book): fix typos and grammar in Learn docs by [@prairiewriter](https://github.com/prairiewriter) in [#17214](https://github.com/medusajs/medusa/pull/17214) * docs(resources): fix typos, grammar, and broken anchor links by [@prairiewriter](https://github.com/prairiewriter) in [#17248](https://github.com/medusajs/medusa/pull/17248) * docs(user-guide): fix typos by [@prairiewriter](https://github.com/prairiewriter) in [#17246](https://github.com/medusajs/medusa/pull/17246) * docs(cloud): fix typos by [@prairiewriter](https://github.com/prairiewriter) in [#17247](https://github.com/medusajs/medusa/pull/17247) * docs(book): fix errors in the /start agent setup prompt by [@prairiewriter](https://github.com/prairiewriter) in [#17250](https://github.com/medusajs/medusa/pull/17250) * docs(book): improve clarity in Get Started pages by [@prairiewriter](https://github.com/prairiewriter) in [#17252](https://github.com/medusajs/medusa/pull/17252) * docs: fix remaining typos and grammar by [@prairiewriter](https://github.com/prairiewriter) in [#17251](https://github.com/medusajs/medusa/pull/17251) ## Chores * chore: add weekly dependency update workflow by [@shahednasser](https://github.com/shahednasser) in [#17480](https://github.com/medusajs/medusa/pull/17480) * chore(deps): bump the security-updates group across 1 directory with 2 updates by [@dependabot](https://github.com/apps/dependabot) in [#17454](https://github.com/medusajs/medusa/pull/17454) * chore: changes to issue triaging and PR reviews by [@shahednasser](https://github.com/shahednasser) in [#17435](https://github.com/medusajs/medusa/pull/17435) * chore: add OSS Scanner build Dockerfile by [@olivermrbl](https://github.com/olivermrbl) in [#17410](https://github.com/medusajs/medusa/pull/17410) * chore(docs): Generated References (automated) by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17390](https://github.com/medusajs/medusa/pull/17390) * chore(docs): Update version in documentation (automated) by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17391](https://github.com/medusajs/medusa/pull/17391) * chore(docs): Updated UI Reference (automated) by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17392](https://github.com/medusajs/medusa/pull/17392) * chore(docs): Generated DML JSON files (automated) by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17393](https://github.com/medusajs/medusa/pull/17393) * chore(deps): bump dompurify to 3.4.17 to fix GHSA-cg2g-xh64-v4q7, GHSA-mrv2-3pqr-j5jr, GHSA-c6gr-qvv4-5v3f by [@medusa-os-bot](https://github.com/apps/medusa-os-bot) in [#17467](https://github.com/medusajs/medusa/pull/17467) * chore: show denied tool calls in dependency update runs by [@shahednasser](https://github.com/shahednasser) in [#17484](https://github.com/medusajs/medusa/pull/17484) * chore: plan pinned dependency updates like majors and group @types packages by [@shahednasser](https://github.com/shahednasser) in [#17482](https://github.com/medusajs/medusa/pull/17482) ## Other Changes * feat(translation): seed fa-IR default locale by [@soroush2025](https://github.com/soroush2025) in [#17198](https://github.com/medusajs/medusa/pull/17198) ## New Contributors * @prairiewriter made their first contribution in [#17214](https://github.com/medusajs/medusa/pull/17214) * @vethan made their first contribution in [#17431](https://github.com/medusajs/medusa/pull/17431) * @soroush2025 made their first contribution in [#17198](https://github.com/medusajs/medusa/pull/17198) **Full Changelog**: [v2.22.0...v2.22.1](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)