Differences from upstream
msi-core is based on the MSI of Magento 2.4.9, synced with magento/inventory develop, and keeps
the original Magento_Inventory* module names and Magento\Inventory* namespaces.
Features
Section titled “Features”| Upstream MSI | msi-core | |
|---|---|---|
| Default Stock | a MySQL view over cataloginventory_stock_status, special-cased in about fifty places |
an ordinary stock, indexed by MSI |
| Stock item configuration | cataloginventory_stock_item |
inventory_stock_item_configuration |
Legacy cataloginventory_* tables |
written on every stock change | frozen; writes are reported |
| Reservations | per stock | per source, opt-in |
| Place-order lock | per stock, around place-order | per source, around the reservation write, only for SKUs that get a reservation |
| Ledger repair | inventory:reservation:create-compensations |
plus reconciliation and oversell detection |
| Salable quantity in the admin | one figure per stock | broken down by source |
| Stock change history | none | every source item change recorded |
| Storefront availability | in stock or out of stock | an Availability panel, opt-in |
Curated fixes are applied on top of the baseline. Cherry-picked upstream commits keep their original
subject and carry a [picked #NNNN] marker. The changelog lists every
fix with the release that carries it.
Removed modules
Section titled “Removed modules”InventoryRequisitionListis removed: it is proprietary and not covered by the OSL-3.0 / AFL-3.0 open source license.InventoryLoggingis removed: it targets the Adobe CommerceMagento_Loggingmodule and is excluded from the upstream Open Source metapackage, so shipping it would breaksetup:di:compileon Magento Open Source.
Packaging
Section titled “Packaging”msi-core uses Composer’s replace directive to provide the 73 open-source MSI modules that ship with
Magento, plus its own modules, for both the magento/* and the mage-os/* package names. It pins
magento/framework to its target line and declares a conflict on jeanmarcos/inventory.