v1.14.0
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.
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, and we use Tailwind CSS 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. 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 #4703
- feat(medusa,workflows) Create cart workflow by @riqwan in #4685
- feat(orchestration,workflows): pipe oncomplete and workflow preparation by @carlos-r-l-rodrigues in #4697
- feat(types, product, utils, medusa): Include shared connection for modules by @adrien2p in #4626
- feat(workflows): Data aggregation by @adrien2p in #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 #4714
- fix(medusa): Remove shipping on updates to
cart.items
by @olivermrbl in #4715 - fix(medusa-js): return type of collection hook + export by @olivermrbl in #4747
- fix(medusa): removal of shipping methods on addOrUpdateLineItems by @SimonsThijs in #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 #4709
- chore: Remove FlagRouter from core by @olivermrbl in #4710
- chore(integration-tests): Test the create product workflow compensation by @adrien2p in #4716
- chore(product): remove decorator where it is not necessary and cleanup by @adrien2p in #4731
- chore: Remove
rimraf
from prepare by @olivermrbl in #4741
New Contributors
- @sebabratakundu made their first contribution in #2454
- @pedrotigre made their first contribution in #4734
- @SimonsThijs made their first contribution in #4725
Full Changelog: v1.13.1...v1.14.0