Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 2.1.0-BETA-1

Warning

This is a BETA release and not generally available. Contents may change prior to GA.

Important Updates

Introduce support for Preorder and Backorder Inventory (Future Stock)

  • 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

Upgrade Guide

Liquibase Change Sets

The database schema has changed as part of this version.

'Create/Update' Changes

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

db/changelog/inventory.postgresql.changelog-master.xml

MariaDB

db/changelog/inventory.mariadb.changelog-master.xml

MySQL

db/changelog/inventory.mysql.changelog-master.xml

Oracle

db/changelog/inventory.oracle.changelog-master.xml

YugabyteDB

db/changelog/inventory.yugabytedb.changelog-master.xml