- BC: Added the
addPurchase
method to theCustomer
interface - BC: Renamed the following fields in the
customer_purchases
table:purchase_date
=>date
purchase_value
=>value
- Added the
reference
field to thecustomer_purchases
table it can be used to identify the purchase in case the purchasable is not inside the current DB or application - Changed the purchasable morph to be nullable in the
customer_purchases
table
- Added customer_number to the Customers table
- Fixed an SQLite migration error with Laravel 11.15+
- Added PHP 8.4 support
- Added the Customer purchases table and model
- BC: Changed the
CustomerType
interface so that it now extends theEnumInterface
- BC: Added the following methods to the Customer interface:
addresses()
hasDefaultBillingAddress()
hasDefaultShippingAddress()
defaultBillingAddress()
defaultShippingAddress()
setDefaultShippingAddress()
setDefaultBillingAddress()
- BC: Changed the
Address::addresses()
method fromBelongsToMany
toMorphToMany
- the two are very compatible, but aren't the same - Dropped the
customer_addresses
table in favor of the Address module'smodel()
polymorphic properties (migration included) - Dropped Laravel 9 support
- Dropped PHP 8.0 support
- Fixed a possible type error in the
Customer::getName()
method - Added the
default_billing_address_id
and thedefault_shipping_address_id
fields to the customer table/model - Added the registration of
customer
to the relation morph map - Added PHP 8.3 support
- Added Laravel 11 support
- Changed minimum version requirements to:
- Enum v4.1
- Address v3.0
- Doctrine DBAL v3.5.1/v4.0
- Added PHP 8.3 support
- Added Laravel 10 support
- Dropped Laravel 8 support
- Fixed
down()
method of the migration added in 2.3.0 when running against an SQLite engine
- Added optional
timezone
field to customers - Added
currency
field to customers table - Added
ltv
(Customer Lifetime Value) field to customers table - Added traits for composing models that belong to a customer
- Added Enum v4 support
- Added Laravel 9 support
- Dropped PHP 7.3 & 7.4 support
- Dropped Laravel 6 & 7 support
- Changed minimum Laravel version to 8.22.1, to enforce the CVE-2021-21263 security patch
- Changed CI from Travis to Github Actions
- Added PHP 8 support
- Fixed (slightly) invalid dependency versions in composer.json
- BC: return type hints have been added to the interfaces
- BC: Enums have been upgraded to v3
- Added Laravel 8 support
- Dropped Laravel 5 support
- Dropped PHP 7.2 support
- Added Laravel 7 support
- Added PHP 7.4 support
- Dropped PHP 7.1 support
- Minimum required Concord version is 1.5+
- Added Laravel 6 support
- Removed Laravel 5.4 support
- Minimum required Concord version is 1.4+
- Removed PHP 7.0 support
- Added PHP 7.3 support
- Minimum Address module version is 1.0.1
- Stability fixes
- Added
last_purchase_at
field to customers table - Minimum Concord version requirement is 1.0
- Fixed model events incompatibility with Laravel 5.5+
- Tested up to Laravel v5.7
- The calculated Name can be accessed as property as well
- Dependency updates
- Readme fixes
- Client Module has been forked into Customer
- Everything has been renamed from Client -> Customer
- Customer is no longer a composite object of
Person
andOrganization
- Customer is now stored in a single table, and no longer contains the
following fields:
- birthdate
- gender
- nin
- nameorder
- Nameorder and gender support has been dropped (so far)
- Client factory methods have been added for creating client objects without saving them to the db
- Common fields (name, email, phone) can be set directly on client
- Changelog and versioning has been started