v1.15.1
Highlights
Updated create-medusa-app
onboarding
We've updated the create-medusa-app
command with a new option, allowing you to get started with a Next.js storefront right away.
Try the new step in the flow yourself:
npx create-medusa-app@latest
Or pass the argument --with-nextjs-starter
when running the command:
npx create-medusa-app@latest --with-nextjs-starter
AbstractFulfillmentService
We've done some housekeeping around fulfillment plugins, introducing a new interface and an abstract class correctly typed with added documentation.
As a result, fulfillment plugin services will now need to extend the AbstractFulfillmentService
from @medusajs/medusa
. Rest assured, the changes are backward compatible, so you are in no rush to migrate your implementation or plugin.
The deprecated fulfillment service will be removed in a future release. We will announce these changes beforehand so you can take the proper precautions.
Improvements to S3 file plugin
The AWS SDK used in medusa-file-s3
has been upgraded to V3, as V2 will enter maintenance mode later this year.
Cache-control has been added to the plugin options, allowing you to optimize your storage more granularly.
Solves:
EventBus enqueuer reconnection
We've introduced a mechanism to ensure the EventBus will not stop processing events in case the database connection momentarily dies.
If the connection is lost, we will try to reestablish the connection every 3rd second until successful. Changes was added in #4855 and further improved in #4963.
Additionally, logs have been added to inform the user in case this should happen.
Solves:
Breaking changes
Product Module
In #4965, we introduced breaking changes in the list
and listAndCount
methods of the ProductService in package @medusajs/product
.
Specifically, the category filter has changed from category_ids
to category_id
:
// before
ProductService.list({ category_ids: ["pcat_123", "pcat_345"] })
ProductService.listAndCount({ category_ids: ["pcat_123", "pcat_345"] })
// after
ProductService.list({ category_id: ["pcat_123", "pcat_345"] })
ProductService.listAndCount({ category_id: ["pcat_123", "pcat_345"] })
Features
- feat(create-medusa-app): add install Next.js storefront option by @shahednasser in #4968
- feat(pricing, utils, types): adds money amount to pricing module by @riqwan in #4909
- feat(medusa): Add AbstractFulfillmentService by @olivermrbl in #4922
- feat(admin-ui): batch job completed notification by @fPolic in #4886
- feat(medusa-file-s3): Add cache-control option + update to sdk v3 by @pevey in #4884
- feat(pricing, types, utils, medusa-sdk): Pricing Module Setup + Currency by @riqwan in #4860
- feat(link-modules,modules-sdk, utils, types, products) - Remote Link and Link modules by @carlos-r-l-rodrigues in #4695
- feat(medusa, admin-ui): Improve gift card application by @mortenengel in #4944
- feat(medusa-fulfillment-webshipper): Create webshipper return order by @josipmatichr in #4846
- feat(products,types,pricing): allow scoping products by collection_id + pricing by currency_code by @riqwan in #4965
- feat(medusa): Event bus db failure handling by @adrien2p in #4963
Bugs
- fix(medusa-file-*): Add types as devDeps by @olivermrbl in #4871
- fix(medusa): category_id and q params for list products endpoint ld work by @riqwan in #4889
- fix(admin-ui): currency input exception by @fPolic in #4888
- fix(admin-ui): delete customer group by @fPolic in #4893
- fix(ci): Increase memory allocation for plugin tests by @olivermrbl in #4898
- fix(medusa): Make event enqueuer reconnect the database when it lost the connection by @hanam1ni in #4855
- fix(medusa, admin-ui): Add
deleted_at
to Return Reason unique constraint by @StephixOne in #4834 - fix(utils, product, pricing, link-modules): add missing dependencies for utils + fix migration path issue by @riqwan in #4915
- fix(medusa): csv parser check
match
prop on column by @fPolic in #4913 - fix(medusa-payment-stripe): api endpoint for getStripePayments by @zulianrizki in #4928
- fix(medusa): Double tax issue on return refund amount by @josipmatichr in #4899
- fix(admin): Export RouteProps and SettingProps by @kasperkristensen in #4950
- fix(medusa-plugin-brightpearl): Inventory sync for OOS items in brightpearl by @josipmatichr in #4966
Chores
- chore: pipeline node version by @carlos-r-l-rodrigues in #4896
- chore: Bump GitHub workflows to run on node 16 by @deining in #4876
- chore(medusa,orchestration,link-modules,modules-sdk): internal services as modules by @carlos-r-l-rodrigues in #4925
- chore: Fix typos by @deining in #4877
Documentation
- docs: fix edit button links by @jhony112 in #4883
- docs: updated create file service guide by @shahednasser in #4887
- docs: added RBAC recipe by @shahednasser in #4895
- docs: fix customer_id name in create endpoints docs by @shahednasser in #4900
- docs: added B2B recipe by @shahednasser in #4901
- docs: added section on using the product module in Next.js by @shahednasser in #4924
- docs: added multi-region recipe by @shahednasser in #4926
- docs: updated file-service s3 guide by @habibullahturkmen in #4921
- docs: updated digitalocean deployment guide by @shahednasser in #4923
- docs: update Create Fulfillment Provider guide by @shahednasser in #4911
- docs: update admin CLI configurations by @shahednasser in #4910
- docs: added expected columns for imports by @shahednasser in #4908
New Contributors
- @deining made their first contribution in #4876
- @jhony112 made their first contribution in #4883
- @hanam1ni made their first contribution in #4855
- @zulianrizki made their first contribution in #4928
- @habibullahturkmen made their first contribution in #4921
Full Changelog: v1.15.0...v1.16.0