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.
โก 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: 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)