Medusa v1.16.0stable Released Sep 15, 2023
โš ๏ธ Breaking Change Impact Score: 7/10

Medusa v1.16.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

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

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • Breaking changes **Database schema changes**
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Medusa v1.16.0. Source highlight: Multi-language support in Medusa Admin

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.

โš ๏ธ Breaking Changes & Deprecations (1)

  • Breaking changes **Database schema changes**

โœจ New Features & Capabilities (6)

  • feat(medusa,orchestration): Decouple Product in Cart domain
  • feat(utils, module-sdk, medusa): Extract pg connection utils to utils package
  • feat(admin): add ProductCollectionDetailsWidgetProps type
  • feat(pricing, types): PriceSets as entry point to pricing module
  • feat(orchestration): remote joiner - field alias
  • feat(admin-ui): Multi-language support

๐Ÿ”ง Bug Fixes & Patches (6)

  • fix(medusa): Type in AbstractFulfillmentService
  • fix(link-modules): Fix link module initialization
  • fix(admin-ui): disabling analytics when opted out
  • fix(medusa): default sales channel for store variant endpoints
  • fix(link-modules): fix link configuration for product shipping profile
  • fix(orchestration): Infinite loop by reference update
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- ![image](https://github.com/medusajs/medusa/assets/59018053/ad8fd7d1-d283-4d12-9694-4c0963f55f38) # Version 1.16.0 This version ships multi-language support in Medusa Admin, including translations in English, French, and Portuguese (Brazil) CMS_BREAK --> ## Highlights ### Multi-language support in Medusa Admin We are excited to announce multi-language support in Medusa Admin, allowing merchants to manage products, orders, customers, etc. in their preferred language. <p align="center"> <img src="https://github.com/medusajs/medusa/assets/59018053/1a3e5ea0-87a3-47c4-850c-3ce82fcf2e7e" width="500"/> </p> This release ships English, Portuguese (Brazil), and French translations. Check it out by upgrading to the latest version of Medusa Admin: ``` yarn add @medusajs/admin@latest ``` Huge thanks to @gempain and @mj-mehdizadeh for this amazing contribution. And thanks @dahorarodrigo for contributing with Portuguese translations. If you want to help us translate Admin to other languages, see the [contribution guide in our documentation](https://docs.medusajs.com/contribution/admin-translations). Your efforts are highly appreciated! ### Pricing Module This release introduces the first iteration of our new standalone Pricing Module, which ships on npm under `@medusajs/pricing`. This version of the module comes with limited functionality as we've focused on putting down a solid foundation for follow-up work. You can think of the Pricing Module as a way to assign a price to any type of resource, for example, ProductVariants. We will share an announcement article soon, describing the module's features and what you can expect from follow-up iterations. ### Breaking changes **Database schema changes** In our effort to build [Standalone Commerce Modules](https://x.com/owjuhl/status/1699436543990247756?s=20), we will incrementally be dropping foreign key constraints across many business domains and change relationships between entities in the core, `@medusajs/medusa`. Right now, we are focused on finalizing the Product (`@medusajs/product`) and Pricing (`@medusajs/pricing`) module, which has led to the following database changes. The relationship between MoneyAmounts and ProductVariants has been changed from a Many-to-One to a Many-to-Many in package `@medusajs/medusa`. Therefore, you are required to apply the new migration by running the following command in your Medusa project: ``` npx @medusajs/medusa-cli migrations run ``` You can no longer create prices for variants as part of creating a product using only the `ProductService`. ```ts await ProductService.create({ variants [ { prices: [ ... ] } ] }) // <-- This will throw an error, due to the change in DB schema mentioned above ``` Instead, you should create products and variants separately. For example, you can do: ```ts const product = await ProductService.create({ ... }) const variants = await ProductVariantService.create(product.id, variants) ``` Additionally, the following foreign key constraints have been dropped: > These changes are **only** relevant if you are using the feature flag `isolate_product_domain`. Please be careful about enabling this flag, as it will introduce experimental changes and work in progress. - ProductTaxRate to Product - ProductTypeTaxRate to ProductType - ClaimItem to ProductVariant - DiscountConditionProduct to Product - DiscountConditionProductCollection to ProductCollection - DiscountConditionProductTag to ProductTag - DiscountConditionProductType to ProductType - DiscountRule to Product ## Features * feat(medusa,orchestration): Decouple Product in Cart domain by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/4945 * feat(utils, module-sdk, medusa): Extract pg connection utils to utils package by @adrien2p in https://github.com/medusajs/medusa/pull/4961 * feat(admin): add ProductCollectionDetailsWidgetProps type by @tekloon in https://github.com/medusajs/medusa/pull/5012 * feat(pricing, types): PriceSets as entry point to pricing module by @riqwan in https://github.com/medusajs/medusa/pull/4978 * feat(orchestration): remote joiner - field alias by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/5013 * feat(admin-ui): Multi-language support by @gempain in https://github.com/medusajs/medusa/pull/4962 * feat(medusa): List products with Remote Query by @adrien2p in https://github.com/medusajs/medusa/pull/4969 * feat(admin-ui): Add display name + pull supported languages from config by @olivermrbl in https://github.com/medusajs/medusa/pull/5028 * feat(medusa): Get product with isolated product module by @adrien2p in #5010 * feat(medusa): Drop FKs to isolate products by @carlos-r-l-rodrigues in #5042 * feat(medusa): Separate money amount and variant by @pKorsholm in #4906 * feat(medusa): Prevent default SC to be assign if the isolated product flag is enabled by @adrien2p in #5037 * feat(pricing) Add Price Set Rule Type by @pKorsholm in #4977 * feat(admin-ui): Add French translations by @gempain in #5031 ## Bugs * fix(medusa): Type in AbstractFulfillmentService by @pepijn-vanvlaanderen in https://github.com/medusajs/medusa/pull/5003 * fix(link-modules): Fix link module initialization by @adrien2p in https://github.com/medusajs/medusa/pull/4990 * fix(admin-ui): disabling analytics when opted out by @jporsay in https://github.com/medusajs/medusa/pull/4939 * fix(medusa): default sales channel for store variant endpoints by @pKorsholm in https://github.com/medusajs/medusa/pull/4556 * fix(link-modules): fix link configuration for product shipping profile by @riqwan in https://github.com/medusajs/medusa/pull/5014 * fix(orchestration): Infinite loop by reference update by @adrien2p in https://github.com/medusajs/medusa/pull/5023 * fix(medusa): duplicated migration by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/5029 * fix(orchestration,link-modules,pricing,types): fix shippingprofile error outside of core + change link alias name by @riqwan in #5025 * fix(medusa): Support fields param in list-variants by @olivermrbl in #5053 * fix(create-medusa-app): fix command for windows OS by @shahednasser in #5061 * fix(admin,admin-ui): copy public folder as part of admin build by @kasperkristensen in #5057 * fix(medusa-react): fix useAdminAddStoreCurrency hook by @shahednasser in #5074 * fix(medusa): Money amount detached migration by @adrien2p in #5079 * fix(admin-ui): Load translations from path by @olivermrbl in #5064 * feat(admin-ui): pt-BR translations and en version text fixes by @dahorarodrigo in #5066 ## Chores * chore(modules-sdk,orchestration): to remote joiner query by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/4974 * chore(admin-ui): Add pt-BR to supported languages by @olivermrbl in #5080 ## Documentation * docs: fix S3 plugin options section by @shahednasser in https://github.com/medusajs/medusa/pull/5007 * docs: add create-medusa-app option in Next.js starter by @shahednasser in https://github.com/medusajs/medusa/pull/5008 * docs: added new recipes by @shahednasser in https://github.com/medusajs/medusa/pull/4964 * docs: fix steps in create entity documentation by @shahednasser in https://github.com/medusajs/medusa/pull/5011 * docs: added troubleshooting for Next.js with NPX by @shahednasser in https://github.com/medusajs/medusa/pull/5016 * docs: added ecommerce recipe by @shahednasser in https://github.com/medusajs/medusa/pull/5017 * docs: updated the add fulfillment provider docs by @shahednasser in https://github.com/medusajs/medusa/pull/4986 * docs: update create-medusa-app to add details about Next.js option by @shahednasser in https://github.com/medusajs/medusa/pull/4991 * docs: add documentation for remaining plugins by @shahednasser in https://github.com/medusajs/medusa/pull/4994 * docs,api-ref: fix kbd styling by @shahednasser in https://github.com/medusajs/medusa/pull/4995 * docs: fix environment variable names for Railway guide by @shahednasser in #5077 ## New Contributors * @jporsay made their first contribution in https://github.com/medusajs/medusa/pull/4939 * @tekloon made their first contribution in https://github.com/medusajs/medusa/pull/5012 * @gempain made their first contribution in https://github.com/medusajs/medusa/pull/4962 **Full Changelog**: https://github.com/medusajs/medusa/compare/v1.15.1...v1.16.0