- 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)
- 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
BillpayerChanged
event - BC: Removed the following traits:
HasCart
ComputesShipToName
FillsCommonCheckoutAttributes
- BC: The
Checkout
interface now extends theArrayAccess
and theShippable
interfaces (until here, only the concrete classes have implementation it) - BC: Added the
?CheckoutSubject
return type to thegetCart()
method of theCheckout
interface - BC: The unused
$config
parameter has been removed from theRequestStore
checkout 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
,ArrayAccess
andCountable
interfaces-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
ShippingMethodSelected
checkout event - Added the following fields as recognized, regular fields of the checkout:
shipping_method_id
payment_method_id
ship_to_billing_address
notes
- Added
ArrayAccess
to the CheckoutManager and to the Checkout Stores - Added
Shippable
to the CheckoutManager and to the Checkout Stores - Added the
vanilo.checkout.default.weight_unit
config 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
CheckoutState
interface (canBeSubmitted(): bool
andgetSubmittableStates(): 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
- 🙋
- 🙋