Highlights
Improved order management
We've improved our order management with support for updating email, shipping address, and billing address.
New languages
Our admin dashboard has been translated into Italian.
Support for check constraint in Data Model API
We've added support for Postgres check constraints in our Data Model API.
For example:
const shippingMethod = model.define('ShippingMethod', {
amount: model.bigNumber(),
})
.checks([
(columns) => `${columns.amount} >= 0`
])
DML Migrations
Warning
Schema changes
We've migrated our Pricing, User, and Auth modules to use our Data Model API. These migrations include minor changes to the database schema:
Pricing module
- Added column
operator
toprice_rule
table (defaults toeq
) - Created index on
(operator)
inprice_rule
table - Created index on
(price_id)
inprice_rule
table - Created unique index on
(price_id, attribute, operator)
inprice_rule
table - Changed type of
max_quantity
column inprice
table from numeric to integer - Changed type of
min_quantity
column inprice
table from numeric to integer
Auth module
- Added column
deleted_at
toauth_identity
table - Added column
deleted_at
toprovider_identity
table - Created index on
(deleted_at)
inauth_identity
table - Created index on
(deleted_at)
inprovider_identity
table
User module
- Renamed unique index on
(email)
ininvite
table - Renamed unique index on
(email)
inuser
table
Features
- feat(pricing,utils,types): add operator field to price rule by @riqwan in #10315
- feat(pricing, types): add price rule operators to price calculations by @riqwan in #10350
- feat(core-flows,types,medusa): ability to update/create custom shipping prices by @riqwan in #10368
- feat(core-flows,framework,medusa): list shipping options pass in cart as pricing context by @riqwan in #10374
- refactor: migrate pricing entities to DML models by @thetutlage in #10335
- feature: add support for check constraints in DML by @thetutlage in #10391
- feat(core-flows,medusa,order,types): update orders by @fPolic in #10373
- feat(admin, js-sdk, types): update order forms by @fPolic in #10418
Bugs
- fix(medusa): remove request body type argument from cancel order transfer routes by @shahednasser in #10327
- fix(product): change export name of ProductImage by @shahednasser in #10326
- fix: Use the correct defaults for the invite token expiry by @sradevski in #10344
- fix: do not initialize FKs to null by @thetutlage in #10337
- fix(order): archive order status update by @fPolic in #10340
- fix: do not rely on model loading order to find an implicit owner by @thetutlage in #10360
- fix(ui,icons,ui-preset): Fix CodeBlock and Command components by @kasperkristensen in #10369
- fix: Ensure tax lines are generated for all items and shipping methods in cart by @olivermrbl in #10372
- fix(stock-location): Fix export of StockLocation module by @kasperkristensen in #10406
- fix(dashboard): Fix broken number input in adjust inventory form by @kasperkristensen in #10416
- fix(dashboard): Add default value to inventory item combobox by @kasperkristensen in #10412
- fix(dashboard): Prevent language ptBR from breaking dashboard by @kasperkristensen in #10422
- fix(framework): Ensure that CORS and Auth middleware is applied for routes only defined in middlewares.ts by @kasperkristensen in #10339
- fix(dashboard): Add Shipping Profile metadata route by @kasperkristensen in #10430
Documentation
- docs: update sanity guide + marketplace recipe to use permanentFailure by @shahednasser in #10310
- docs: update details on retrieving nested categories by @shahednasser in #10317
- docs: add note about actor_type in reset password event in v2.0.7 by @shahednasser in #10322
- docs: update many-to-many docs by @shahednasser in #10323
- docs: generate references manually by @shahednasser in #10325
- docs: revise implement brand module by @shahednasser in #10341
- docs: revised build custom features chapter by @shahednasser in #10338
- docs: revise create brand workflow by @shahednasser in #10346
- docs: changes to deployment + remove admin deployment guides by @shahednasser in #10345
- docs: document permanentFailure by @shahednasser in #10356
- docs: add note about retryInterval making workflow long-running by @shahednasser in #10355
- docs: intro + basic chapter fixes by @shahednasser in #10361
- docs: remove v2 branch of next js starter installation by @shahednasser in #10402
- docs: add missing import to db operations documentation by @shahednasser in #10390
- docs: revise brand API route by @shahednasser in #10352
- docs-util: add user, pricing, and auth as modules with DML by @shahednasser in #10423
- docs: fixes and improvements to Sanity guide by @shahednasser in #10414
Chores
- Fix(dml): DML default/nullable management by @adrien2p in #10363
- chore(utils): Ensure DML name convention follow the same as the class name for simplicity by @adrien2p in #10370
- feat(auth): Migrate auth module to DML by @adrien2p in #10387
- feat(user): Migrate user module to DML by @adrien2p in #10389
- chore(workflows-sdk): add unit test by @carlos-r-l-rodrigues in #10419
Other Changes
- German language corrections by @pixelwiese in #10394
- feat: added Italian translations by @MarcoSan19 in #10362
- Fix French translation typos by @lucienbl in #10348
New Contributors
- @MarcoSan19 made their first contribution in #10362
- @lucienbl made their first contribution in #10348
Full Changelog: v2.0.7...v2.1.0