Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 2.0.5-GA

New Features & Notable Changes

  • Added support for validating an Offer Code’s usage based on a regular expression targeting the user’s email.

  • Add API response information from the new Voucher#offerRef and Voucher#codeUsed fields when available.

  • Modified validation to allow the creation of variants without an existing list of allowed values for the variant distinguishing option

  • Filter out dependent Line Items from being considered as Offer Targets if the Offer does not allow discounting dependent items.

    • This moves the logic to a much earlier position in the Offer Engine than previously—namely, to when determining which Offers are candidates to be applied to the Order.

  • Overrode EnhancedLineItem#isDependent in EnhancedOrderLineItem to first use parentLineNumber to determine if the item is dependent before making other checks.

Bug Fixes

  • Fixed the edit offer form state always detecting changes when there are none.

  • Fixed the NullPointerException from applying both campaign’s offer code and directly added offer code.

  • Fixed bug where offer max uses restriction doesn’t work when it’s automatically applied

  • Fixed a metadata issue that caused an error when creating combinability override fields in the offer form.

  • Fixed bug where the cart subtotal flag was not being checked before filtering marketing messages according to the cart subtotal.

Upgrade Guide

Method Signature Changes

DefaultItemOfferProcessor#getQualifierDetails

Deprecated Signature

List<OfferItemDetail> getQualifierDetails(CandidateItemOffer itemOffer)

New Signature

List<OfferItemDetail> getQualifierDetails(CandidateItemOffer itemOffer, OfferDiscount offerDiscount)

DefaultItemOfferProcessor#itemHasQualifierOfferDetails

Deprecated Signature

boolean itemHasQualifierOfferDetails(EnhancedLineItem item, CandidateItemOffer itemOffer)

New Signature

boolean itemHasQualifierOfferDetails(EnhancedLineItem item, CandidateItemOffer itemOffer, OfferDiscount offerDiscount)

DefaultItemOfferProcessor#createOfferItemDetailAndDetermineQualifierQuantity

Deprecated Signature

OfferItemDetail createOfferItemDetailAndDetermineQualifierQuantity(CandidateItemOffer itemOffer, EnhancedLineItem lineItem, int quantityPerUsage)

New Signature

OfferItemDetail createOfferItemDetailAndDetermineQualifierQuantity(CandidateItemOffer itemOffer, EnhancedLineItem lineItem, OfferDiscount offerDiscount, int quantityPerUsage)