v2.14.2

medusajs/medusav2.14.2Apr 30, 2026by medusa-os-bot[bot]

AI Summary

A patch release focusing on performance improvements for price list filtering, adding metadata support to price lists, and fixing various dashboard and API workflow issues.

Key Highlights

  • Price List Metadata Support
  • Native Price List Filtering Performance
  • New Payment Collection Payment Sessions API
  • Fix for currency code unset when updating region

New Features

  • Metadata support for price lists
  • Native resolution of price_list_id via index engine
  • POST /admin/payment-collections/:id/payment-sessions endpoint

Full Release Notes

## Highlights

### Price List Metadata Support

Price lists now support custom metadata fields, enabling you to store additional business context and custom attributes alongside your pricing configurations. This adds flexibility for commerce applications that need to track extra information like campaign names, seasonal markers, or custom business logic flags.

### Native Price List Filtering Performance

The products listing API now resolves `price_list_id` filters directly through the index engine rather than post-processing results. This significantly improves query performance when filtering products by price lists, especially for large product catalogs.

## Features

*   feat(pricing,medusa,dashboard,types): add metadata support for price lists by [@NicolasGorga](https://github.com/NicolasGorga) in [#15238](https://github.com/medusajs/medusa/pull/15238)
*   feat(index, medusa): resolve price_list_id natively via index engine by [@srindom](https://github.com/srindom) in [#15249](https://github.com/medusajs/medusa/pull/15249)
*   feat(medusa,js-sdk,types): add POST /admin/payment-collections/:id/payment-sessions by [@GBreg19](https://github.com/GBreg19) in [#15169](https://github.com/medusajs/medusa/pull/15169)

## Bugs

*   fix(medusa): speed up products list with `price_list_id` filter by [@srindom](https://github.com/srindom) in [#15247](https://github.com/medusajs/medusa/pull/15247)
*   fix(dashboard): allow clearing optional collection, type, and country fields by [@bqst](https://github.com/bqst) in [#14012](https://github.com/medusajs/medusa/pull/14012)
*   fix(medusa): API workflow subscription by [@v0eak](https://github.com/v0eak) in [#15134](https://github.com/medusajs/medusa/pull/15134)
*   fix: replace dead via.placeholder URL by [@kiluazen](https://github.com/kiluazen) in [#15170](https://github.com/medusajs/medusa/pull/15170)
*   fix(framework): preserve rawBody for text and urlencoded body parsers by [@rnagulapalle](https://github.com/rnagulapalle) in [#15202](https://github.com/medusajs/medusa/pull/15202)
*   fix(auth): preserve app_metadata and user_metadata across token refresh by [@saheersk](https://github.com/saheersk) in [#15137](https://github.com/medusajs/medusa/pull/15137)
*   fix(dashboard,region): fix currency code unset when updating region by [@shahednasser](https://github.com/shahednasser) in [#15228](https://github.com/medusajs/medusa/pull/15228)
*   fix(dashboard): fix type import targeting framework instead of types by [@NicolasGorga](https://github.com/NicolasGorga) in [#15232](https://github.com/medusajs/medusa/pull/15232)
*   fix: pass container to MedusaAppLoader in runMigrationScripts to resolve AwilixResolutionError by [@AKIB473](https://github.com/AKIB473) in [#15103](https://github.com/medusajs/medusa/pull/15103)
*   fix(dashboard): pick existing rules field in PricingDetailsSchema (closes #15207) by [@mvanhorn](https://github.com/mvanhorn) in [#15208](https://github.com/medusajs/medusa/pull/15208)
*   fix(dashboard): compute selected value for eq operator in promo rule value form by [@NicolasGorga](https://github.com/NicolasGorga) in [#15201](https://github.com/medusajs/medusa/pull/15201)
*   fix(core-flows): cancel-order credit line ignores pre-existing refunds by [@langovoi](https://github.com/langovoi) in [#15153](https://github.com/medusajs/medusa/pull/15153)
*   fix(medusa,types,loyalty-plugin): remove unused parameter + export step by [@shahednasser](https://github.com/shahednasser) in [#15189](https://github.com/medusajs/medusa/pull/15189)

## Documentation

*   docs: fix typo in tutorial summary by [@houdayec](https://github.com/houdayec) in [#15243](https://github.com/medusajs/medusa/pull/15243)
*   docs: add TSDocs for a0e57e419cd3e597526460fdbfed7e3e4842aa9b by [@shahednasser](https://github.com/shahednasser) in [#15244](https://github.com/medusajs/medusa/pull/15244)
*   docs: add TSDocs for 243e88510cd7bb4187169ee383519a9be7594854 by [@shahednasser](https://github.com/shahednasser) in [#15242](https://github.com/medusajs/medusa/pull/15242)
*   docs: use cookies on server and client by [@shahednasser](https://github.com/shahednasser) in [#15245](https://github.com/medusajs/medusa/pull/15245)
*   docs: add TSDocs for aa407641ce6ddcd2e27352315b0f7b911a2c0acf by [@shahednasser](https://github.com/shahednasser) in [#15236](https://github.com/medusajs/medusa/pull/15236)
*   docs: changes to intro pages by [@shahednasser](https://github.com/shahednasser) in [#15235](https://github.com/medusajs/medusa/pull/15235)
*   docs: add TSDocs for a9617312ef55be2be8ac5823cc990dd5d6e72c4c by [@shahednasser](https://github.com/shahednasser) in [#15230](https://github.com/medusajs/medusa/pull/15230)
*   docs: fix admin.path reserved paths typedoc and add standalone build guidance by [@ashif323](https://github.com/ashif323) in [#15193](https://github.com/medusajs/medusa/pull/15193)
*   docs: change announcement indicator to green by [@shahednasser](https://github.com/shahednasser) in [#15225](https://github.com/medusajs/medusa/pull/15225)

## Chores

*   chore: change changeset to patch by [@shahednasser](https://github.com/shahednasser) in [#15250](https://github.com/medusajs/medusa/pull/15250)
*   chore: wire up release pipeline with draft release notes by [@shahednasser](https://github.com/shahednasser) in [#15246](https://github.com/medusajs/medusa/pull/15246)
*   chore(dashboard): fix type and lint errors (16/16) by [@shahednasser](https://github.com/shahednasser) in [#15224](https://github.com/medusajs/medusa/pull/15224)
*   chore(dashboard): fix type and lint errors (15/n) by [@shahednasser](https://github.com/shahednasser) in [#15223](https://github.com/medusajs/medusa/pull/15223)
*   chore(dashboard): fix type and lint errors (9/n) by [@shahednasser](https://github.com/shahednasser) in [#15217](https://github.com/medusajs/medusa/pull/15217)
*   chore(dashboard): fix type and lint errors (12/n) by [@shahednasser](https://github.com/shahednasser) in [#15220](https://github.com/medusajs/medusa/pull/15220)
*   chore(dashboard): fix type and lint errors (8/n) by [@shahednasser](https://github.com/shahednasser) in [#15216](https://github.com/medusajs/medusa/pull/15216)
*   chore(dashboard): fix type and lint errors (14/n) by [@shahednasser](https://github.com/shahednasser) in [#15222](https://github.com/medusajs/medusa/pull/15222)
*   chore(dashboard): fix type and lint errors (13/n) by [@shahednasser](https://github.com/shahednasser) in [#15221](https://github.com/medusajs/medusa/pull/15221)
*   chore(dashboard): fix type and lint errors (11/n) by [@shahednasser](https://github.com/shahednasser) in [#15219](https://github.com/medusajs/medusa/pull/15219)
*   chore(dashboard): fix type and lint errors (10/n) by [@shahednasser](https://github.com/shahednasser) in [#15218](https://github.com/medusajs/medusa/pull/15218)
*   chore(dashboard): fix type and lint errors (6/n) by [@shahednasser](https://github.com/shahednasser) in [#15214](https://github.com/medusajs/medusa/pull/15214)
*   chore(dashboard): fix type and lint errors (7/n) by [@shahednasser](https://github.com/shahednasser) in [#15215](https://github.com/medusajs/medusa/pull/15215)
*   chore(dashboard): fix type and lint errors (4/n) by [@shahednasser](https://github.com/shahednasser) in [#15212](https://github.com/medusajs/medusa/pull/15212)
*   chore(dashboard): fix type and lint errors (5/n) by [@shahednasser](https://github.com/shahednasser) in [#15213](https://github.com/medusajs/medusa/pull/15213)
*   chore(dashboard): fix type and lint errors (3/n) by [@shahednasser](https://github.com/shahednasser) in [#15211](https://github.com/medusajs/medusa/pull/15211)
*   chore(dashboard): fix type and lint errors (2/n) by [@shahednasser](https://github.com/shahednasser) in [#15210](https://github.com/medusajs/medusa/pull/15210)
*   chore(dashboard): fix type and lint errors (1/n) by [@shahednasser](https://github.com/shahednasser) in [#15209](https://github.com/medusajs/medusa/pull/15209)
*   chore(docs): Generated + Updated UI Reference (automated) by [@github-actions](https://github.com/github-actions) in [#15198](https://github.com/medusajs/medusa/pull/15198)
*   chore(docs): Update version in documentation (automated) by [@github-actions](https://github.com/github-actions) in [#15197](https://github.com/medusajs/medusa/pull/15197)

## New Contributors

*   [@houdayec](https://github.com/houdayec) made their first contribution in [#15243](https://github.com/medusajs/medusa/pull/15243)
*   [@kiluazen](https://github.com/kiluazen) made their first contribution in [#15170](https://github.com/medusajs/medusa/pull/15170)
*   [@rnagulapalle](https://github.com/rnagulapalle) made their first contribution in [#15202](https://github.com/medusajs/medusa/pull/15202)
*   [@saheersk](https://github.com/saheersk) made their first contribution in [#15137](https://github.com/medusajs/medusa/pull/15137)
*   [@AKIB473](https://github.com/AKIB473) made their first contribution in [#15103](https://github.com/medusajs/medusa/pull/15103)
*   [@mvanhorn](https://github.com/mvanhorn) made their first contribution in [#15208](https://github.com/medusajs/medusa/pull/15208)
*   [@langovoi](https://github.com/langovoi) made their first contribution in [#15153](https://github.com/medusajs/medusa/pull/15153)
*   [@ashif323](https://github.com/ashif323) made their first contribution in [#15193](https://github.com/medusajs/medusa/pull/15193)

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