Impact Score: 5/10
Medusa: v2.21.2: Performance Improvement for Search Route
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.21.2. Source highlight: Disallow Expanding Fields Outside of Index in Search Route
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 (6)
- docs: add docs on canceling workflow execution by @shahednasser in #16901
- docs: add behavior of allow unauthenticated by @shahednasser in #16965
- docs: add markdown parsing for pricing page by @shahednasser in #17005
- chore: re-add snapshot comment by @shahednasser in #17042
- chore: add action to automate translations by @shahednasser in #16962
- chore: add automation for Kapa insights to docs by @shahednasser in #17008
๐ง Bug Fixes & Patches (6)
- fix: Disallow expanding beyond index fields on search endpoint by @sradevski in #17044
- fix: Wait for search cache to settle before setting or invalidating by @sradevski in #16966
- fix(search): stop search index versions from piling up by @sradevski in #16930
- fix: Correctly count when using distinct by @sradevski in #16928
- fix(promotion): correlate the automatic promotion prefilter with the candidate promotions by @DylanCuure in #16954
- fix(medusa): allow omitting deprecated options in admin product updates by @Dextheking1 in #16959
๐ View Raw Release Notes (Original Developer Log)
<!--

# v2.21.2: Performance Improvement for Search Route
This patch release resolves several search indexing and cache stability issues, corrects automatic promotion prefiltering, and ships a range of dashboard and API bug fixes from the community.
CMS_BREAK -->
## Disallow Expanding Fields Outside of Index in Search Route
The `/store/search` route now only allows retrieving fields that are defined on the index being searched. It no longer allows fetching data outside the index by hydrating through `query.graph`. This is for better search performance and ensures you clearly define what can be retrieved on your indexed data model.
## Bugs
* fix: Disallow expanding beyond index fields on search endpoint by [@sradevski](https://github.com/sradevski) in [#17044](https://github.com/medusajs/medusa/pull/17044)
* fix: Wait for search cache to settle before setting or invalidating by [@sradevski](https://github.com/sradevski) in [#16966](https://github.com/medusajs/medusa/pull/16966)
* fix(search): stop search index versions from piling up by [@sradevski](https://github.com/sradevski) in [#16930](https://github.com/medusajs/medusa/pull/16930)
* fix: Correctly count when using distinct by [@sradevski](https://github.com/sradevski) in [#16928](https://github.com/medusajs/medusa/pull/16928)
* fix(promotion): correlate the automatic promotion prefilter with the candidate promotions by [@DylanCuure](https://github.com/DylanCuure) in [#16954](https://github.com/medusajs/medusa/pull/16954)
* fix(medusa): allow omitting deprecated options in admin product updates by [@Dextheking1](https://github.com/Dextheking1) in [#16959](https://github.com/medusajs/medusa/pull/16959)
* fix(workflow-engine-redis): nest RedisWorkflowsOptions under redis in the module options type by [@Asgabani](https://github.com/Asgabani) in [#16730](https://github.com/medusajs/medusa/pull/16730)
* fix(payment): avoid double-prefixing an already pp_-prefixed provider by [@RoxasZohbi](https://github.com/RoxasZohbi) in [#16899](https://github.com/medusajs/medusa/pull/16899)
* fix(draft-order): fix admin crash when selecting a customer without an email by [@kelvin511](https://github.com/kelvin511) in [#16952](https://github.com/medusajs/medusa/pull/16952)
* fix(utils): strip g/y flags in buildRegexpIfValid for CORS origins by [@wakqasahmed](https://github.com/wakqasahmed) in [#16568](https://github.com/medusajs/medusa/pull/16568)
* fix(dashboard): internationalize order payment labels by [@luxapan](https://github.com/luxapan) in [#16846](https://github.com/medusajs/medusa/pull/16846)
* fix(dashboard): i18n fill the 5 missing keys in fi hr pl sv tr by [@theluckystrike](https://github.com/theluckystrike) in [#16933](https://github.com/medusajs/medusa/pull/16933)
* fix(dashboard): add readable validation messages to create region form by [@NikhilDhillon](https://github.com/NikhilDhillon) in [#16720](https://github.com/medusajs/medusa/pull/16720)
* fix(dashboard): point refund and return reason row links at their edit routes by [@Minhal128](https://github.com/Minhal128) in [#16742](https://github.com/medusajs/medusa/pull/16742)
* fix(dashboard): correct shipping profile row link path by [@Asgabani](https://github.com/Asgabani) in [#16728](https://github.com/medusajs/medusa/pull/16728)
* fix(dashboard): i18n placeholders in de and pl that don't match en.json by [@Na5co](https://github.com/Na5co) in [#16907](https://github.com/medusajs/medusa/pull/16907)
* fix: rename misspelled orignalSet parameter to originalSet by [@Dextheking1](https://github.com/Dextheking1) in [#16908](https://github.com/medusajs/medusa/pull/16908)
* chore: fix handling of invalid translation json by [@shahednasser](https://github.com/shahednasser) in [#17002](https://github.com/medusajs/medusa/pull/17002)
## Documentation
* docs: add docs on canceling workflow execution by [@shahednasser](https://github.com/shahednasser) in [#16901](https://github.com/medusajs/medusa/pull/16901)
* docs: add behavior of allow unauthenticated by [@shahednasser](https://github.com/shahednasser) in [#16965](https://github.com/medusajs/medusa/pull/16965)
* docs: clarify has_account behavior + how to convert a guest customer into a registered customer by [@shahednasser](https://github.com/shahednasser) in [#17001](https://github.com/medusajs/medusa/pull/17001)
* docs: add markdown parsing for pricing page by [@shahednasser](https://github.com/shahednasser) in [#17005](https://github.com/medusajs/medusa/pull/17005)
* docs: update cloud navigation info and pricing page by [@shahednasser](https://github.com/shahednasser) in [#16924](https://github.com/medusajs/medusa/pull/16924)
* docs: update cloud usage with search changes by [@shahednasser](https://github.com/shahednasser) in [#17015](https://github.com/medusajs/medusa/pull/17015)
* docs: document usage credits and searchable branch picker in Cloud [automated] by [@shahednasser](https://github.com/shahednasser) in [#17017](https://github.com/medusajs/medusa/pull/17017)
* docs: remove published status filter by [@shahednasser](https://github.com/shahednasser) in [#16915](https://github.com/medusajs/medusa/pull/16915)
* docs: generate sidebar + update actions to use opus 5.5 by [@shahednasser](https://github.com/shahednasser) in [#16931](https://github.com/medusajs/medusa/pull/16931)
* docs: address Kapa coverage gaps for 2026-08-01 [automated] by [@shahednasser](https://github.com/shahednasser) in [#17011](https://github.com/medusajs/medusa/pull/17011)
* docs: document Kapa top questions for 2026-08-01 [automated] by [@shahednasser](https://github.com/shahednasser) in [#17012](https://github.com/medusajs/medusa/pull/17012)
* docs: document domain provisioning failures, database access controls, and log time-range limits [automated] by [@shahednasser](https://github.com/shahednasser) in [#16919](https://github.com/medusajs/medusa/pull/16919)
* docs: fix JSDoc typos in core types and js-sdk by [@Dextheking1](https://github.com/Dextheking1) in [#16920](https://github.com/medusajs/medusa/pull/16920)
* docs: fix typos in Alert example and CommandBar JSDoc by [@Dextheking1](https://github.com/Dextheking1) in [#16906](https://github.com/medusajs/medusa/pull/16906)
* docs: mention plural-config.json in admin translation guide by [@SanteriMoilanen](https://github.com/SanteriMoilanen) in [#16888](https://github.com/medusajs/medusa/pull/16888)
* docs: fix typo multple -> multiple by [@vaibhav8a](https://github.com/vaibhav8a) in [#16654](https://github.com/medusajs/medusa/pull/16654)
* docs: doc changes for next release [automated] by [@shahednasser](https://github.com/shahednasser) in [#16798](https://github.com/medusajs/medusa/pull/16798)
## Chores
* chore: combine release actions + fix snapshot releases by [@shahednasser](https://github.com/shahednasser) in [#17041](https://github.com/medusajs/medusa/pull/17041)
* chore: re-add snapshot comment by [@shahednasser](https://github.com/shahednasser) in [#17042](https://github.com/medusajs/medusa/pull/17042)
* chore: add action to automate translations by [@shahednasser](https://github.com/shahednasser) in [#16962](https://github.com/medusajs/medusa/pull/16962)
* chore: add automation for Kapa insights to docs by [@shahednasser](https://github.com/shahednasser) in [#17008](https://github.com/medusajs/medusa/pull/17008)
* chore: update claude code action version by [@shahednasser](https://github.com/shahednasser) in [#17009](https://github.com/medusajs/medusa/pull/17009)
* chore: update CLAUDE.md by [@shahednasser](https://github.com/shahednasser) in [#17043](https://github.com/medusajs/medusa/pull/17043)
* chore: increase stalebot API limit by [@leobenzol](https://github.com/leobenzol) in [#16927](https://github.com/medusajs/medusa/pull/16927)
* chore(dashboard): add missing translations [automated] by [@shahednasser](https://github.com/shahednasser) in [#17004](https://github.com/medusajs/medusa/pull/17004)
* chore(dashboard): add missing translations [automated] by [@shahednasser](https://github.com/shahednasser) in [#17000](https://github.com/medusajs/medusa/pull/17000)
## Other Changes
* chore(dashboard): i18n complete the vi dashboard locale by [@theluckystrike](https://github.com/theluckystrike) in [#16936](https://github.com/medusajs/medusa/pull/16936)
* chore(dashboard): i18n complete the uk dashboard locale by [@theluckystrike](https://github.com/theluckystrike) in [#16939](https://github.com/medusajs/medusa/pull/16939)
* chore(dashboard): i18n complete the el dashboard locale by [@theluckystrike](https://github.com/theluckystrike) in [#16948](https://github.com/medusajs/medusa/pull/16948)
* i18n complete the mk dashboard locale by [@theluckystrike](https://github.com/theluckystrike) in [#16940](https://github.com/medusajs/medusa/pull/16940)
* add missing hungarian translations in admin dashboard by [@theluckystrike](https://github.com/theluckystrike) in [#17007](https://github.com/medusajs/medusa/pull/17007)
## New Contributors
* @DylanCuure made their first contribution in [#16954](https://github.com/medusajs/medusa/pull/16954)
* @RoxasZohbi made their first contribution in [#16899](https://github.com/medusajs/medusa/pull/16899)
* @kelvin511 made their first contribution in [#16952](https://github.com/medusajs/medusa/pull/16952)
* @wakqasahmed made their first contribution in [#16568](https://github.com/medusajs/medusa/pull/16568)
* @luxapan made their first contribution in [#16846](https://github.com/medusajs/medusa/pull/16846)
* @NikhilDhillon made their first contribution in [#16720](https://github.com/medusajs/medusa/pull/16720)
* @Minhal128 made their first contribution in [#16742](https://github.com/medusajs/medusa/pull/16742)
* @Na5co made their first contribution in [#16907](https://github.com/medusajs/medusa/pull/16907)
* @leobenzol made their first contribution in [#16927](https://github.com/medusajs/medusa/pull/16927)
* @SanteriMoilanen made their first contribution in [#16888](https://github.com/medusajs/medusa/pull/16888)
* @vaibhav8a made their first contribution in [#16654](https://github.com/medusajs/medusa/pull/16654)
* @Asgabani made their first contribution in [#16728](https://github.com/medusajs/medusa/pull/16728)
* @Dextheking1 made their first contribution in [#16906](https://github.com/medusajs/medusa/pull/16906)
* @theluckystrike made their first contribution in [#16933](https://github.com/medusajs/medusa/pull/16933)
**Full Changelog**: [v2.21.1...v2.21.2](https://github.com/medusajs/medusa/compare/v2.21.1...v2.21.2)