Introduced the following fields on SkuInventory (please see the upgrade guide below for DB migration notes)
futureStockEnabled - drives whether this inventory should allow configuration of future stock
futureStockLimited - drives whether availability checks will be made when reserving future stock
futureStockType - describes whether this is a 'preorder' or 'backorder' future stock
expectedFutureRestockDate - describes the expected date the future stock will become available
The existing SkuInventory.quantityOnOrder field is now properly leveraged for future stock to indicate the pre-order or back-order quantity, and the SkuInventory.updateQuantityAvailable() method now incorporates its value.
SkuInventoryAvailabilitySummary now includes details about future stock
Introduced a new FUTURE_STOCK_RESERVED transaction type
When an order is placed, any quantity requested that is not immediately available will be reserved as this type instead of as a hard reservation
Various SkuInventory-managing components (ex: SkuInventoryAdjustmentService, SkuInventorySummaryService, StockChangeNotificationService) have been updated to consider future stock in their behavior
Introduce new OrderCreatedInventoryAdjustmentMessageListener to supersede the now-deprecated OrderSubmittedInventoryAdjustmentMessageListener
See the broadleaf.inventory.messaging.order-submitted.legacy.enabled property for controlling the implementation that is used
Introduce a new OrderProvider to support the new implementation
Introduce new InventoryTransactionChangeNotificationProducer and FutureStockAvailabilityChangeNotificationProducer message producers
Update metadata configuration to support the new domain fields
Update /available-quantities endpoint to support a new availableNow parameter driving whether this lookup should only find inventory quantities that are available now, and not in the future
The database schema has changed as part of this version.
Create/update changes (new tables, new columns, etc) are automatically included in the updated *changelog-master.xml after you upgrade to the new Inventory Services JAR.
| Database Platform | Create/Update Changelog File Name |
|---|---|
PostgreSQL |
|
MariaDB |
|
MySQL |
|
Oracle |
|
YugabyteDB |
|