Skip to content

Releases: InteractionDesignFoundation/laravel-geoip

4.3.0

03 Apr 11:28
e64c668

Choose a tag to compare

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

13 Mar 11:59
d50c71b

Choose a tag to compare

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

13 Mar 11:54
c0aac48

Choose a tag to compare

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

05 Mar 18:06
a49669c

Choose a tag to compare

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 objectLocation is 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.php with league/iso3166 package — Uses the maintained league/iso3166 library 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 match expression in shouldCache method (#53)
  • Broken continent lookup in IPApi service (#50)
  • Psalm type issues across the codebase (#71)

Removed

  • src/Support/Currencies.php — replaced by league/iso3166
  • Contributors GitHub Action workflow

Upgrade Guide

  1. Ensure you are running PHP 8.2+ and Laravel 12+
  2. If you extend Location, note it is now immutable — properties are set via the constructor, not by mutation
  3. If you instantiate Monolog loggers directly for GeoIP, switch to Laravel's built-in logger
  4. If you use a custom HTTP client configuration, review the updated HttpClient for SSL verification changes

Full changelog: 4.0.0...4.1.0

4.0.0

16 Apr 08:47
663220f

Choose a tag to compare

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

Full Changelog: 3.7.3...4.0.0

4.0.0 RC1

11 Mar 16:18
15fce8f

Choose a tag to compare

4.0.0 RC1 Pre-release
Pre-release

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_SERVICE env var) @alies-dev

Full changelog: 3.7.4...4.0.0-rc1

3.7.4 - Laravel 12

11 Mar 16:16

Choose a tag to compare

What's changed

  • Support Laravel 12

Full Changelog: 3.7.3...3.7.4

3.7.3

11 Mar 15:32
ab653de

Choose a tag to compare

What's changed:

  • Back to use ipapi service 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

16 Jan 16:44
ff0f7f0

Choose a tag to compare

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

10 Jan 16:57
397fff7

Choose a tag to compare

What's Changed

Full Changelog: 3.7.0...3.7.1