Skip to content

v1.14.0

Compare
Choose a tag to compare
@olivermrbl olivermrbl released this 17 Aug 15:20
· 3217 commits to develop since this release

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

Full Changelog: v1.13.1...v1.14.0