- Dropped PHP 8.2 Support
- Changed the minimum Laravel 10 version to v10.48
- Added Laravel 12 Support
- Fixed the missing float cast of the order item's price field
- PHP 8.4 deprecation notice fixes
- Changed the minimal Address module requirement to v3.4.1
- Added
domain
field to the orders table - Added then automatic completion of
$order->domain
from the current request to the OrderFactory - Changed
OrderItem::hasConfiguration()
to return false on empty arrays as well - Added the
OrderBillpayerUpdated
event - Added the
OrderShippingAddressUpdated
event
- Added the follwing getters to the default Billpayer model (proxies down to the underlying address):
country_id
province_id
postalcode
city
street_address
(fetches $billpayer->address->address) - can't useaddress
since that collides with the address() relationaddress2
access_code
- 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
- Upgraded to Konekt Address and User modules to v3
- Added the
currency
field to the orders table - Added Carbon 3 compatibility
- BC: The return type of the
getNumber()
method of the Order interface is no longer nullable - BC: Added the
$hooks
and$itemHooks
parameters to theOrderFactory
interface - BC: Changed the
OrderItem
interface into Configurable - BC: Added 7 methods to the
OrderItem
interface - BC: Added the
getLanguage()
,getFulfillmentStatus()
anditemsTotal()
methods to theOrder
interface - BC: Added to float return type to the
total()
method of theOrder
interface - BC: The
OrderStatus
andFulfillmentStatus
interfaces extend theEnumInterface
- Fixed possible null return type on Billpayer::getName() when is_organization is true but the company name is null
- Added the
ofUser()
scope to the base Order model
- Added the
OrderProcessingStarted
event - Added the following order item events:
OrderItemShipped
,OrderItemPickedUp
,OrderItemsIsReadyForDelivery
,OrderItemsIsReadyForPickup
andOrderItemHasBeenPutOnHold
- Added optional hooks (callbacks) support to order items creation in the order factory class
- Changed the visibility of the
OrderFactory::callHook
method fromprivate
toprotected
- Fixed incorrect zone lists due to a bug in Address module v2.5.0 (bump to v2.5.1)
- Added Laravel 10 support
- Added the
processing
order status enum value - Added the
ready_for_pickup
fulfillment status enum value - Added optional hooks (callbacks) support to the
OrderFactory::createFromDataArray()
method - Added
int
cast to OrderItem::quantity property - Added the
Order::getLanguage()
method
- Fixed non-standard migration name
- Added the
FulfillmentStatus
enum - Added
fulfillment_status
to orders and order items - Added
language
field to orders - Added
ordered_at
field to orders (defaults tocreated_at
unless explicitly specified) - Fixed the address creation with order factory when passing an explicit address type
- Changed the random number algo in
TimeHash
generator frommt_rand
torandom_int
for a decreased collision probability
- Added
Configurable
to theOrderItem
model (incl. implementing the interface)
- Added final PHP 8.2 support
- Changed minimum Concord version requirement to v1.12
- Added Enum 4.0 Support
- Changed minimum Laravel requirement to 9.2
- Changed minimum Konekt module requirements to:
- Address: 2.2
- Concord: 1.11
- Enum: 3.1.1
- Laravel Migration Compatibility: 1.5
- User: 2.4
- 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
- Alignment to rest of Vanilo 2.2 modules
- Changed internal CS ruleset from PSR-2 to PSR-12
- Added strict type checking, fixed errors it brought to surface
- Improved the Documentation
- Dropped PHP 7.3 support
2.2.0 is actually part of Vanilo 2.1 series, but because of semver... 🤷
- Added PHP 8 support
- Added
Order::findByNumber()
method - Added unique index to
orders.number
field - Changed the internal implementation of the nanoid order number generator to utilize the generic nanoid generator from the support module
- Changed CI from Travis to Github
- Only works with Vanilo 2.1+ modules
- Fixed invalid method call in
Order::open()
scope (introduced with 2.1.0)
- Added
isOpen
andgetOpenStatuses
methods to OrderStatus - Added the
open()
scope to orders for retrieving open orders
- BC: Updated interfaces to v2
- BC: Upgrade to Enum v3
- Added nanoid order number generator
- Added Laravel 8 Support
- Dropped PHP 7.2 support
- Dropped Laravel 5 Support
- Added Laravel 7 Support
- Added PHP 7.4 support
- Dropped PHP 7.1 support
- Added Laravel 6 Support
- Version bump only, no new features
- Added the Laravel Migration Compatibility v1.0 package to properly solve the Laravel 5.8 + bigInt problem.
- 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
- Removed vanilo/address dependency
- New events:
OrderWasCancelled
andOrderWasCompleted
- Adjusted to Vanilo v0.3 series
- Fixed a bug introduced with v0.2.1 that prevented from submitting an order with OrderFactory
- Custom Order and OrderItem attributes can be mass assigned (without extending the model classes)
- Laravel 5.6 compatible
- Billing Address => Billpayer
- Billpayer implemented here (temporary, should be moved in upcoming
billing
module) - Order factory works
- Basic totals can be calculated
- Order statuses have proper labels
- Orders are soft delete
- Composer dependency fix (for subsequent modules)
- 🚀