Laravel 13 support, Turkish language, and translation & data quality improvements
Overview
Version 4.13.1 extends Laravel Countries with Laravel 13 compatibility, two major translation contributions, richer European organization seed data, and several reliability improvements for PHP 8.4, database configuration, and country listing.
Laravel & platform
Laravel 13 support (#55)
- Added Laravel 13.x compatibility alongside Laravel 11 and 12
- Updated package dependencies (
spatie/laravel-package-tools,astrotomic/laravel-translatable, Orchestra Testbench, Pest) - Expanded CI test matrix to L11 / L12 / L13
- Fixed migration autoload path case-sensitivity for Linux environments
- Updated version constraints documentation for the 4.13.x line
PHP 8.4 deprecation fixes (#54)
- Resolved implicit nullable parameter deprecations in:
FlagEmoji.phpWithFlagColorBootstrap.phpWithLanguages.php
- Improved
CountryFactoryto generate unique ISO codes and avoid test collisions
Features
Custom database connection (#51)
- Package tables can now use a dedicated database connection via
DB_CONNECTION_COUNTRIES - Added
WCountriesConnectionhelper for consistent connection resolution - Updated migrations, seeders, and install commands to respect the configured connection
- Documentation added for supported databases and migrations setup
Country list — remove hardcoded limit (#50)
- Removed the accidental
limit(9)fromwithNamesAndSlugs() - All country list methods now return the full dataset
- Test suite expanded to assert complete list results across list helpers
European international organizations (#47)
- Updated country seed data for European memberships:
- Schengen Area
- European Economic Area (EEA)
- European Union candidate countries
- Corrected Romania’s Schengen status and Réunion’s EU representation
- Added tests and documentation for organization labels in
CountryExtras
Languages & translations
Turkish language — new (#36)
Special thanks to İlyas Özkurt for contributing the full Turkish translation layer.
- New
TurkishLanguageSeederwith 246 country and 5 region translations - Registered in
LanguagesSeeder,WithLanguages, and the install workflow (trlocale) - Added to README and Available Languages documentation
- Test coverage:
TurkishLanguageSeederTest
Arabic language — quality review (#45)
Special thanks to Saad Batwa for the detailed review and correction of Arabic country names.
- Fixed dozens of incorrect or machine-translated Arabic country names
- Reorganized translations by region; added missing entries (e.g. Yemen)
- Corrected region label for Oceania (
أوقيانوسيا) - Added tests:
InternationalOrganizationsSeederTest/ArabicLanguageSeederTest - Credits added to README and documentation
Testing & documentation
- Expanded Pest test suite (country lists, connections, seeders, translations)
- Updated
docs/introduction/version-constraints.mdfor Laravel 13 - Updated
docs/demography/first-look.mdwith European organization labels - Updated
docs/setup/supported-databases.mdanddocs/setup/migrations.md
Contributors
| Contributor | Contribution | PR |
|---|---|---|
| İlyas Özkurt | Turkish language translations | #36 |
| Saad Batwa | Arabic translation review & fixes | #45 |
| Thomas Testerink | European international organizations | #47 |
| mixx-bv | Custom database connection | #51 |
| vool | PHP 8.4 deprecation fixes | #54 |
| JustNawaf | Laravel 13 support | #55 |
| vool | Remove country list limit | #50 |
Upgrade notes
- Requires PHP 8.2+
- Compatible with Laravel 11, 12, and 13
- Laravel 10 remains supported via Composer constraints but is no longer in the CI matrix
- To use a separate DB connection: set
DB_CONNECTION_COUNTRIESin your.env - To install Turkish:
php artisan w-countries:languagesand select Turkish
Full changelog: compare 4.13.0...4.13.1