Skip to content

Releases: RaiolaNetworks/atlas

3.0.2

Choose a tag to compare

@victore13 victore13 released this 16 Jul 10:39
98c7cfc

Major release (3.x). Breaking: drops Laravel 11.

ℹ️ Install this one: composer require raiolanetworks/atlas:^3.0.2. Tags 3.0.0/3.0.1 are early duplicates of the same v3 merge; 3.0.2 is the complete release (adds the upgrade guide).

Removed (breaking)

  • Laravel 11 support. It reached end of security life (2026-03-12); every 11.x release now carries unpatched advisories and is no longer installable via Composer. Requires laravel/framework ^12.60 || ^13.10.

Added

  • Laravel 13 support (testbench 11, Pest 4). CI covers Laravel 12 & 13 on PHP 8.3/8.4.
  • State hierarchy: admin_level & parent_id columns, State::parent()/children() relationships and topLevel()/adminLevel() scopes. parent_id populated for 10 countries (340 divisions: ES, FR, IT, BE, IE, LK, FJ, BA, GQ, KN).
  • Ceuta & Melilla added as city entries.

Changed

  • Country native is now required (non-null), with a migration that backfills existing nulls from name.

Fixed

  • Security (GHSA-5vg9-5847-vvmq): framework floor raised so no CRLF-vulnerable Laravel version can be resolved.
  • Whitespace normalized across 874 country/state/city name fields; Côte d'Ivoire native; Belgium "Flanders" type.

Upgrading

See UPGRADE.md (two upgrade paths + foreign-key safety) and the CHANGELOG.

⚠️ Getting the new data needs a re-seed (php artisan atlas:states/atlas:cities/atlas:countries) — destructive (empties & re-inserts, preserves primary keys), run in a maintenance window.

v2.0.0

Choose a tag to compare

@soymgomez soymgomez released this 06 Feb 09:15

Atlas v2.0.0

Major release con mejoras de rendimiento, correcciones de relaciones Eloquent y modernización general del paquete.

Requisitos: PHP 8.3+ · Laravel 11+

Ruta de actualización: consulta UPGRADE.md para los pasos detallados y cambios de ruptura.

Novedades

  • Nuevo comando atlas:update — re-seed de entidades habilitadas con los datos JSON más recientes, respetando la configuración de config('atlas.entities').
  • Parser JSON en streaming — se reemplazó la carga completa en memoria por halaxa/json-machine, eliminando picos de consumo en datasets grandes.
  • Índices de base de datos — nuevos índices en iso2, iso3, region_id, subregion_id, currency_code, state_code, country_id, name (cities) y unique constraint en el pivot country_timezone. Ver migración de upgrade.
  • Validación de dependencias entre entidades — atlas:install y atlas:update ahora verifican que las dependencias requeridas estén habilitadas y abortan si la configuración es inválida.
  • Nueva relación Subregion::region() — BelongsTo hacia Region, antes ausente.
  • Traducciones activas — la carga y publicación de traducciones (atlas-translations) está ahora habilitada.

Mejoras

  • Seeders envueltos en transacciones con desactivación correcta de FK constraints — se evitan estados parciales de datos.
  • Inserción masiva (bulk insert) en CountriesSeeder y construcción de índice previo en TimezonesSeeder para inserciones de pivot más rápidas.
  • Se eliminó el override ini_set('memory_limit', -1).
  • Todos los modelos usan $fillable explícito en lugar de $guarded = [].
  • Claves primarias string declaradas correctamente en Currency (code), Timezone (zone_name) y Language (code).
  • Country::$translations ahora cast a array (consistente con Region y Subregion).
  • Migraciones convertidas a clases anónimas (estándar Laravel 9+).
  • Compatibilidad PHPStan nivel 9 con larastan v3.
  • Suite de tests comprehensiva (relaciones, schema, seeders, comandos, parsing JSON).

Correcciones

  • Country::currency() cambiado de HasOne a BelongsTo — la FK vive ahora en countries.currency_code.
  • Currency::countries() cambiado de BelongsTo a HasMany — una moneda puede pertenecer a múltiples países.
  • Country::region() / subregion() renombrados a singular siguiendo convenciones Laravel.
  • Columnas region → region_name, subregion → subregion_name en la tabla countries — resuelve el conflicto entre columnas y métodos de relación.
  • Typo de config corregido: country_timezon_pivot_tablename → country_timezone_pivot_tablename.
  • Ruta de overrides JSON corregida: resources/json/ → resources/vendor/atlas/json/ (la ruta anterior nunca funcionó por colisión con el directorio del paquete).
  • Typo de método corregido: getOverridedClientProjectResourcesPath() → getOverriddenClientProjectResourcesPath().
  • region_id y currency_code ahora NULLABLE para coincidir con sus constraints ON DELETE SET NULL.
  • FKs hijas cambiadas de RESTRICT a CASCADE en subregions, states, cities y pivot country_timezone.

Eliminado

  • Facade Raiolanetworks\Atlas\Facades\Atlas y clase duplicada Raiolanetworks\Atlas\Atlas.
  • Dependencia spatie/laravel-package-tools.
  • Dependencia explícita de illuminate/contracts (ya provista por laravel/framework).
  • Currency::$thousands_separator eliminado de $fillable (nunca se pobló desde JSON).
  • Soporte para Laravel 10.

Migración automática

La migración de upgrade incluida maneja automáticamente: renombrado de columnas, nullable de FKs, cambio a cascade, nuevos índices y deduplicación de pivots. Solo ejecuta php artisan migrate tras actualizar.

Consulta UPGRADE.md para la guía de migración completa paso a paso.

v1.0.7

Choose a tag to compare

@victore13 victore13 released this 29 Apr 13:04
91de609

The 'currencies' column is only created in the 'countries' table if this migration is enabled.

v1.0.6

Choose a tag to compare

@victore13 victore13 released this 29 Apr 11:19
5e7ad6f

Updated compatibility for Laravel 12 support and package improvements.

This release adds support for Laravel 12, ensuring compatibility with Laravel versions 10, 11, and 12. The package has been updated to accommodate any breaking changes and improvements in the latest Laravel version. Please test thoroughly with your environment and report any issues.

v1.0.5

Choose a tag to compare

@victore13 victore13 released this 20 Mar 10:48
c9772aa

Added new features and improvements.

  • Added regions and subregions.
  • If the user has disabled any entity in the configuration file, it is now taken into account when migrating and seeding.
  • Improved the logic of the commands for seeding entity content.
  • Added new currencies and updated their corresponding country.
  • The publishing path for JSON files has been changed to 'resources/vendor/atlas...'

v1.0.4

Choose a tag to compare

@victore13 victore13 released this 23 Dec 09:04
b988a4a

Removed '_2024' string in the last changes in the migrations names.

v1.0.3

Choose a tag to compare

@victore13 victore13 released this 20 Dec 17:44
91f4ebc

Added prefix 0000_ in the migrations names.

v1.0.2

Choose a tag to compare

@victore13 victore13 released this 15 Dec 00:27
bd33139

Updated composer dependencies and fixed larastan errors.

The composer dependencies have been updated to enhance compatibility with new projects. Additionally, issues with Larastan have been resolved as a result of these updates to the package itself.

v1.0.1

Choose a tag to compare

@victore13 victore13 released this 10 Oct 08:12
ede62e9

Updated composer.json

The composer dependencies have been updated to adapt the package to Laravel v11.0.

v1.0.0

Choose a tag to compare

@victore13 victore13 released this 19 Mar 09:28
Change the composer description