1441 |
ariadna |
1 |
CHANGELOG
|
|
|
2 |
=========
|
|
|
3 |
|
|
|
4 |
3.1.0 (2024-11-15)
|
|
|
5 |
------------------
|
|
|
6 |
|
|
|
7 |
* This library no longer uses implicitly nullable parameter types. This
|
|
|
8 |
will fix deprecation warning in PHP 8.4. Reported by Steven Lewis.
|
|
|
9 |
GitHub #230.
|
|
|
10 |
* The PHPDoc type hints have been improved for use with PHPStan.
|
|
|
11 |
|
|
|
12 |
3.0.0 (2023-12-04)
|
|
|
13 |
------------------
|
|
|
14 |
|
|
|
15 |
* IMPORTANT: PHP 8.1 or greater is now required.
|
|
|
16 |
* BREAKING: Read-only properties are now used for the model and record
|
|
|
17 |
classes rather than magic methods. This significantly improves performance.
|
|
|
18 |
* BREAKING: The `raw` property on model classess and the `record` property on
|
|
|
19 |
record classes have been removed.
|
|
|
20 |
* BREAKING: On `GeoIp2\Record\Traits`, the deprecated `isAnonymousProxy` and
|
|
|
21 |
`isSatelliteProvider` properties have been removed.
|
|
|
22 |
* BREAKING: The `jsonSerialize` output has changed.
|
|
|
23 |
* `GeoIp2\WebService\Client` methods now throw an `InvalidArgumentException`
|
|
|
24 |
if an invalid IP address is passed to them. Previously, they would make
|
|
|
25 |
a request to the web service and throw a
|
|
|
26 |
`GeoIp2\Exception\InvalidRequestException`.
|
|
|
27 |
* The `isAnycast` property was added to `GeoIp2\Record\Traits`. This returns
|
|
|
28 |
`true` if the IP address belongs to an [anycast
|
|
|
29 |
network](https://en.wikipedia.org/wiki/Anycast). This is available for the
|
|
|
30 |
GeoIP2 Country, City Plus, and Insights web services and the GeoIP2 Country,
|
|
|
31 |
City, and Enterprise databases.
|
|
|
32 |
|
|
|
33 |
2.13.0 (2022-08-05)
|
|
|
34 |
-------------------
|
|
|
35 |
|
|
|
36 |
* The model class names are no longer constructed by concatenating strings.
|
|
|
37 |
This change was made to improve support for tools like PHP-Scoper.
|
|
|
38 |
Reported by Andrew Mead. GitHub #194.
|
|
|
39 |
* Box 4.0.1 is now used to generate the `geoip2.phar` file.
|
|
|
40 |
|
|
|
41 |
2.12.2 (2021-11-30)
|
|
|
42 |
-------------------
|
|
|
43 |
|
|
|
44 |
* The `geoip2.phar` now works when included from another directory.
|
|
|
45 |
Reported by Eduardo Ruiz. GitHub #179.
|
|
|
46 |
|
|
|
47 |
2.12.1 (2021-11-23)
|
|
|
48 |
-------------------
|
|
|
49 |
|
|
|
50 |
* The `geoip2.phar` included in 2.12.0 would only work in CLI applications.
|
|
|
51 |
This was due to a change in Box 3.x. The Phar should now work in all
|
|
|
52 |
applications. This release only affects users of the Phar file.
|
|
|
53 |
|
|
|
54 |
2.12.0 (2021-11-18)
|
|
|
55 |
-------------------
|
|
|
56 |
|
|
|
57 |
* Support for mobile country code (MCC) and mobile network codes (MNC) was
|
|
|
58 |
added for the GeoIP2 ISP and Enterprise databases as well as the GeoIP2
|
|
|
59 |
City and Insights web services. `$mobileCountryCode` and
|
|
|
60 |
`$mobileNetworkCode` properties were added to `GeoIp2\Model\Isp`
|
|
|
61 |
for the GeoIP2 ISP database and `GeoIp2\Record\Traits` for the Enterprise
|
|
|
62 |
database and the GeoIP2 City and Insights web services. We expect this data
|
|
|
63 |
to be available by late January, 2022.
|
|
|
64 |
* `geoip2.phar` is now generated with Box 3.x.
|
|
|
65 |
|
|
|
66 |
2.11.0 (2020-10-01)
|
|
|
67 |
-------------------
|
|
|
68 |
|
|
|
69 |
* IMPORTANT: PHP 7.2 or greater is now required.
|
|
|
70 |
* Added the `isResidentialProxy` property to `GeoIp2\Model\AnonymousIP` and
|
|
|
71 |
`GeoIp2\Record\Traits`.
|
|
|
72 |
* Additional type hints have been added.
|
|
|
73 |
|
|
|
74 |
2.10.0 (2019-12-12)
|
|
|
75 |
-------------------
|
|
|
76 |
|
|
|
77 |
* PHP 5.6 or greater is now required.
|
|
|
78 |
* The `network` property was added to `GeoIp2\Record\Traits`,
|
|
|
79 |
`GeoIp2\Model\AnonymousIp`, `GeoIp2\Model\Asn`,
|
|
|
80 |
`GeoIp2\Model\ConnectionType`, `Geoip2\Model\Domain`,
|
|
|
81 |
and `GeoIp2\Model\Isp`. This is a string in CIDR format representing the
|
|
|
82 |
largest network where all of the properties besides `ipAddress` have the
|
|
|
83 |
same value.
|
|
|
84 |
* Updated documentation of anonymizer properties - `isAnonymousVpn`
|
|
|
85 |
and `isHostingProvider` - to be more descriptive.
|
|
|
86 |
* The `userCount` property was added to `GeoIp2\Record\Traits`. This is an
|
|
|
87 |
integer which indicates the estimated number of users sharing the
|
|
|
88 |
IP/network during the past 24 hours. This output is available from GeoIP2
|
|
|
89 |
Precision Insights.
|
|
|
90 |
* The `staticIpScore` property was added to `GeoIp2\Record\Traits`. This is
|
|
|
91 |
a float which indicates how static or dynamic an IP address is. This
|
|
|
92 |
output is available from GeoIP2 Precision Insights.
|
|
|
93 |
|
|
|
94 |
2.9.0 (2018-04-10)
|
|
|
95 |
------------------
|
|
|
96 |
|
|
|
97 |
* Refer to account IDs using the terminology "account" rather than "user".
|
|
|
98 |
|
|
|
99 |
2.8.0 (2018-01-18)
|
|
|
100 |
------------------
|
|
|
101 |
|
|
|
102 |
* The `isInEuropeanUnion` property was added to `GeoIp2\Record\Country`
|
|
|
103 |
and `GeoIp2\Record\RepresentedCountry`. This property is `true` if the
|
|
|
104 |
country is a member state of the European Union.
|
|
|
105 |
|
|
|
106 |
2.7.0 (2017-10-27)
|
|
|
107 |
------------------
|
|
|
108 |
|
|
|
109 |
* The following new anonymizer properties were added to `GeoIp2\Record\Traits`
|
|
|
110 |
for use with GeoIP2 Precision Insights: `isAnonymous`, `isAnonymousVpn`,
|
|
|
111 |
`isHostingProvider`, `isPublicProxy`, and `isTorExitNode`.
|
|
|
112 |
|
|
|
113 |
2.6.0 (2017-07-10)
|
|
|
114 |
-----------------
|
|
|
115 |
|
|
|
116 |
* Code clean-up and tidying.
|
|
|
117 |
* Set minimum required PHP version to 5.4 in `composer.json`. Previously,
|
|
|
118 |
5.3 would work but was not tested. Now 5.4 is hard minimum version.
|
|
|
119 |
|
|
|
120 |
2.5.0 (2017-05-08)
|
|
|
121 |
------------------
|
|
|
122 |
|
|
|
123 |
* Support for PHP 5.3 was dropped.
|
|
|
124 |
* Added support for GeoLite2 ASN database.
|
|
|
125 |
|
|
|
126 |
2.4.5 (2017-01-31)
|
|
|
127 |
------------------
|
|
|
128 |
|
|
|
129 |
* Additional error checking on the data returned from `MaxMind\Db\Reader`
|
|
|
130 |
was added to help detect corrupt databases. GitHub #83.
|
|
|
131 |
|
|
|
132 |
2.4.4 (2016-10-11)
|
|
|
133 |
------------------
|
|
|
134 |
|
|
|
135 |
* `isset()` on `mostSpecificSubdivision` attribute now returns the
|
|
|
136 |
correct value. Reported by Juan Francisco Giordana. GitHub #81.
|
|
|
137 |
|
|
|
138 |
2.4.3 (2016-10-11)
|
|
|
139 |
------------------
|
|
|
140 |
|
|
|
141 |
* `isset()` on `name` attribute now returns the correct value. Reported by
|
|
|
142 |
Juan Francisco Giordana. GitHub #79.
|
|
|
143 |
|
|
|
144 |
2.4.2 (2016-08-17)
|
|
|
145 |
------------------
|
|
|
146 |
|
|
|
147 |
* Updated documentation to clarify what the accuracy radius refers to.
|
|
|
148 |
* Upgraded `maxmind/web-service-common` to 0.3.0. This version uses
|
|
|
149 |
`composer/ca-bundle` rather than our own CA bundle. GitHub #75.
|
|
|
150 |
* Improved PHP documentation generation.
|
|
|
151 |
|
|
|
152 |
2.4.1 (2016-06-10)
|
|
|
153 |
------------------
|
|
|
154 |
|
|
|
155 |
* Corrected type annotations in documentation. GitHub #66.
|
|
|
156 |
* Updated documentation to reflect that the accuracy radius is now included
|
|
|
157 |
in City.
|
|
|
158 |
* Upgraded web service client, which supports setting a proxy. GitHub #59.
|
|
|
159 |
|
|
|
160 |
2.4.0 (2016-04-15)
|
|
|
161 |
------------------
|
|
|
162 |
|
|
|
163 |
* Added support for the GeoIP2 Enterprise database.
|
|
|
164 |
|
|
|
165 |
2.3.3 (2015-09-24)
|
|
|
166 |
------------------
|
|
|
167 |
|
|
|
168 |
* Corrected case on `JsonSerializable` interface. Reported by Axel Etcheverry.
|
|
|
169 |
GitHub #56.
|
|
|
170 |
|
|
|
171 |
2.3.2 (2015-09-23)
|
|
|
172 |
------------------
|
|
|
173 |
|
|
|
174 |
* `JsonSerializable` compatibility interface was moved to `GeoIp2\Compat`
|
|
|
175 |
rather than the global namespace to prevent autoloading issues. Reported by
|
|
|
176 |
Tomas Buteler. GitHub #54.
|
|
|
177 |
* Missing documentation for the `$postal` property was added to the
|
|
|
178 |
`GeoIp2\Model\City` class. Fix by Roy Sindre Norangshol. GitHub #51.
|
|
|
179 |
* In the Phar distribution, source files for this module no longer have their
|
|
|
180 |
documentation stripped, allowing IDE introspection to work properly.
|
|
|
181 |
Reported by Dominic Black. GitHub #52.
|
|
|
182 |
|
|
|
183 |
2.3.1 (2015-06-30)
|
|
|
184 |
------------------
|
|
|
185 |
|
|
|
186 |
* Updated `maxmind/web-service-common` to version with fixes for PHP 5.3 and
|
|
|
187 |
5.4.
|
|
|
188 |
|
|
|
189 |
2.3.0 (2015-06-29)
|
|
|
190 |
------------------
|
|
|
191 |
|
|
|
192 |
* Support for demographics fields `averageIncome` and `populationDensity` in
|
|
|
193 |
the `Location` record, returned by the Insights endpoint.
|
|
|
194 |
* The `isAnonymousProxy` and `isSatelliteProvider` properties on
|
|
|
195 |
`GeoIP2\Record\Traits` have been deprecated. Please use our [GeoIP2
|
|
|
196 |
Anonymous IP database](https://www.maxmind.com/en/geoip2-anonymous-ip-database)
|
|
|
197 |
to determine whether an IP address is used by an anonymizing service.
|
|
|
198 |
|
|
|
199 |
2.2.0-beta1 (2015-06-09)
|
|
|
200 |
------------------------
|
|
|
201 |
|
|
|
202 |
* Typo fix in documentation.
|
|
|
203 |
|
|
|
204 |
2.2.0-alpha2 (2015-06-01)
|
|
|
205 |
-------------------------
|
|
|
206 |
|
|
|
207 |
* `maxmind-ws/web-service-common` was renamed to `maxmind/web-service-common`.
|
|
|
208 |
|
|
|
209 |
2.2.0-alpha1 (2015-05-22)
|
|
|
210 |
-------------------------
|
|
|
211 |
|
|
|
212 |
* The library no longer uses Guzzle and instead uses curl directly.
|
|
|
213 |
* Support for `timeout` and `connectTimout` were added to the `$options` array
|
|
|
214 |
passed to the `GeoIp2\WebService\Client` constructor. Pull request by Will
|
|
|
215 |
Bradley. GitHub #36.
|
|
|
216 |
|
|
|
217 |
2.1.1 (2014-12-03)
|
|
|
218 |
------------------
|
|
|
219 |
|
|
|
220 |
* The 2.1.0 Phar builds included a shebang line, causing issues when loading
|
|
|
221 |
it as a library. This has been corrected. GitHub #33.
|
|
|
222 |
|
|
|
223 |
2.1.0 (2014-10-29)
|
|
|
224 |
------------------
|
|
|
225 |
|
|
|
226 |
* Update ApiGen dependency to version that isn't broken on case sensitive
|
|
|
227 |
file systems.
|
|
|
228 |
* Added support for the GeoIP2 Anonymous IP database. The
|
|
|
229 |
`GeoIP2\Database\Reader` class now has an `anonymousIp` method which returns
|
|
|
230 |
a `GeoIP2\Model\AnonymousIp` object.
|
|
|
231 |
* Boolean attributes like those in the `GeoIP2\Record\Traits` class now return
|
|
|
232 |
`false` instead of `null` when they were not true.
|
|
|
233 |
|
|
|
234 |
2.0.0 (2014-09-22)
|
|
|
235 |
------------------
|
|
|
236 |
|
|
|
237 |
* First production release.
|
|
|
238 |
|
|
|
239 |
0.9.0 (2014-09-15)
|
|
|
240 |
------------------
|
|
|
241 |
|
|
|
242 |
* IMPORTANT: The deprecated `omni()` and `cityIspOrg()` methods have been
|
|
|
243 |
removed from `GeoIp2\WebService\Client`.
|
|
|
244 |
|
|
|
245 |
0.8.1 (2014-09-12)
|
|
|
246 |
------------------
|
|
|
247 |
|
|
|
248 |
* The check added to the `GeoIP2\Database\Reader` lookup methods in 0.8.0 did
|
|
|
249 |
not work with the GeoIP2 City Database Subset by Continent with World
|
|
|
250 |
Countries. This has been fixed. Fixes GitHub issue #23.
|
|
|
251 |
|
|
|
252 |
0.8.0 (2014-09-10)
|
|
|
253 |
------------------
|
|
|
254 |
|
|
|
255 |
* The `GeoIp2\Database\Reader` lookup methods (e.g., `city()`, `isp()`) now
|
|
|
256 |
throw a `BadMethodCallException` if they are used with a database that
|
|
|
257 |
does not match the method. In particular, doing a `city()` lookup on a
|
|
|
258 |
GeoIP2 Country database will result in an exception, and vice versa.
|
|
|
259 |
* A `metadata()` method has been added to the `GeoIP2\Database\Reader` class.
|
|
|
260 |
This returns a `MaxMind\Db\Reader\Metadata` class with information about the
|
|
|
261 |
database.
|
|
|
262 |
* The name attribute was missing from the RepresentedCountry class.
|
|
|
263 |
|
|
|
264 |
0.7.0 (2014-07-22)
|
|
|
265 |
------------------
|
|
|
266 |
|
|
|
267 |
* The web service client API has been updated for the v2.1 release of the web
|
|
|
268 |
service. In particular, the `cityIspOrg` and `omni` methods on
|
|
|
269 |
`GeoIp2\WebService\Client` should be considered deprecated. The `city`
|
|
|
270 |
method now provides all of the data formerly provided by `cityIspOrg`, and
|
|
|
271 |
the `omni` method has been replaced by the `insights` method.
|
|
|
272 |
* Support was added for GeoIP2 Connection Type, Domain and ISP databases.
|
|
|
273 |
|
|
|
274 |
|
|
|
275 |
0.6.3 (2014-05-12)
|
|
|
276 |
------------------
|
|
|
277 |
|
|
|
278 |
* With the previous Phar builds, some users received `phar error: invalid url
|
|
|
279 |
or non-existent phar` errors. The correct alias is now used for the Phar,
|
|
|
280 |
and this should no longer be an issue.
|
|
|
281 |
|
|
|
282 |
0.6.2 (2014-05-08)
|
|
|
283 |
------------------
|
|
|
284 |
|
|
|
285 |
* The Phar build was broken with Guzzle 3.9.0+. This has been fixed.
|
|
|
286 |
|
|
|
287 |
0.6.1 (2014-05-01)
|
|
|
288 |
------------------
|
|
|
289 |
|
|
|
290 |
* This API now officially supports HHVM.
|
|
|
291 |
* The `maxmind-db/reader` dependency was updated to a version that does not
|
|
|
292 |
require BC Math.
|
|
|
293 |
* The Composer compatibility autoload rules are now targeted more narrowly.
|
|
|
294 |
* A `box.json` file is included to build a Phar package.
|
|
|
295 |
|
|
|
296 |
0.6.0 (2014-02-19)
|
|
|
297 |
------------------
|
|
|
298 |
|
|
|
299 |
* This API is now licensed under the Apache License, Version 2.0.
|
|
|
300 |
* Model and record classes now implement `JsonSerializable`.
|
|
|
301 |
* `isset` now works with model and record classes.
|
|
|
302 |
|
|
|
303 |
0.5.0 (2013-10-21)
|
|
|
304 |
------------------
|
|
|
305 |
|
|
|
306 |
* Renamed $languages constructor parameters to $locales for both the Client
|
|
|
307 |
and Reader classes.
|
|
|
308 |
* Documentation and code clean-up (Ben Morel).
|
|
|
309 |
* Added the interface `GeoIp2\ProviderInterface`, which is implemented by both
|
|
|
310 |
`\GeoIp2\Database\Reader` and `\GeoIp2\WebService\Client`.
|
|
|
311 |
|
|
|
312 |
0.4.0 (2013-07-16)
|
|
|
313 |
------------------
|
|
|
314 |
|
|
|
315 |
* This is the first release with the GeoIP2 database reader. Please see the
|
|
|
316 |
`README.md` file and the `\GeoIp2\Database\Reader` class.
|
|
|
317 |
* The general exception classes were replaced with specific exception classes
|
|
|
318 |
representing particular types of errors, such as an authentication error.
|
|
|
319 |
|
|
|
320 |
0.3.0 (2013-07-12)
|
|
|
321 |
------------------
|
|
|
322 |
|
|
|
323 |
* In namespaces and class names, "GeoIP2" was renamed to "GeoIp2" to improve
|
|
|
324 |
consistency.
|
|
|
325 |
|
|
|
326 |
0.2.1 (2013-06-10)
|
|
|
327 |
------------------
|
|
|
328 |
|
|
|
329 |
* First official beta release.
|
|
|
330 |
* Documentation updates and corrections.
|
|
|
331 |
|
|
|
332 |
0.2.0 (2013-05-29)
|
|
|
333 |
------------------
|
|
|
334 |
|
|
|
335 |
* `GenericException` was renamed to `GeoIP2Exception`.
|
|
|
336 |
* We now support more languages. The new languages are de, es, fr, and pt-BR.
|
|
|
337 |
* The REST API now returns a record with data about your account. There is
|
|
|
338 |
a new `GeoIP\Records\MaxMind` class for this data.
|
|
|
339 |
* The `continentCode` attribute on `Continent` was renamed to `code`.
|
|
|
340 |
* Documentation updates.
|
|
|
341 |
|
|
|
342 |
0.1.1 (2013-05-14)
|
|
|
343 |
------------------
|
|
|
344 |
|
|
|
345 |
* Updated Guzzle version requirement.
|
|
|
346 |
* Fixed Composer example in README.md.
|
|
|
347 |
|
|
|
348 |
|
|
|
349 |
0.1.0 (2013-05-13)
|
|
|
350 |
------------------
|
|
|
351 |
|
|
|
352 |
* Initial release.
|