Skip to content

Releases: dereuromark/cakephp-geo

3.7.0

25 Jan 11:04

Choose a tag to compare

Open Source Geocoding & Maps

  • Add LeafletHelper as open-source alternative to GoogleMapHelper - #81
  • Add StaticMap Helper with open-source alternatives
  • Added geocoding engines for open-source alternatives
  • Add automatic center and zoom calculation from markers/paths on displayed maps
  • Add marker clustering support

Improvements

  • Add NullProvider for Geocoder in test mode - #78
  • Add spatial support for Geocoder behavior - #76
  • Add Places Autocomplete support to GoogleMapHelper - #80
  • Add timezoneByCoordinates() method to Calculator - #44

Full Changelog: 3.6.1...3.7.0

3.6.1

12 Jan 02:34
1d269fd

Choose a tag to compare

Fixes

  • Fix __PHP_Incomplete_Class error when reading cached geocode data by @dereuromark in #77

Full Changelog: 3.6.0...3.6.1

3.6.0

24 Nov 22:27

Choose a tag to compare

Improvements

  • Fixed Remote Code Execution (RCE) vulnerability in ObjectType deserialization

    • Implemented whitelist-based deserialization to prevent object injection attacks
    • Now only allows safe classes (DateTime, DateTimeImmutable, and CakePHP I18n classes)
    • Impact: Prevents arbitrary code execution through malicious serialized data
  • Fixed Path Traversal vulnerability in GoogleMapHelper::icon()

    • Added path validation to prevent directory traversal attacks
    • Image paths are now restricted to WWW_ROOT/img/ directory
    • Impact: Prevents unauthorized file system access
  • Fixed SQL Injection vulnerability in GeocoderBehavior::distanceConditions()

    • Added input validation for table and field name parameters
    • Validates identifiers against alphanumeric pattern
    • Impact: Prevents SQL injection through field/table name manipulation

Full Changelog: 3.5.2...3.6.0

3.5.2

10 Nov 12:04

Choose a tag to compare

Fixed

  • Removed deprecations

Full Changelog: 3.5.1...3.5.2

3.5.1

08 Aug 18:54
b1d35e2

Choose a tag to compare

Fixes

  • Fixed up BaseMigration file

3.5.0

10 Mar 01:28
527378a

Choose a tag to compare

Improvements

  • More clear exception message for Geocoder fails around API key.

3.4.2

06 Aug 15:09

Choose a tag to compare

Fixes

  • Removed deprecations.

Included commits: 3.4.1...3.4.2

3.4.1

30 Mar 04:16

Choose a tag to compare

Fixes

  • Fixed up files bundled in release using gitattributes file.

Included commits: 3.4.0...3.4.1

3.4.0

29 Feb 04:54
5e07fa7

Choose a tag to compare

Improvements

Added closure support for address elements in Geocoder lookup.

Sometimes, you need to have more logic for a specific address field.
In this case you can use a closure to make dynamic lookups where needed.

$this->addBehavior('Geo.Geocoder', [ 'address' => ['street', 'postal_code', 'city', function (Event $entity) {
    if ($entity->country && $entity->country->id && $entity->country_id === $entity->country->id) {
        return $entity->country->name;
    }
    if ($entity->get('country_name')) {
        return $entity->get('country_name');
    }

    if ($entity->country_id) {
        $country = $this->Countries->get($entity->country_id);
        return $country->name;
    }

    return null;
}]]);

3.3.0

26 Feb 03:25

Choose a tag to compare

Improvements

Added GeoCoordinate value object.