- Dropped PHP 8.3 support
- Dropped Laravel 10 & 11 support
- Added Laravel 13 support
- Changed the minimal Laravel 12 versions from 12.38 to 12.50. Minimums for 10.48, and 11.46.2 have not changed.
- Added the
SerializesModelstrait to theBaseCheckoutEventclass (thus it applies to all events) - Changed the minimum Laravel version requirements to v10.48, v11.46.2 and v12.38 respectively
- Dropped PHP 8.2 Support
- Changed the minimum Laravel 10 version to v10.48
- Added Laravel 12 Support
- Added the
Checkout::getShippableItems()method - BCs via the Contracts package:
- BC: Added the
isShippable()method to theCheckoutSubjectIteminterface - BC: Added the
getShippableItems()method to theCheckoutSubjectinterface
- BC: Added the
- Changed the minimal Address module requirement to v3.4.1
- Added the following, v5 interface candidate methods to the Checkout implementations:
addCoupon()removeCoupon()hasCoupon()getCoupons()hasAnyCoupon()getPromotionsAmount()setPromotionsAmount()
- Added the following events:
CouponAdded(to checkout)CouponRemoved(from checkout)CouponUtilized(after a successful checkout converted to an order)PaymentMethodSelected
- Bump module version to mainline (no change)
- Dropped PHP 8.0 & PHP 8.1 Support
- Dropped Laravel 9 Support
- Dropped Enum v3 Support
- Added PHP 8.3 Support
- Added Laravel 11 Support
- Changed minimum Laravel version to v10.43
- Changed minimal Enum requirement to v4.2
- Changed minimal Address requirement to v3.3
- Added the
BillpayerChangedevent - BC: Removed the following traits:
HasCartComputesShipToNameFillsCommonCheckoutAttributes
- BC: The
Checkoutinterface now extends theArrayAccessand theShippableinterfaces (until here, only the concrete classes have implementation it) - BC: Added the
?CheckoutSubjectreturn type to thegetCart()method of theCheckoutinterface - BC: The unused
$configparameter has been removed from theRequestStorecheckout driver constructor - BC: Changed
Checkout::getShippingAddress()return type to be nullable - BC: Added the void return type to
Checkout::setShippingAddress() - BC: Added the following methods to the Checkout interface:
removeShippingAddress()getShipToBillingAddress()setShipToBillingAddress()getShippingMethodId()setShippingMethodId()getPaymentMethodId()setPaymentMethodId()getNotes()setNotes()clear()getShippingAmount()setShippingAmount()getTaxesAmount()setTaxesAmount()itemsTotal()
- Fixed the PHP
IteratorAggregate,ArrayAccessandCountableinterfaces-related deprecation notices
- Bump module version to mainline (no change)
- Bump module version to mainline (no change)
- Fixed incorrect zone lists due to a bug in Address module v2.5.0 (bump to v2.5.1)
- Added Laravel 10 support
- Refactored the internals of the Checkout stores (session and request)
- Added the
ShippingMethodSelectedcheckout event - Added the following fields as recognized, regular fields of the checkout:
shipping_method_idpayment_method_idship_to_billing_addressnotes
- Added
ArrayAccessto the CheckoutManager and to the Checkout Stores - Added
Shippableto the CheckoutManager and to the Checkout Stores - Added the
vanilo.checkout.default.weight_unitconfig key which defaults to 'kg' - Added the following methods to the Checkout implementations (Manager, Stores but not the interfaces):
getShipToBillingAddress()setShipToBillingAddress()getShippingMethodId()setShippingMethodId()getPaymentMethodId()setPaymentMethodId()getShippingAmount()setShippingAmount()getTaxesAmount()setTaxesAmount()getNotes()setNotes()
- Fixed the data loss issue when using the session checkout driver with cookie session driver in Laravel
- Bump module version to mainline (no change)
- Fixed missing required argument from checkout drivers using the
update()method
- Fixed the session checkout store persistence error
- Added final PHP 8.2 support
- Added forwarding/proxying of method calls and property getters from the Checkout manager to the underlying store
- Changed checkout store resolution to happen via the Laravel DI instead of
new SpecificStoreClass() - Changed both built-in checkout stores to save unknown properties as custom attributes on the
update()method call - Changed minimum Concord version requirement to v1.12
- Fixed missing implementation parts of the session store
- Added Enum 4.0 Support
- Added return type definitions to
CheckoutStateinterface (canBeSubmitted(): boolandgetSubmittableStates(): array) - Added Session checkout driver that persists the checkout status/data in the session
- Changed minimum Laravel requirement to 9.2
- Changed minimum Konekt module requirements to:
- Concord: 1.11
- Enum: 3.1.1
- Bump module version to mainline (no change)
- Added Laravel 9 support
- Added PHP 8.1 support
- Dropped PHP 7.4 Support
- Dropped Laravel 6-8 Support
- Removed Admin from "Framework" - it is available as an optional separate package see vanilo/admin
- Minimum Laravel version is 8.22.1. See GHSA-3p32-j457-pg5x
- Changed internal CS ruleset from PSR-2 to PSR-12
- Dropped PHP 7.3 support
- Added PHP 8 support
- Changed CI from Travis to Github
- BC: Address interface changed according to Contracts v2
- BC: Upgrade to Enum v3
- Added Laravel 8 Support
- Dropped Laravel 5 Support
- Dropped PHP 7.2 support
- Concord 1.6+ is required
- Added Laravel 7 Support
- Added PHP 7.4 support
- Dropped PHP 7.1 support
- Added Laravel 6 Support
- Added support for custom attributes
- Complete Laravel 5.8 compatibility (likely works with 0.4.0 & 0.5.0 as well)
- PHP 7.0 support has been dropped
- No change, version bumped for v0.5 series
- Laravel 5.7 compatible
- Tested with PHP 7.3
- Adjusted to Vanilo 0.4 series
- Adjusted to Vanilo 0.3 series
- Laravel 5.6 Support
- Concord v1.1
- Billpayer implementation fixed/completed
- Minor improvements
- 🙋
- 🙋