Releases: InteractionDesignFoundation/laravel-geoip
Releases · InteractionDesignFoundation/laravel-geoip
4.3.0
What's changed:
- do not fail on default config on using cache driver without tags support @alies-dev
- MINOR [BC] CHANGE: The parameter $tags of
InteractionDesignFoundation\GeoIP\Cache#__construct()changed from no type to a non-contravariant array
4.2.0 - Laravel 13
What's new
- Drop PHP 8.2 support (EOL). Supported versions: PHP 8.3+ @alies-dev
Full Changelog: 4.1.1...4.2.0
4.1.1 - Laravel 13
What's changed
- Fix: TypeError: getCurrency() receives null when location iso_code is not resolved #74
Full Changelog: 4.1.0...4.1.1
4.1.0 - Laravel 13
Added
- Laravel 13 support (#47) (dropped Laravel 10 and 11 support)
- PHP 8.2+ required (raised from 8.1)
- IP2Location.io service support — New geolocation service using the IP2Location.io API, with proper error handling for API responses (#51, #52)
- Immutable Location object —
Locationis now an immutable value object, improving predictability and safety (#56) - Type safety for service instantiation — Stronger typing when resolving and instantiating geolocation services (#57)
- Error checking for MaxMindDatabase file I/O — Validates file operations when downloading/extracting the database (#58)
Changed
- Replaced static
Currencies.phpwithleague/iso3166package — Uses the maintainedleague/iso3166library instead of a bundled currency list (#49) - Use Laravel's logger instead of direct Monolog instantiation — Leverages the framework's logging infrastructure (#55)
- SSL verification and IP spoofing fixes in the HTTP client (#54)
- Adopted PER-CS3 coding style
- Applied Rector fixes for modernized PHP usage
Fixed
- Broken
matchexpression inshouldCachemethod (#53) - Broken continent lookup in IPApi service (#50)
- Psalm type issues across the codebase (#71)
Removed
src/Support/Currencies.php— replaced byleague/iso3166- Contributors GitHub Action workflow
Upgrade Guide
- Ensure you are running PHP 8.2+ and Laravel 12+
- If you extend
Location, note it is now immutable — properties are set via the constructor, not by mutation - If you instantiate
Monologloggers directly for GeoIP, switch to Laravel's built-in logger - If you use a custom HTTP client configuration, review the updated
HttpClientfor SSL verification changes
Full changelog: 4.0.0...4.1.0
4.0.0
The same as previous RC
What's Changed
- Fix a misspelling in config.yml by @szepeviktor in #45
- docs(contributor): contributors readme action update by @github-actions[bot] in #46
New Contributors
- @szepeviktor made their first contribution in #45
Full Changelog: 3.7.3...4.0.0
4.0.0 RC1
What's changed
- Use PHP types for properties, parameters and return values
- BC break: set the default service / driver to null (can be set by
GEOIP_SERVICEenv var) @alies-dev
Full changelog: 3.7.4...4.0.0-rc1
3.7.4 - Laravel 12
3.7.3
What's changed:
- Back to use
ipapiservice as default to avoid BC breaks introduced in v3.6.0 #44 @alies-dev
Full Changelog: 3.7.2...3.7.3
3.7.2
What's changes:
- Fixed a type issue on attempting to cache a result for null $ipAddress @alies-dev
Full Changelog: 3.7.1...3.7.2
3.7.1
What's Changed
- Make
monolog/monologdependency really optional @alies-dev - Update contributors list @alies-dev
Full Changelog: 3.7.0...3.7.1