v1.20.3

medusajs/medusav1.20.3Mar 20, 2024by olivermrbl

AI Summary

This release focuses on the roadmap towards Medusa 2.0 and the Admin Redesign, introducing significant infrastructure work for modules like Tax, Fulfillment, Payment, and Inventory, alongside general bug fixes.

Key Highlights

  • Medusa 2.0 update (migration to workflows and modules)
  • Admin Redesign update (beta release in April)
  • Made `medusaClient` optional in `MedusaProvider`
  • Product Categories added to search subscriber
  • Updated index on customer table for soft-deletes

New Features

  • BigNumber implementation
  • Region endpoints (admin/store)
  • Fulfillment module DTOs and service implementation
  • Payment provider service
  • Workflow engine API
  • Cart API routes (`POST /store/carts/:id`)
  • User module (invites)
  • Tax module (regions, rates, rules)
  • API Key module
  • Store module
  • Link modules (Cart, Payment Collection, Sales Channel)
  • Inventory module conversion
  • Dashboard updates (DataGrid, Workflows executions, etc.)

Full Release Notes

<!-- 
![image](https://github.com/medusajs/medusa/assets/59018053/414ca66d-52f1-40d3-813f-d6ddff63022e)

# Version 1.20.3

This version centers around Medusa 2.0 and our admin redesign.

CMS_BREAK -->

## Highlights

### Medusa 2.0 update

Most of the changes in this release are related to Medusa 2.0 and will not affect any users' setup. The expected date for a 2.0 release candidate is early summer. You can track the progress in our [high-level roadmap](https://github.com/orgs/medusajs/projects/7/views/1). 

The larger remaining todos are:
- Convert Rest API to use Workflows, new modules, and API routes
- Migrate Admin to use 2.0
- Documentation
- Migration guide
- Cleanup/housekeeping

### Admin Redesign update
Aside from changes for Medusa 2.0, this release also contains work for the Admin Redesign, set to be released in beta at the beginning of April.  The redesign will significantly improve the UX and UI of our admin dashboard and make the overall look and feel much more consistent. 

### Others

Additionally, this release squashes some minor bugs in Medusa 1.*.

**Make `medusaClient` optional in `MedusaProvider`**

The property `medusaClient` on the type `MedusaProviderProps` in `medusa-react` has been updated to be optional.

Using the `MedusaProvider` without the `medusaClient` will initialize and use a new default client under the hood:
```
<MedusaProvider
  baseUrl={process.env.MEDUSA_BASE_URL}
  ...
>
    {children}
</MedusaProvider>

```

https://github.com/medusajs/medusa/pull/6363

**Add Product Categories to search subscriber**

Product categories are included in search indexing on product updates and creations if the product categories feature flag is enabled.

https://github.com/medusajs/medusa/pull/6555

**Update index on customer table**

The multicolumn uniqueness index on the customer table `(email, has_account)` has been updated to only apply to rows where `deleted_at` is null. This is to allow for the creation of customers that were previously soft-deleted.

https://github.com/medusajs/medusa/pull/6631

## Features
* feat: Add BigNumber implementation by @olivermrbl in https://github.com/medusajs/medusa/pull/6253
* feat(region): Add admin region get + list endpoints by @olivermrbl in https://github.com/medusajs/medusa/pull/6322
* feat(fulfillment): Init dtos work by @adrien2p in https://github.com/medusajs/medusa/pull/6329
* feat(dashboard,medusa,ui): Manual gift cards + cleanup by @kasperkristensen in https://github.com/medusajs/medusa/pull/6380
* feat(payment): provider service by @fPolic in https://github.com/medusajs/medusa/pull/6308
* feat(region): Add store region get + list endpoints by @olivermrbl in https://github.com/medusajs/medusa/pull/6342
* feat(medusa): workflow engine api by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6330
* feat(region): Create region with countries by @olivermrbl in https://github.com/medusajs/medusa/pull/6372
* feat(user, types): add invite and user properties + migration by @pKorsholm in https://github.com/medusajs/medusa/pull/6327
* feat(cart): `POST /store/carts/:id` by @olivermrbl in https://github.com/medusajs/medusa/pull/6274
* feat(medusa, types, core-flows): Add invite endpoints for api-v2 by @pKorsholm in https://github.com/medusajs/medusa/pull/6395
* feat(fulfillment): Module service implementation first iteration by @adrien2p in https://github.com/medusajs/medusa/pull/6381
* feat(order): module foundation by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6399
* feat(tax): tax module scaffolding by @srindom in https://github.com/medusajs/medusa/pull/6417
* feat: CartRegion link, definition + workflow by @olivermrbl in https://github.com/medusajs/medusa/pull/6392
* feat: Cart SalesChannel link + clean-up by @olivermrbl in https://github.com/medusajs/medusa/pull/6418
* feat(tax): Add TaxRegion by @srindom in https://github.com/medusajs/medusa/pull/6421
* Feat(medusa, user, core-flows): User creation with invites by @pKorsholm in https://github.com/medusajs/medusa/pull/6413
* feat: Cart Customer link + create cart with customer by @olivermrbl in https://github.com/medusajs/medusa/pull/6426
* feat(core-flow, medusa): Create cart with Sales Channel by @olivermrbl in https://github.com/medusajs/medusa/pull/6427
* feat(fulfillment): implementation part 2 by @adrien2p in https://github.com/medusajs/medusa/pull/6408
* feat(region): Region create, delete, update admin endpoints by @olivermrbl in https://github.com/medusajs/medusa/pull/6332
* feat(regions): Add support for updating countries in a region by @sradevski in https://github.com/medusajs/medusa/pull/6432
* feat: Add skeleton for api key module by @sradevski in https://github.com/medusajs/medusa/pull/6451
* feat(tax): introduce tax override data models by @srindom in https://github.com/medusajs/medusa/pull/6422
* Feat(order): order changes by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6435
* feat(dashboard, medusa, medusa-js, medusa-react, icons): DataGrid, partial Product domain, and ProductVariant hook by @kasperkristensen in https://github.com/medusajs/medusa/pull/6428
* feat(api-key): Add CRUD functionalities to the api key module by @sradevski in https://github.com/medusajs/medusa/pull/6463
* chore(utils): Move generic utils from region module to utils by @sradevski in https://github.com/medusajs/medusa/pull/6466
* feat(dashboard): Rework route modals by @kasperkristensen in https://github.com/medusajs/medusa/pull/6459
* feat(tax): adds getItemTaxLines by @srindom in https://github.com/medusajs/medusa/pull/6440
* feat(utils): Fix big number decorator and cleanup by @adrien2p in https://github.com/medusajs/medusa/pull/6473
* feat(modules-sdk, types, user, utils):init user module events by @pKorsholm in https://github.com/medusajs/medusa/pull/6431
* feat(api-key): Add the endpoints and workflows for api key module by @sradevski in https://github.com/medusajs/medusa/pull/6471
* feat(fulfillment): Shipping options, rules CRUD + rules based context filtering by @adrien2p in https://github.com/medusajs/medusa/pull/6455
* feat: Update signature of region module to match latest spec by @sradevski in https://github.com/medusajs/medusa/pull/6487
* feat(tax): singular creates and deletes of regions, rates, rules by @srindom in https://github.com/medusajs/medusa/pull/6464
* feat(tax): soft deletes by @srindom in https://github.com/medusajs/medusa/pull/6486
* feat: Add skeleton for Store module by @sradevski in https://github.com/medusajs/medusa/pull/6506
* feat(workflows-sdk,core-flows,medusa,types): add workflow to update promotions to cart by @riqwan in https://github.com/medusajs/medusa/pull/6474
* feat: Create cart with line items by @olivermrbl in https://github.com/medusajs/medusa/pull/6449
* feat: Add basic CRUD functionality to store module by @sradevski in https://github.com/medusajs/medusa/pull/6510
* feat(fulfillment): List shipping options filtered by context anmd rules by @adrien2p in https://github.com/medusajs/medusa/pull/6507
* feat(payment, payment-stripe): Add Stripe module provider by @olivermrbl in https://github.com/medusajs/medusa/pull/6311
* feat(tax): add tax provider support by @srindom in https://github.com/medusajs/medusa/pull/6492
* feat: Update authentication middleware by @pKorsholm in https://github.com/medusajs/medusa/pull/6447
* feat: Refresh invite by @pKorsholm in https://github.com/medusajs/medusa/pull/6469
* feat(tax): normalize country and province code by @srindom in https://github.com/medusajs/medusa/pull/6513
* feat(tax): add support for updating tax rates by @srindom in https://github.com/medusajs/medusa/pull/6516
* feat(api-key): Allow revoking in the future, and enforce the secret key by @sradevski in https://github.com/medusajs/medusa/pull/6484
* feat(user): standardize events emitted for token generation by @pKorsholm in https://github.com/medusajs/medusa/pull/6520
* feat(admin-next) discounts list page by @fPolic in https://github.com/medusajs/medusa/pull/6490
* feat(core-flows,medusa,types,utils): adds update cart API with promotions by @riqwan in https://github.com/medusajs/medusa/pull/6514
* feat: Line Items API Routes by @olivermrbl in https://github.com/medusajs/medusa/pull/6478
* feat(api-key): Add api-key authentication to middleware by @sradevski in https://github.com/medusajs/medusa/pull/6521
* feat(payment): Add migration by @olivermrbl in https://github.com/medusajs/medusa/pull/6509
* feat: Add basic endpoints and workflows for Store module by @sradevski in https://github.com/medusajs/medusa/pull/6515
* feat(types): add util to transform get response to an update request by @riqwan in https://github.com/medusajs/medusa/pull/6289
* feat(types): promotion module uses big number by @riqwan in https://github.com/medusajs/medusa/pull/6522
* feat(tax): migration file by @srindom in https://github.com/medusajs/medusa/pull/6523
* feat(medusa,core-flows): update cart adjustments on item updates by @riqwan in https://github.com/medusajs/medusa/pull/6539
* feat(dashboard,medusa): Update Pub. API key table and add query params to endpoint by @kasperkristensen in https://github.com/medusajs/medusa/pull/6483
* feat(tax): add endpoints to create tax regions and tax rates by @srindom in https://github.com/medusajs/medusa/pull/6533
* feat(tax): add support for updating tax rates by @srindom in https://github.com/medusajs/medusa/pull/6537
* feat(tax): v2 api tax rates and regions deletes by @srindom in https://github.com/medusajs/medusa/pull/6541
* feat(utils): consolidate promotion utils + refactor + fixes by @riqwan in https://github.com/medusajs/medusa/pull/6531
* feat(dashboard): Regions domain by @kasperkristensen in https://github.com/medusajs/medusa/pull/6534
* feat: Add currency module and remove currency models from region and pricing modules by @sradevski in https://github.com/medusajs/medusa/pull/6536
* feat(link-modules): Cart, Payment Collection link definition by @olivermrbl in https://github.com/medusajs/medusa/pull/6508
* feat(order): order change actions engine by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6467
* feat: Modify api key and sales channel link to use modules and add test by @sradevski in https://github.com/medusajs/medusa/pull/6546
* feat: Add supported currencies to store model by @sradevski in https://github.com/medusajs/medusa/pull/6562
* feat: Add payment collection creation for cart by @olivermrbl in https://github.com/medusajs/medusa/pull/6527
* feat(medusa-react,medusa,utils): add users/me endpoint + add missing specs by @riqwan in https://github.com/medusajs/medusa/pull/6441
* feat(core-flows,link-modules,modules-sdk): add cart <> promotion link as source of truth by @riqwan in https://github.com/medusajs/medusa/pull/6561
* feat: Create payment sessions by @olivermrbl in https://github.com/medusajs/medusa/pull/6549
* feat: Region PaymentProvider link by @olivermrbl in https://github.com/medusajs/medusa/pull/6577
* feat: add product admin v2 endpoints by @sradevski in https://github.com/medusajs/medusa/pull/6579
* Feat(fulfillment): service provider registration + fulfillment management by @adrien2p in https://github.com/medusajs/medusa/pull/6524
* feat(dashboard): Order details page by @kasperkristensen in https://github.com/medusajs/medusa/pull/6538
* feat(tax): add endpoints to manage tax rate rules by @srindom in https://github.com/medusajs/medusa/pull/6557
* feat(fulfillment): Initialize models work by @adrien2p in https://github.com/medusajs/medusa/pull/6328
* Feat(utils): psql unique index instead of constraint by @pKorsholm in https://github.com/medusajs/medusa/pull/6386
* feat(dashboard): Discounts details + edits by @fPolic in https://github.com/medusajs/medusa/pull/6547
* feat(pricing,medusa,utils): added list + get endpoints for price lists by @riqwan in https://github.com/medusajs/medusa/pull/6592
* feat: Capture payment by @olivermrbl in https://github.com/medusajs/medusa/pull/6601
* feat: Refund payment by @olivermrbl in https://github.com/medusajs/medusa/pull/6610
* feat: Refresh payment collection + delete session by @olivermrbl in https://github.com/medusajs/medusa/pull/6594
* feat(medusa,core-flows,types): add cart <> tax integration workflows + steps by @riqwan in https://github.com/medusajs/medusa/pull/6580
* feat(order): order changes by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6614
* feat(orchestration,modules-sdk): options autoCreateServiceNameAlias by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6622
* feat: Set withDeleted as true if filtering on deleted_at in modules by @sradevski in https://github.com/medusajs/medusa/pull/6626
* feat(stock-location): Convert module to use mikro-orm by @pKorsholm in https://github.com/medusajs/medusa/pull/6616
* feat(inventory-next, types): inventory module conversion by @pKorsholm in https://github.com/medusajs/medusa/pull/6596
* feat: Add Sales Channel Stock Location link by @olivermrbl in https://github.com/medusajs/medusa/pull/6634
* feat(medusa,dashboard): Tax settings pages and fixes to list tax rates endpoint by @kasperkristensen in https://github.com/medusajs/medusa/pull/6606
* feat(dashboard): Workflow executions by @kasperkristensen in https://github.com/medusajs/medusa/pull/6564
* feat(dashboard) admin 3.0 create discounts form by @fPolic in https://github.com/medusajs/medusa/pull/6590
* feat(dashboard): Reservations and inventory item list pages by @kasperkristensen in https://github.com/medusajs/medusa/pull/6550
* feat(dashboard): Return Reasons domain by @kasperkristensen in https://github.com/medusajs/medusa/pull/6640
* feat(medusa,dahsboard): Initial work on pricing domain by @kasperkristensen in https://github.com/medusajs/medusa/pull/6633
* feat: Implement missing methods in product module and make more tests pass by @sradevski in https://github.com/medusajs/medusa/pull/6650
* feat: Add payment + promotion refreshing to cart workflows by @olivermrbl in https://github.com/medusajs/medusa/pull/6654
* feat(dashboard,medusa): Draft order list page by @kasperkristensen in https://github.com/medusajs/medusa/pull/6658
* feat(fulfillment): Soft deletes by @adrien2p in https://github.com/medusajs/medusa/pull/6630
* feat(medusa): added list price list products endpoint by @riqwan in https://github.com/medusajs/medusa/pull/6617
* feat(fulfillment): Migration backward compatibility by @adrien2p in https://github.com/medusajs/medusa/pull/6672
* feat(core-flows,medusa,types): add automatic-taxes to region + generate tax lines endpoint by @riqwan in https://github.com/medusajs/medusa/pull/6667
* feat: Add shipping method to cart workflow by @olivermrbl in https://github.com/medusajs/medusa/pull/6661
* feat(medusa,pricing,types): added get endpoints for pricing rule types by @riqwan in https://github.com/medusajs/medusa/pull/6678
* feat: List shipping options for cart by @olivermrbl in https://github.com/medusajs/medusa/pull/6677
* feat(core-flows,medusa): added api + workflows for rule types CRUD by @riqwan in https://github.com/medusajs/medusa/pull/6684
* feat: Confirm inventory in create cart workflow by @olivermrbl in https://github.com/medusajs/medusa/pull/6635
* feat(core-flows,medusa,types,utils): add rules to promotion endpoints + workflow by @riqwan in https://github.com/medusajs/medusa/pull/6692
* feat(core-flows,medusa,types): remove rules from promotion endpoints + workflows by @riqwan in https://github.com/medusajs/medusa/pull/6696
* feat(core-flows,medusa,types): remove rules from promotion endpoints + workflows by @riqwan in https://github.com/medusajs/medusa/pull/6696
* Feat(inventory-next, medusa): Add List inventory items endpoint by @pKorsholm in https://github.com/medusajs/medusa/pull/6694
* feat(medusa,types): GET admin promotion endpoint to fetch by code by @riqwan in https://github.com/medusajs/medusa/pull/6697
* feat(core-flows,medusa,types,utils): add/remove fulfillment shipping option rules by @riqwan in https://github.com/medusajs/medusa/pull/6698
* feat(dashboard): Setup parallel V2 routes by @kasperkristensen in https://github.com/medusajs/medusa/pull/6691
* feat(medusa,core-flows,types): adds update promotion rule endpoint + workflow by @riqwan in https://github.com/medusajs/medusa/pull/6702
* feat(dashboard,medusa): Draft order detail by @kasperkristensen in https://github.com/medusajs/medusa/pull/6703
* feat(core-flows,medusa,pricing,types,utils): added price list workflows + endpoints by @riqwan in https://github.com/medusajs/medusa/pull/6648
* feat(dashboard): manage discounts conditions by @fPolic in https://github.com/medusajs/medusa/pull/6620
* feat: Update the product options model and refactor the product module by @sradevski in https://github.com/medusajs/medusa/pull/6685
* feat(fulfillment): Separate list and context rules validation by @adrien2p in https://github.com/medusajs/medusa/pull/6674
* feat(medusa): Add get inventory item endpoint by @pKorsholm in https://github.com/medusajs/medusa/pull/6704
* feat(): Update transformer middleware and API by @adrien2p in https://github.com/medusajs/medusa/pull/6647
* Feat(core-flows, inventory-next, medusa, types): Add create location level endpoint by @pKorsholm in https://github.com/medusajs/medusa/pull/6695
* feat(core-flows,medusa,types): create/update workflows to create and update PriceList  prices by @riqwan in https://github.com/medusajs/medusa/pull/6711
* feat: Sales Channels API routes + workflows by @olivermrbl in https://github.com/medusajs/medusa/pull/6722
* Feat(core-flows, inventory-next, medusa, types): Add create inventory item endpoint by @pKorsholm in https://github.com/medusajs/medusa/pull/6693
* Feat(core-flows, medusa, types): Add delete location level api-v2 endpoint by @pKorsholm in https://github.com/medusajs/medusa/pull/6727
* Feat(core-flows, medusa): delete inventory item by @pKorsholm in https://github.com/medusajs/medusa/pull/6708
* feat: Add products to sales channel by @olivermrbl in https://github.com/medusajs/medusa/pull/6725
* feat: Add product and pricing link on create and delete operations by @sradevski in https://github.com/medusajs/medusa/pull/6740
* feat: make it possible to use subscribers in v2 by @srindom in https://github.com/medusajs/medusa/pull/6731
* feat(dashboard) admin 3.0 order edit by @fPolic in https://github.com/medusajs/medusa/pull/6665

## Bugs
* fix(ui,ui-preset): Code component styles by @kasperkristensen in https://github.com/medusajs/medusa/pull/6357
* fix(medusa-react): medusa provider needs a medusa client instance by @gutyerrez in https://github.com/medusajs/medusa/pull/6363
* fix: typo in git checkout command  by @leocabeza in https://github.com/medusajs/medusa/pull/6403
* fix(utils): Symbol for Indian Currency by @Faiyyaz in https://github.com/medusajs/medusa/pull/6453
* fix: fix fulfillment spec by @riqwan in https://github.com/medusajs/medusa/pull/6456
* fix(medusa): register logger when running migrations by @fPolic in https://github.com/medusajs/medusa/pull/6415
* fix(workflows-sdk): Fix StepFunction typings and custom step name by @adrien2p in https://github.com/medusajs/medusa/pull/6468
* fix(utils): bignumber util considers nullable options when setting value by @riqwan in https://github.com/medusajs/medusa/pull/6499
* fix(medusa) Fix logger level error by @chemicalkosek in https://github.com/medusajs/medusa/pull/6512
* fix(medusa-cli): Logger arguments by @xyzones in https://github.com/medusajs/medusa/pull/6526
* fix: Move country loading for region to the loader, fix a bug with cascade by @sradevski in https://github.com/medusajs/medusa/pull/6559
* fix(tax): improve error handling by @srindom in https://github.com/medusajs/medusa/pull/6563
* fix: Add some tests and test cleanup for product module by @sradevski in https://github.com/medusajs/medusa/pull/6586
* fix: Loading custom modules by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6411
* fix(medusa): unable to delete downloaded files by @wangjue666 in https://github.com/medusajs/medusa/pull/6169
* fix(fulfillment): Fulfillment set file name typo by @olivermrbl in https://github.com/medusajs/medusa/pull/6671
* fix(orchestrator): inject context on decorated methods only by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6666
* fix(medusa): Add product category relation in ProductSearchSubscriber by @pepijn-vanvlaanderen in https://github.com/medusajs/medusa/pull/6555
* fix: make v2 with modules run by @srindom in https://github.com/medusajs/medusa/pull/6636
* fix(tests): Cart links by @olivermrbl in https://github.com/medusajs/medusa/pull/6628
* Fix(orchestrator): Joiner field alias by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6602
* fix: integration-tests/modules by @adrien2p in https://github.com/medusajs/medusa/pull/6595
* fix: integration tests modules 2 by @adrien2p in https://github.com/medusajs/medusa/pull/6599
* fix: constraint on customer table to allow soft-deletes by @madsleejensen in https://github.com/medusajs/medusa/pull/6631
* fix: Medusa V2 project loader by @srindom in https://github.com/medusajs/medusa/pull/6639
* fix: Medusa V2 loader by @srindom in https://github.com/medusajs/medusa/pull/6639
* fix(dashboard): fixed some strings by @shahednasser in https://github.com/medusajs/medusa/pull/6686
* fix(workflows-sdk): Value resolver should resolve non StepResponse by @adrien2p in https://github.com/medusajs/medusa/pull/6726

## Chores
* chore: cleanup inspection by @adrien2p in https://github.com/medusajs/medusa/pull/6358
* chore: small fixes to tsdocs by @shahednasser in https://github.com/medusajs/medusa/pull/6341
* chore(): Fix database test utils and utils by @adrien2p in https://github.com/medusajs/medusa/pull/6383
* chore(docs): Updated UI Reference by @github-actions in https://github.com/medusajs/medusa/pull/6347
* docs-util: support generating OAS in docblock generator by @shahednasser in https://github.com/medusajs/medusa/pull/6338
* chore(docs): add empty changeset step to actions by @shahednasser in https://github.com/medusajs/medusa/pull/6377
* chore(medusa-test-utils): Add debug option to the module test runner by @adrien2p in https://github.com/medusajs/medusa/pull/6462
* chore(cart): Make all cart entities soft-deletable by @olivermrbl in https://github.com/medusajs/medusa/pull/6475
* chore: generated tsdocs by @shahednasser in https://github.com/medusajs/medusa/pull/6352
* chore(util): Detect circular dependencies on soft delete by @adrien2p in https://github.com/medusajs/medusa/pull/6489
* chore(utils): Soft delete should allow self referencing circular deps by @adrien2p in https://github.com/medusajs/medusa/pull/6504
* chore(cart): Use module native soft-delete/delete methods by @olivermrbl in https://github.com/medusajs/medusa/pull/6491
* chore(utils): Improve big number decorator by @adrien2p in https://github.com/medusajs/medusa/pull/6525
* chore: V2 core loader + modules integration-tests by @olivermrbl in https://github.com/medusajs/medusa/pull/6544
* chore: Use default countries and currencies from utils by @sradevski in https://github.com/medusajs/medusa/pull/6543
* chore(actions): Use PG pass secret by @olivermrbl in https://github.com/medusajs/medusa/pull/6548
* chore(medusa-test-utils): Add logger by default by @adrien2p in https://github.com/medusajs/medusa/pull/6558
* chore(): Run packages integrations concurrently and not in band by @adrien2p in https://github.com/medusajs/medusa/pull/6576
* chore(utils): Add default ordering to the internal service factory list/listAndCount by @adrien2p in https://github.com/medusajs/medusa/pull/6436
* chore(): Prevent from soft deleting all entities by @adrien2p in https://github.com/medusajs/medusa/pull/6396
* chore: Use module test runner in Carts API test suite by @olivermrbl in https://github.com/medusajs/medusa/pull/6679
* chore(order): big number calculations by @carlos-r-l-rodrigues in https://github.com/medusajs/medusa/pull/6651
* chore: align version of `dotenv` by @kasperkristensen in https://github.com/medusajs/medusa/pull/6657
* chore: Adjusting the v2 product module to follow the v1 specs by @sradevski in https://github.com/medusajs/medusa/pull/6618
* chore(integration-tests): Introduce V2 tests in Admin Payments API test suite by @olivermrbl in https://github.com/medusajs/medusa/pull/6621
* chore: Use new test runner in admin payments API by @olivermrbl in https://github.com/medusajs/medusa/pull/6611
* chore: Start using medusa test runner on product API tests by @sradevski in https://github.com/medusajs/medusa/pull/6609
* chore(tests): Try to use the api integration tests for v2 by @sradevski in https://github.com/medusajs/medusa/pull/6588
* chore: Chore/integration tests modules utils by @adrien2p in https://github.com/medusajs/medusa/pull/6581
* chore: Revert #6548 by @olivermrbl in https://github.com/medusajs/medusa/pull/6598
* chore: Update CODEOWNERS by @olivermrbl in https://github.com/medusajs/medusa/pull/6682
* chore(medusa): use batch/add and batch/remove endpoints for promotion rules by @riqwan in https://github.com/medusajs/medusa/pull/6701
* chore: Bump all modules by @olivermrbl in https://github.com/medusajs/medusa/pull/6700
* chore: Update version bump from minor to patch by @olivermrbl in https://github.com/medusajs/medusa/pull/6699
* chore: Use module test runner in all modules by @sradevski in https://github.com/medusajs/medusa/pull/6706

## Documentation
* docs: new troubleshooting guide + cors fix by @shahednasser in https://github.com/medusajs/medusa/pull/6387
* docs: Add sradevski to teams.yml by @sradevski in https://github.com/medusajs/medusa/pull/6416
* docs: Update teams.yml by @edast in https://github.com/medusajs/medusa/pull/6419
* docs: Update CONTRIBUTING.md to include information on generating a changeset by @sradevski in https://github.com/medusajs/medusa/pull/6454
* docs: add missing widget props for collections injection zones by @shahednasser in https://github.com/medusajs/medusa/pull/6452
* docs: typo fix in create event module reference by @shahednasser in https://github.com/medusajs/medusa/pull/6470
* docs(ui): show icon tooltip on small devices by @shahednasser in https://github.com/medusajs/medusa/pull/6407
* docs: Update redis.md by @leocabeza in https://github.com/medusajs/medusa/pull/6519
* docs: fixes to CLI reference by @shahednasser in https://github.com/medusajs/medusa/pull/6530
* docs: Fixed typo in database_url [:post] instead of [:port] by @nkhar in https://github.com/medusajs/medusa/pull/6505
* docs: add ignore tag to isPaymentProcessor by @shahednasser in https://github.com/medusajs/medusa/pull/6410
* docs-util: fix import issues following merge by @shahednasser in https://github.com/medusajs/medusa/pull/6390
* docs: fixes to code snippets in Workflows documentation by @shahednasser in https://github.com/medusajs/medusa/pull/6393
* docs(payments): Fix incorrect reference in payment processor tsdoc by @sradevski in https://github.com/medusajs/medusa/pull/6409
* docs: add missing steps to enable `medusa_v2` flag by @shahednasser in https://github.com/medusajs/medusa/pull/6406
* docs: fix search in api reference by @shahednasser in https://github.com/medusajs/medusa/pull/6578
* docs: clarification in text by @MedusaNick in https://github.com/medusajs/medusa/pull/6361
* docs-util: fix release scripts by @shahednasser in https://github.com/medusajs/medusa/pull/6353
* docs: update next.js starter docs by @shahednasser in https://github.com/medusajs/medusa/pull/6378
* docs: fix migrations path in extend entity docs by @shahednasser in https://github.com/medusajs/medusa/pull/6645
* docs: hide admin translations contribution page by @shahednasser in https://github.com/medusajs/medusa/pull/6603
* docs: Heroku typo by @minhtungo in https://github.com/medusajs/medusa/pull/6629
* docs: prep for v2 documentation by @shahednasser in https://github.com/medusajs/medusa/pull/6710

## New Contributors
* @gutyerrez made their first contribution in https://github.com/medusajs/medusa/pull/6363
* @leocabeza made their first contribution in https://github.com/medusajs/medusa/pull/6403
* @sradevski made their first contribution in https://github.com/medusajs/medusa/pull/6409
* @edast made their first contribution in https://github.com/medusajs/medusa/pull/6419
* @Faiyyaz made their first contribution in https://github.com/medusajs/medusa/pull/6453
* @nkhar made their first contribution in https://github.com/medusajs/medusa/pull/6505
* @madsleejensen made their first contribution in https://github.com/medusajs/medusa/pull/6631

**Full Changelog**: https://github.com/medusajs/medusa/compare/v1.20.2...v1.20.3

## New Contributors
* @gutyerrez made their first contribution in https://github.com/medusajs/medusa/pull/6363
* @leocabeza made their first contribution in https://github.com/medusajs/medusa/pull/6403
* @sradevski made their first contribution in https://github.com/medusajs/medusa/pull/6409
* @edast made their first contribution in https://github.com/medusajs/medusa/pull/6419
* @Faiyyaz made their first contribution in https://github.com/medusajs/medusa/pull/6453
* @nkhar made their first contribution in https://github.com/medusajs/medusa/pull/6505
* @madsleejensen made their first contribution in https://github.com/medusajs/medusa/pull/6631

**Full Changelog**: https://github.com/medusajs/medusa/compare/v1.20.2...v1.20.3

## New Contributors
* @gutyerrez made their first contribution in https://github.com/medusajs/medusa/pull/6363
* @leocabeza made their first contribution in https://github.com/medusajs/medusa/pull/6403
* @sradevski made their first contribution in https://github.com/medusajs/medusa/pull/6409
* @edast made their first contribution in https://github.com/medusajs/medusa/pull/6419
* @Faiyyaz made their first contribution in https://github.com/medusajs/medusa/pull/6453
* @nkhar made their first contribution in https://github.com/medusajs/medusa/pull/6505
* @madsleejensen made their first contribution in https://github.com/medusajs/medusa/pull/6631

**Full Changelog**: https://github.com/medusajs/medusa/compare/v1.20.2...v1.20.3