โ ๏ธ Breaking Change
Impact Score: 7/10
Medusa v1.14.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
The following is a breaking change from the beta version released in June.
Other breaking changes The FlagRouter that manages feature flags has been removed from `@medusajs/medusa` and added to `@medusajs/utils`.
โก Executive Summary (TL;DR)
Medusa v1.14.0. Source highlight: Admin Extensions reaches general availability
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 (2)
- The following is a breaking change from the beta version released in June.
- Other breaking changes The FlagRouter that manages feature flags has been removed from `@medusajs/medusa` and added to `@medusajs/utils`.
โจ New Features & Capabilities (6)
- feat(workflows):product handlers should be reusable in different context
- feat(medusa,workflows) Create cart workflow
- feat(orchestration,workflows): pipe oncomplete and workflow preparation
- feat(types, product, utils, medusa): Include shared connection for modules
- feat(workflows): Data aggregation
- feat(admin-ui): bulk advanced selections + copy/paste by @fPolic in #4568
โก Performance & Enhancements (3)
- 2-dimensional selection
- Command/ctrl + shift + arrow
- Copy/paste functionality
๐ง Bug Fixes & Patches (5)
- fix(medusa): Fixed existingItems query in addOrUpdateLineItems
- fix(medusa): Remove shipping on updates to `cart.items`
- fix(medusa-js): return type of collection hook + export
- fix(medusa): removal of shipping methods on addOrUpdateLineItems
- fix(medusa): ignore region_id update w/o value change by @srindom in #4751
๐ View Raw Release Notes (Original Developer Log)
<!--

# Version 1.14.0
This release marks the general availability of Admin Extensions and introduces a brand new UI Component Library to build Widgets and UI Routes with the same look and feel as Medusa Admin.
CMS_BREAK -->
## Highlights
### Admin Extensions reaches general availability
We are excited to announce the general availability of Admin Extensibility, shipping alongside version 1.14.0 of Medusa Core and a brand-new component library.
To start using it, install the latest versions of the core and admin packages, and check out our [guide to building your first Admin Widgets and UI Routes](https://docs.medusajs.com/admin/quickstart).
```bash
yarn add @medusajs/admin@latest @medusajs/medusa@latest
```
The following is a breaking change from the beta version released in June.
`path` should now have the format `/<path>` instead of `<path>`. A path with a trailing `/` will still throw an error.
Separately, it is worth highlighting that to use environment variables in Admin Extensions, they should be prefixed with `MEDUSA_ADMIN_`. Variables with this prefix are included in the admin build and otherwise omitted for security reasons. If you have used Next.js or Gatsby, the concept will be familiar to you.
### **UI Component Library**
To build Admin Extensions with the same look and feel as Medusa Admin, we are excited to announce our new component Library, Medusa UI.
Medusa UI is a React implementation of the Medusa design system. Most components are based on [Radix UI Primitives](https://www.radix-ui.com/primitives), and we use [Tailwind CSS](https://tailwindcss.com/) for styling, shipping our own preset with our customizations.
The library is a dependency of our Admin package, so you can start using it if you have the latest version of that installed. Alternatively, you can install it in a standalone project. However, this comes with the required configuration. See the documentation.
To help you get started with Medusa UI, we have published [its own documentation](https://docs.medusajs.com/ui). This should get you up and running and provide more information on the available components and how to use them. You will also find information on Medusa Icons we have made public and more details on theming.
### Bulk Editor improvements
The following improvements have been shipped to the Bulk Editor
- 2-dimensional selection
- Keyboard navigation
- Arrow
- Shift + arrow
- Command/ctrl + shift + arrow
- Tab
- Shit + tab
- Copy/paste functionality
### Extended `create-medusa-app` options
The following options have been added:
```
--no-browser: Disables opening the browser at the end of the project creation and only shows success message.
--skip-db: Skips creating the database, running migrations, and seeding, and subsequently skips opening the browser. Useful if you want to set the database URL at a later point in the configurations.
--db-url <url>: Skips database creation and sets the database URL to the provided URL. Throws an error if connection to the database fails. Will still run migrations and open the admin after project creation. Useful if you already have a database created, locally or remotely.
--no-migrations: Skips running migrations, creating admin user, and seeding. If used, it's expected that you pass the `--db-url` option with a URL of a database that has all necessary migrations. Otherwise, unexpected errors will occur. Helpful only if combined with `--db-url`.
--directory-path <path>: Allows specifying the parent directory path to create the directory of the new project in.
```
### Important fix: Cart Shipping Methods
Shipping methods are now always deleted on cart line item updates. This was always the intention, but the functionality has been broken until now. This release patches the functionality.
### Other breaking changes
The FlagRouter that manages feature flags has been removed from `@medusajs/medusa` and added to `@medusajs/utils`.
## Features
* feat(workflows):product handlers should be reusable in different context by @adrien2p in https://github.com/medusajs/medusa/pull/4703
* feat(medusa,workflows) Create cart workflow by @riqwan in https://github.com/medusajs/medusa/pull/4685
* feat(orchestration,workflows): pipe oncomplete and workflow preparation by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/4697
* feat(types, product, utils, medusa): Include shared connection for modules by @adrien2p in https://github.com/medusajs/medusa/pull/4626
* feat(workflows): Data aggregation by @adrien2p in https://github.com/medusajs/medusa/pull/4732
* feat(admin-ui): bulk advanced selections + copy/paste by @fPolic in #4568
* feat(create-medusa-app): add database options by @shahednasser in #4733
* feat(medusa-plugin-restock-notifications): Multi-warehouse support by @josipmatichr in #4718
* feat(admin, admin-ui, medusa-js, medusa-react, medusa): Support Admin Extensions (#4761)
## Bugs
* fix(medusa): Fixed existingItems query in addOrUpdateLineItems by @DidierGuyon in https://github.com/medusajs/medusa/pull/4714
* fix(medusa): Remove shipping on updates to `cart.items` by @olivermrbl in https://github.com/medusajs/medusa/pull/4715
* fix(medusa-js): return type of collection hook + export by @olivermrbl in https://github.com/medusajs/medusa/pull/4747
* fix(medusa): removal of shipping methods on addOrUpdateLineItems by @SimonsThijs in https://github.com/medusajs/medusa/pull/4725
* fix(medusa): ignore region_id update w/o value change by @srindom in #4751
## Chores
* chore: scope errors on workflow to invoke by @riqwan in https://github.com/medusajs/medusa/pull/4709
* chore: Remove FlagRouter from core by @olivermrbl in https://github.com/medusajs/medusa/pull/4710
* chore(integration-tests): Test the create product workflow compensation by @adrien2p in https://github.com/medusajs/medusa/pull/4716
* chore(product): remove decorator where it is not necessary and cleanup by @adrien2p in https://github.com/medusajs/medusa/pull/4731
* chore: Remove `rimraf` from prepare by @olivermrbl in https://github.com/medusajs/medusa/pull/4741
## New Contributors
* @sebabratakundu made their first contribution in https://github.com/medusajs/medusa/pull/2454
* @pedrotigre made their first contribution in https://github.com/medusajs/medusa/pull/4734
* @SimonsThijs made their first contribution in https://github.com/medusajs/medusa/pull/4725
**Full Changelog**: https://github.com/medusajs/medusa/compare/v1.13.1...v1.14.0