Medusa v2.12.2stable Released Dec 11, 2025
Impact Score: 5/10

Medusa: v2.12.2: Experimental backend HMR and granular queue configurations

Source available โ€” automated, not human-reviewed

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

Analysis updated: 2026-11-01.

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

Medusa v2.12.2. Source highlight: Granular queue configurations

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)

  • Allow merchants to add translations for entities in the **Product Module**
  • Use translated product data in the cart and order flows, e.g. add item to cart
  • feat(dashboard): Improve fully refunded order details
  • feat(): Introduce translation module and preliminary application of them
  • feat(): sync cart translation synced
  • feat(): Pluralized props for list readonly link

โšก Performance & Enhancements (2)

  • docs: improve build with AI chapter
  • chore: improvements of TSDocs of link steps

๐Ÿ”ง Bug Fixes & Patches (6)

  • chore(): Add translations/locale integration tests and fix locale endpoint
  • chore(): revert route loading parallelization
  • fix S3 URL escaping
  • fix(dashboard): show correct color indicators for payment and fulfillment status columns for `view_configuration` feature flag
  • fix(core-flows): refresh payment collection inside updateCartPromotionsWorkflow
  • fix(dashboard): avoid unnecessary product relations to be returned by default
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- ![2-12-2](https://gh-release-images.s3.eu-north-1.amazonaws.com/v2-12-2.jpg) # v2.12.2: Experimental backend HMR and granular queue configurations This release introduces experimental HMR for the Medusa backend and new configuration options for queues and workers in the workflow engine. CMS_BREAK --> ## Highlights ### Granular queue configurations This release adds support for configuring the queue and workers of the Redis Workflow Engine (`@medusajs/workflow-engine-redis`). You can pass any options supported by BullMQ, e.g. `concurrency`, in the options of the module. Here's an example configuration: ```ts module.exports = defineConfig({ modules: [ { resolve: "@medusajs/workflow-engine-redis", options: { queueOptions: { defaultJobOptions: { removeOnComplete: 1000 } }, workerOptions: { concurrency: 10 } }, }, }) ``` ### Core multi-language infrastructure This release adds the core foundation for multi-language support. We expect to have a first testable preview version some time next week. The scope of the first release is aimed to solve the following: - Allow merchants to configure multiple locales for their store - Allow merchants to add translations for entities in the **Product Module** - Allow storefront developers to easily retrieve localized products - Use translated product data in the cart and order flows, e.g. add item to cart Although, the first release is only focused on the product-related entities, we have built the infrastructure to enable translations of any entity (core and custom). More on this later. ### Backend HMR (experimental) This release introduces **experimental** Hot Module Replacement (HMR) for our backend to improve the local development experience. In its current state, this feature is a work-in-progress and should be used with caution. So far, we have added HMR support for the following files and tools: - API Routes (and middlewares) - Workflows & Steps - Scheduled Jobs - Event Subscribers - Modules As well as regular files, such as types and utilities. When HMR cannot handle a change, we fallback to restarting the server completely. You can read more about the architecture and key features here: https://github.com/medusajs/medusa/pull/14074 **How to enable it** The feature is behind a feature flag. Enable it by setting: ```ts // medusa-config.ts module.exports = defineConfig({ featureFlags: { backend_hmr: true } }) ``` ## Features * feat(dashboard): Improve fully refunded order details by @NicolasGorga in https://github.com/medusajs/medusa/pull/14077 * feat(): Introduce translation module and preliminary application of them by @adrien2p in https://github.com/medusajs/medusa/pull/14189 * feat(): sync cart translation synced by @adrien2p in https://github.com/medusajs/medusa/pull/14226 * chore(): Add translations/locale integration tests and fix locale endpoint by @adrien2p in https://github.com/medusajs/medusa/pull/14266 * feat(): Pluralized props for list readonly link by @adrien2p in https://github.com/medusajs/medusa/pull/14190 ## Bugs * chore(): revert route loading parallelization by @adrien2p in https://github.com/medusajs/medusa/pull/14204 * fix S3 URL escaping by @peterlgh7 in https://github.com/medusajs/medusa/pull/14220 * fix(dashboard): show correct color indicators for payment and fulfillment status columns for `view_configuration` feature flag by @NicolasGorga in https://github.com/medusajs/medusa/pull/14215 * fix(core-flows): refresh payment collection inside updateCartPromotionsWorkflow by @NicolasGorga in https://github.com/medusajs/medusa/pull/13963 * fix(dashboard): avoid unnecessary product relations to be returned by default by @NicolasGorga in https://github.com/medusajs/medusa/pull/14175 * fix(utils): fix error when generating migrations for a module with existing snapshot by @shahednasser in https://github.com/medusajs/medusa/pull/14218 * fix(medusa): use customer query config on delete address route by @NicolasGorga in https://github.com/medusajs/medusa/pull/14238 * fix(dashboard,order): preview pending diff summary by @fPolic in https://github.com/medusajs/medusa/pull/14221 * fix(dashboard): pass prefix to useDataTable to fix product list not paginating by @NicolasGorga in https://github.com/medusajs/medusa/pull/14232 * fix(core-flows): Access orderItem.variant safely inside convertDraftOrderWorkflow when containing custom items by @NicolasGorga in https://github.com/medusajs/medusa/pull/14233 * fix(utils): avoid inflating refundable_total for tax inclusive pricing by @NicolasGorga in https://github.com/medusajs/medusa/pull/14237 * chore(): Upgrade validator patched version by @adrien2p in https://github.com/medusajs/medusa/pull/14254 * fix(): Improve store supported locale -> locale readonly link by @adrien2p in https://github.com/medusajs/medusa/pull/14269 * fix(utils,core-flows): add events constant for translations and use it in workflows by @shahednasser in https://github.com/medusajs/medusa/pull/14277 * fix(core-flows): refresh payment collection inside updateCartPromotionsWorkflow (patch) by @NicolasGorga in https://github.com/medusajs/medusa/pull/14274 ### Documentation * chore(docs): Generated References (automated) by @github-actions[bot] in https://github.com/medusajs/medusa/pull/14199 * docs: add best practices doc for third-party syncing by @shahednasser in https://github.com/medusajs/medusa/pull/14203 * docs: add custom admin route ranking documentation by @bqst in https://github.com/medusajs/medusa/pull/13984 * docs: update Next.js + React by @shahednasser in https://github.com/medusajs/medusa/pull/14210 * chore(docs): Updated UI Reference (automated) by @github-actions[bot] in https://github.com/medusajs/medusa/pull/14212 * docs: triage issues + revamp troubleshooting guides by @shahednasser in https://github.com/medusajs/medusa/pull/14216 * docs: okta integration tutorial by @shahednasser in https://github.com/medusajs/medusa/pull/14188 * docs: various improvements and fixes by @shahednasser in https://github.com/medusajs/medusa/pull/14257 * docs: improve build with AI chapter by @shahednasser in https://github.com/medusajs/medusa/pull/14259 ## Chores * chore(docs): Update version in documentation (automated) by @github-actions[bot] in https://github.com/medusajs/medusa/pull/14198 * chore(docs): Updated API Reference (automated) by @github-actions[bot] in https://github.com/medusajs/medusa/pull/14200 * chore: configurable database migration in concurrency by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/14004 * chore(): Run some commands in server mode only by @adrien2p in https://github.com/medusajs/medusa/pull/14202 * chore(event-bus, workflow-engine): Enable more granualar queues configuration by @adrien2p in https://github.com/medusajs/medusa/pull/14201 * Add js-sdk to resolutions in local development section by @NicolasGorga in https://github.com/medusajs/medusa/pull/14197 * chore: improvements of TSDocs of link steps by @shahednasser in https://github.com/medusajs/medusa/pull/14261 * chore(): Move event bus local logging by @adrien2p in https://github.com/medusajs/medusa/pull/14244 * chore(): Accept an extra agument 'all-or-nothing' on the migrate command by @adrien2p in https://github.com/medusajs/medusa/pull/14262 * chore(order): Remove unique index on item_id:version for order_item by @NicolasGorga in https://github.com/medusajs/medusa/pull/14268 * chore: Add locks to order edit flows by @olivermrbl in https://github.com/medusajs/medusa/pull/14270 ## Other Changes * escape non-ascii characters in filenames in s3 file provider by @peterlgh7 in https://github.com/medusajs/medusa/pull/14209 * chore: Backend HMR (expriemental) by @adrien2p in https://github.com/medusajs/medusa/pull/14074 * fix(core-flows, medusa): Prevent cart addresses duplication on update by @NicolasGorga in https://github.com/medusajs/medusa/pull/13841 **Full Changelog**: https://github.com/medusajs/medusa/compare/v2.12.1...v2.12.2