Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Countries Laravel Package

lwwcas/laravel-countries

View on GitHub
Deep Wiki
Context7
4.13.5

Unique page metadata, Open Graph support, and a refreshed README with clearer installation, features, and usage guidance.

4.13.4

🇽🇰 Kosovo support

This release adds Kosovo to the Laravel Countries dataset, resolving #42.

✨ What’s included

  • Kosovo’s core country data
  • Commonly used user-assigned codes:
    • Alpha-2: XK
    • Alpha-3: XKX
    • Numeric: 983
  • International phone code +383
  • Capital, currency, languages and timezone
  • Bordering countries
  • Flag emoji and colors
  • Geographic coordinates and boundary data

🌍 Translations

Kosovo is now included in every supported language:

  • Arabic
  • Dutch
  • French
  • German
  • Italian
  • Portuguese
  • Russian
  • Spanish
  • Turkish

XK, XKX, and 983 are commonly used user-assigned codes because Kosovo does not currently have official ISO 3166-1 codes.

🧪 Quality

  • New tests covering the Kosovo seeder, registration and translations
  • Full test suite passing: 342 tests and 1,093 assertions
  • Formatting validated with Laravel Pint

Full Changelog: https://github.com/lwwcas/laravel-countries/compare/4.13.3...4.13.4

4.13.3

🐛 Bug fix

Fixes #53php artisan w-countries:install could hang indefinitely in production when running language seeders.

In production, Laravel requires confirmation before seeding. The installer was calling db:seed silently, hiding the prompt while still waiting for input.


✅ What's fixed

  • Seeders now pass --force automatically in production (Laravel 11, 12, and 13)
  • w-countries:install --force runs migrations and seeders without interactive prompts
  • New w-countries:seed command for seeding data when migrations are already deployed

🚀 New commands

# Full non-interactive install (production)
php artisan w-countries:install --force
php artisan w-countries:install --force --languages=en,pt,es

# Seed only (migrations already deployed)
php artisan w-countries:seed
php artisan w-countries:seed --languages=en,pt,es
php artisan w-countries:seed --all

# List equivalent manual db:seed commands
php artisan w-countries:seed --show-commands

📚 Documentation

  • New Seeders guide
  • README and getting-started updated with production deployment instructions

🔧 Can't update yet?

Run seeders manually with --force:

php artisan db:seed --class="Lwwcas\LaravelCountries\Database\Seeders\LwwcasDatabaseSeeder" --database=mysql --force

Replace mysql with your configured connection if needed.


Full Changelog: https://github.com/lwwcas/laravel-countries/compare/4.13.2...4.13.3

4.13.2

Overview

Version 4.13.2 focuses on contributor experience and CI quality. No new package features or breaking changes — this release standardizes how pull requests are validated, enforces code style with Laravel Pint, and refreshes the README landing page.


🔧 CI & Pull Request Standards

New GitHub workflows

  • ci.yml — runs on every PR and push to master:
    • Branch naming — enforces prefix folders (feature/, bug/, fix/, docs/, chore/, refactor/, test/, release/)
    • Pintcomposer pint:check validates code style
  • tests.yml — Pest test suite across Laravel 11, 12, and 13 on every PR

Contribution guidelines

Composer scripts

composer pint        # format code
composer pint:check  # verify formatting (CI)
composer check       # pint:check + test
4.13.1

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

4.12.0.1

⚡ Added support for Laravel 12 and updated dependencies

✅ Ensured migration compatibility with Laravel 10

🛠 Fixed a bug with paths when pushing the wcountries config file

🌟 Introduced a large collection of motivational quotes

4.11.0.4

Pull request #32 Issue #30

thanks for the contribution @hnasiry

4.11.0.3
4.11.0.2
4.11.0.1

Release Notes for Version 4.11.0.1

We’re excited to announce the release of version 4.11.0.1, featuring a comprehensive refactor, significant improvements, and an extensive new documentation to help you make the most of this package. Here’s what’s new in this version:

🔄 Complete Refactor

  • Improved Architecture: The package has been fully restructured to optimize performance and maintainability, making it easier to extend and adapt to various needs.
  • Enhanced Code Quality: Refactored code now aligns with best practices, improving the stability and reliability of the package.

🚀 New Features & Enhancements

  • Optimized Database Relationships: We've separated certain country data into individual tables, which are now efficiently linked to reduce query load and streamline data access.
  • Advanced Query Scopes: Added new query scopes for easier and faster country-related searches, including borders, currencies, languages, and flag colors.
  • Country Metadata Access: Detailed access to country metadata, including flag colors in various formats, geographical coordinates, and much more.

📘 Extensive Documentation

  • Detailed Guides: Step-by-step documentation that covers all aspects of the package, from setting up to accessing advanced features.
  • API References: Clear explanations for each class and method, helping you quickly find the information you need.
  • Examples and Use Cases: Practical examples and recommended usage patterns for developers of all levels.

This release makes it simpler than ever to work with country data, giving you more flexibility and control over how you access and display information. Thank you for being part of our community, and we look forward to hearing your feedback on this exciting new version!

3.5.2
3.5.1

This simple release adds a fix contributed by @mucenica-bogdan With https://github.com/lwwcas/laravel-countries/pull/26

3.5.0

This simple release add Laravel 11 support to the package

3.4.6
3.4.5
3.4.4
3.4.3
  • Remove unused AN country, besides not being officially allocated to ISO 3166-1 alpha-2
  • Remove 'CY' duplicate
  • Minor fixes
3.4.2

For an easy upgrade follow these steps

It is recommended to make a backup to proceed with this update.

  1. Run php artisan make:seeder DutchTranslatesData
  2. Paste this code in the seed that was created $this->call(\Lwwcas\LaravelCountries\Database\Seeders\fix\DutchTranslatesUpdatedSeeder::class);
  3. Run the seed that was created with the command php artisan db:seed --class=DutchTranslatesData
  4. Delete DutchTranslatesData.php file

The changes will create in your database the Dutch language and its translations, in respective tables.

3.4.1

For an easy upgrade follow these steps

It is recommended to make a backup to proceed with this update.

  1. Run php artisan make:seeder ArabicTranslatesData
  2. Paste this code in the seed that was created $this->call(\Lwwcas\LaravelCountries\Database\Seeders\fix\ArabicTranslatesUpdatedSeeder::class);
  3. Run the seed that was created with the command php artisan db:seed --class=ArabicTranslatesData
  4. Delete ArabicTranslatesData.php file

The changes will create in your database the Arabic language and its translations, in respective tables.

3.4.0

This simple release add Laravel 10 support to the package

3.3.1

For an easy upgrade follow these steps

It is recommended to make a backup to proceed with this update.

  1. Run php artisan make:seeder PhilippinesData
  2. Paste this code in the seed that was created $this->call(\Lwwcas\LaravelCountries\Database\Seeders\fix\PhilippinesTranslatesUpdatedSeeder::class);
  3. Run the seed that was created with the command php artisan db:seed --class=PhilippinesData
  4. Delete PhilippinesData.php file

The changes will create in your database the Filipina country and its translations, in respective tables.

3.2.0

This simple release add Laravel 9 support to the package

3.1.1
3.1.0
  • Update the order that migrations are run
  • Update Readme file
3.0.0

It was developed from the ground up to get close to what I think is impressive.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calliostro/spotify-bundle
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle