- Fixed the "Operator does not exist" error when eager loading a Country relationship with PostgreSQL. See Laravel#31011
- Added Laravel 12 support
- Fixed a rare SQLite migration error with Laravel 11.15+
- Added the konekt/xtend requirement
- Added the
ProvinceSeeders
registry - Added the
ProvinceSeeder
interface and decorated all existing province seeders with it - Extended the
Countries
seeder so that the list of countries can be simply read usingCountries::all()
andCountries::byCode($code)
- Dropped PHP 8.1 support
- Added PHP 8.4 support
- Fixed the AddressType enum def in the Address model to use the proxy instead of the hardcoded class by Ouail in #9
- Added the
isZoneRestricted()
andisNotZoneRestricted()
methods to theZoneable
trait
- Added the
Zoneable
trait that can be added to models that can optionally belong to a Zone - Changed the input string processing at the
Zones::theCountryBelongsTo()
method so that it converts the argument to uppercase before comparison
- Added the
EuropeanUnion::isNotAMemberState()
method
- Added the
EuropeanUnion
utility class to check for members and validate tax numbers
- Dropped Laravel 9 support
- Dropped Enum v3 Support
- Dropped PHP 8.0 support
- Added PHP 8.3 support
- Added Laravel 11 support
- Added Doctrine DBAL v4 support
(required for Laravel 11) - Removed the Doctrine based migration-workaround for modifying table with enum column that wasn't necessary after Laravel 6
- Changed minimum Enum version to v4.1
- BC: Changed all enum interfaces to extend the root
EnumInterface
- BC: added the
iso2Code()
and thegetName()
methods to theCountry
interface - BC: added the
model()
method to theAddress
interface - Added firstname, lastname, company_name, email, phone, address2, access_code, tax_nr and registration_nr fields to the Address table/model
- Added a generic, optional and polymorphic
model
relationship to the Address model
- Added the languages table/model and its seeder (created ISO 639-1 languages)
- Fixed possible null access on garbled zone members in the db
- Added missing methods to the
Zone
interface (have been present in the implementation from v2.5) - Added the
getMemberCountryIds()
and thegetMemberProvinceIds()
methods to the Zone class/interface - Added the
ofType()
scope to the ZoneMember model - Added
ZoneMember::getName()
both to the model and to the interface - Changed the internal coding style to PSR-12 + Vanilo style
- Added the
Zones::get()
method (to query zones without matching with country/province/address)
- Fixed the Zones query giving all results when passing an address with a province to it
- Fixed the old name of "Macedonia, the former Yugo..." by renaming it to "North Macedonia"
- Added zones with scopes (shipping, billing, etc) and members (province, country)
- Added
country
,province
andzone
models to the Relation morphMap - Added the
Zones
query class (eg.Zones::withShippingScope()->theCountryBelongsTo('CA')
) - Added the provinces and territories of Canada seeder (English and French variants are separately available)
- Added Laravel 10 support
- Added PHP 8.2 support
- Dropped Laravel 8 support
- Changed minimum Laravel version to 9.2
- Allowing Doctrine DBAL v3
- Fixed UK to be non-EU in the Country Seeder
- Removed theatrical warnings from the streamline provinces' migrations down method
- Added Enum v4 support
- Dropped PHP 7.3 & 7.4 support
- Dropped Laravel 6 & 7 support
- Added PHP 8.1 and Laravel 9 support
- Fixed some model annotations
- Replaced Travis CI with GitHub Actions
- Fixed SQLite incompatibility in downwards migration
- Added PHP 8 support
- BC: Address, Country and Person interfaces have been extended
- BC: Enums have been upgraded to v3
- Dropped Laravel 5 support
- Dropped PHP 7.2 support
- Added Laravel 8 support
- Excluded doctrine/dbal
v2.10.3
that breaks the streamline_provinces migration on SQLite.
- Added Laravel 7 support
- Dropped PHP 7.1 support
- Added Laravel 6 support
- Removed Laravel 5.4 support
- India seeder has been updated according to Jammu and Kashmir Reorganisation act
- Minimum required Concord version is 1.4+
- Migration fix (for downwards direction with MySQL)
- Added parents/children to Provinces
- Changed
province.type
field in the DB it's plain varchar, no longer enum (Thetype
field on the PHP model class is stillProvinceType
enum) - Added indices to province tables for integrity and speed
- Added India states seeder
- Added Indonesia provinces seeder
- Improved Belgium and Hungary seeders
- The
Province
interface has been extended with new methods - Dropped PHP 7.0 support
- Added PHP 7.3 support
- Added Laravel 5.8 support
- CI against MySQL and Postgres
- Laravel 5.4 CI has been dropped (still works with Laravel 5.4 at the time of the release)
- Documentation improved
- Changelog has started
- Added Belgium, Germany, Hungary and Netherlands country subdivisions seeders.
- Proven to work with PHP 7.0 - 7.2, Laravel 5.4 - 5.7