Release Notes
Information¶
Releases use the following numbering system: {major}.{minor}.{incremental}
- major: Major refactoring or rewrite - make sure you read and test very carefully!
- minor: Breaking change in some circumstances, or a new feature. Read carefully and make sure you understand the impact of the change.
-
incremental: A "safe" change / improvement. Should always be safe to upgrade.
-
[BC]: Items marked with [BC] indicate a breaking change that will require updates to your code if you are using that code in your extension.
1.3.0 (2026-08-05)¶
- Add support for anonymous (not logged in) users. The cart is tracked via a
session_idfield when there is no logged in contact, instead ofcontact_id. [BC]CRM_Shoppingcart_BAO_Cart::getCurrentCart()has been renamed togetCurrentOpenCartID()- update any code calling it directly. Cart.SubmitAPI now accepts acontactIDparam, for submitting an anonymous cart once a contact has been identified/created (eg. via an Afform submit handler).- The
cart_idfilter automatically applied to the "View My Cart" SearchDisplay is now configurable via the newshoppingcart_cart_display_namessetting, instead of being hardcoded toView_My_Cart_Table. See docs/setup.md. - Fix mapping of related entities (Participant/Event, Membership/MembershipType) so entity_table/entity_id and the Event title are looked up correctly.
- Don't apply discounts to zero-cost lineitems.
- Show full error details on the frontend when Cart.Submit fails.
1.2.1 (2026-02-18)¶
- Fix setting unit_price/line_total when there is no discount and quantity > 1. This changes CartItem.discounted_amount to CartItem.discounted_line_total and CartItem.discounted_unit_price - you need to update your searches!
- Increase priority of validate listener (for compatibility with Formbuilder Payments).
- Improve handling of lineitems.
- Add CiviDiscount dependency.