Repository navigation
World 2.0.0
World 2.0.0
World 2.0 replaces destructive refresh and seeding with preserving, transactional synchronization. Existing facade methods, routes, and default API response formats remain available.
Upgrade deliberately
This is a major release because maintenance behavior changes. Read the 2.0 upgrade guide before changing your Composer constraint.
- PHP 8.1+ and Laravel 10–13 are supported. Earlier 1.1 releases may have different runtime requirements.
- Back up your database, configuration, and lock file; test on a database copy.
- Installation runs only World migrations and preserves existing resources and configuration caches.
- Refresh/seeding retain tables and IDs. Exclusions select import input and do not delete or hide existing rows.
- Optional schema changes require application migrations; imports bypass model events, observers, and mutators.
- World migration rollback retains reference and tracking tables. Restore your backup to revert imported data.
- The first tracked import cannot distinguish earlier local edits to package fields from old bundled values. Renamed unmatched legacy places may coexist with new source rows. Subsequent imports preserve tracked local edits.
- Full city imports require
php -d memory_limit=1G; prepare your cache store for synchronization locks.
Install or explicitly upgrade:
composer require nnjeim/world:^2.0
php -d memory_limit=1G artisan world:refresh --dry-run
php -d memory_limit=1G artisan world:refresh --forceExisting ^1.1, ^1.1.39, exact 1.x pins, and lock files remain on their selected 1.x versions. Published Git tags remain intact. Use the separate 1.x documentation when staying on 1.x.
Features and fixes
- Optional computed country
flagand ISO2 flag helper (#120), without a schema change. - Six Cayman census districts and 15 attributed GeoNames populated places (#153). Sister Islands contains Cayman Brac and Little Cayman. Coverage is documented as partial, not an exhaustive settlement inventory.
- Corrected Tai Po's country code and 193 copied city state codes.
- Dry runs, configurable connections, tracked source identity, production refresh, and World-only cache invalidation.
- Fixed legacy adoption rollback and eliminated cache access for uncached/search queries.
- Source attribution, checksums, dataset validation, and reproducible Cayman import.
Validation
- Five CI combinations across PHP 8.1–8.4 and Laravel 10–13 passed for the merged commit.
- Package suite: 45 tests / 1,649 assertions; isolated MySQL 8 upgrade and rollback audit: 41 assertions.
- Demo: 17 PHP tests / 123 assertions and 22 desktop/mobile browser tests; the merged package commit was deployed and tested on world.bmbc.cloud before publication.