Skip to content

Laravel 13 support, Turkish language, and translation & data quality improvements

Choose a tag to compare

@lwwcas lwwcas released this 13 Jul 22:46
· 13 commits to master since this release
f63b681

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.php
    • WithFlagColorBootstrap.php
    • WithLanguages.php
  • Improved CountryFactory to 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 WCountriesConnection helper 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) from withNamesAndSlugs()
  • 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 TurkishLanguageSeeder with 246 country and 5 region translations
  • Registered in LanguagesSeeder, WithLanguages, and the install workflow (tr locale)
  • 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.md for Laravel 13
  • Updated docs/demography/first-look.md with European organization labels
  • Updated docs/setup/supported-databases.md and docs/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_COUNTRIES in your .env
  • To install Turkish: php artisan w-countries:languages and select Turkish

Full changelog: compare 4.13.0...4.13.1