Flamingo Commerce v3.2.0 Release Notes

Release Date: 2020-04-09 // over 1 year ago
  • w3cdatalayer

    • ๐Ÿ›  Fixed a bug that causes the datalayer to panic if it failed to build an absolute url
    • ๐Ÿ”ง Introduced a configuration option to choose between base64url and hex encoding for the hashed values
    • ๐Ÿšš Move config to commerce namespace, from w3cDatalayer to commerce.w3cDatalayer
    • โž• Add legacy config mapping so old mappings can still be used
    • โž• Add cue based config to have config validation in place

    checkout

    • Controller
      • Allow checkout for fully discounted carts without payment processing. Previously all checkouts needed a valid payment to continue. In case there is nothing to pay this can be skipped.
      • Order ID will be reserved as soon as the user hits the checkout previously it was done before starting the payment
    • GraphQL
      • Update place order process to also allow zero carts which don't need payment, this leads to a state flow that lacks the payment steps. See module readme for further details.
    • โšก๏ธ Update source service to support external location codes.
      • Adds ExternalLocationCode to the Source struct.
      • Update SetSourcesForCartItems() to use the new SourcingServiceDetail functionality if the bound service implements the interface
    • โšก๏ธ Update OrderService to expose more metrics regarding the place order process: flamingo-commerce/checkout/orders/cart_validation_failed flamingo-commerce/checkout/orders/no_payment_selection flamingo-commerce/checkout/orders/payment_gateway_not_found flamingo-commerce/checkout/orders/payment_flow_status_error flamingo-commerce/checkout/orders/order_payment_from_flow_error flamingo-commerce/checkout/orders/payment_flow_status_failed_canceled flamingo-commerce/checkout/orders/payment_flow_status_aborted flamingo-commerce/checkout/orders/place_order_failed flamingo-commerce/checkout/orders/place_order_successful

    cart

    • inMemoryBehaviour: Allow custom logic for GiftCard / Voucher handling
      • We introduced two new interfaces GiftCardHandler + VoucherHandler
      • This enables users of the in-memory cart to add project specific gift card and voucher handling
    • ๐Ÿ›  Fix CreateInitialDeliveryIfNotPresent so that cache gets updated now when an initial delivery is created
    • GraphQL: Add new cart validation query Commerce_Cart_Validator to check if cart contains valid items

    price

    • IsZero() now uses LikelyEqual() instead of Equal() to avoid issues occurring due to floating-point arithmetic

    product

    • product attributes:
      • Added AttributesByKey domain method to filter attributes by key and exposed this method as getAttributesByKey in GraphQL
      • GraphQL: Exposing codeLabel property in the Commerce_ProductAttribute type

    payment

    • Introduced error message for already used idempotency key