Download Latest Version v2.9.0 source code.zip (45.0 MB)
Email in envelope

Get an email when there's a new version of Medusa.js

Home / v2.8.8
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-07-24 10.6 kB
v2.8.8_ Improved error logging and overall robustness of core operations source code.tar.gz 2025-07-24 30.1 MB
v2.8.8_ Improved error logging and overall robustness of core operations source code.zip 2025-07-24 44.7 MB
Totals: 3 Items   74.8 MB 0

Highlights

Carry over cart promotions to order

The cart-completion workflow has been updated to transfer promotions from carts to orders upon completion. This means you can now access promotions on the order like so:

:::ts
const { data } = await query.graph({
  entity: "order",
  fields: ["id", "promotions.*"]
})

const order = data[0]

console.log(order.promotions)

// [{
//   "id": "promo_1234",
//   "code": "10OFF",
//   "is_automatic": false,
//   "is_tax_inclusive": false,
//   "type": "standard",
//   "status": "active",
//   "campaign_id": null,
//   "campaign": null,
// }]

Previously, promotions had to be accessed via the line item adjustments on the order.

Align accepted values in product import template

The CSV product import functionality has been updated to correctly handle unexpected columns. These columns are now ignored during import, ensuring a smoother process for creating and updating products.

Improved error logging

Client-side 4xx responses (such as 404s) are no longer logged as errors. These responses typically indicate expected conditions. Only 5xx responses, which indicate server-side issues, are now logged as errors. This reduces unnecessary noise in logs, making it easier to focus on actual server problems.

Expanded order methods in the JS SDK

Added archive and complete methods to the admin.order module of the JS SDK. These methods provide support for the POST /admin/orders/{id}/archive and POST /admin/orders/{id}/complete endpoints, giving developers full access to the order lifecycle directly from the SDK.

The methods are used like so:

:::ts
await sdk.admin.order.archive("order_123");
await sdk.admin.order.complete("order_123");

Bugs

Documentation

Chores

Other Changes

New Contributors

Full Changelog: https://github.com/medusajs/medusa/compare/v2.8.7...v2.8.8

Source: README.md, updated 2025-07-24