Skip to content

Latest commit

 

History

History
347 lines (265 loc) · 12.2 KB

HISTORY.rst

File metadata and controls

347 lines (265 loc) · 12.2 KB

History

4.8.0 (2023-12-05)

  • IMPORTANT: Python 3.8 or greater is required. If you are using an older version, please use an earlier release.
  • The is_anycast attribute was added to geoip2.record.Traits. This returns True if the IP address belongs to an anycast network. This is available for the GeoIP2 Country, City Plus, and Insights web services and the GeoIP2 Country, City, and Enterprise databases.

4.7.0 (2023-05-09)

  • IMPORTANT: Python 3.7 or greater is required. If you are using an older version, please use an earlier release.

4.6.0 (2022-06-21)

  • The AddressNotFoundError class now has an ip_address attribute with the lookup address and network property for the empty network in the database containing the IP address. These are only available when using a database, not the web service. Pull request by illes. GitHub #130.

4.5.0 (2021-11-18)

  • Support for mobile country code (MCC) and mobile network codes (MNC) was added for the GeoIP2 ISP and Enterprise databases as well as the GeoIP2 City and Insights web services. mobile_country_code and mobile_network_code attributes were added to geoip2.model.ISP for the GeoIP2 ISP database and geoip2.record.Traits for the Enterprise database and the GeoIP2 City and Insights web services. We expect this data to be available by late January, 2022.

4.4.0 (2021-09-24)

  • The public API on geoip2.database is now explicitly defined by setting __all__.
  • The return type of the metadata() method on Reader is now maxminddb.reader.Metadata rather than a union type.

4.3.0 (2021-09-20)

  • Previously, the py.typed file was not being added to the source distribution. It is now explicitly specified in the manifest.
  • The type hints for the database file in the Reader constructor have been expanded to match those specified by maxmindb.open_database. In particular, os.PathLike and IO have been added.
  • Corrected the type hint for the metadata() method on Reader. It will return a maxminddb.extension.Metadata if the C extension is being used.

4.2.0 (2021-05-12)

  • You may now set a proxy to use when making web service requests by passing the proxy parameter to the AsyncClient or Client constructor.

4.1.0 (2020-09-25)

  • Added the is_residential_proxy attribute to geoip2.model.AnonymousIP and geoip2.record.Traits.
  • HTTPError now provides the decoded response content in the decoded_content attribute. Requested by Oleg Serbokryl. GitHub #95.

4.0.2 (2020-07-28)

  • Added py.typed file per PEP 561. Reported by Árni Már Jónsson.

4.0.1 (2020-07-21)

  • Re-release to fix bad reStructuredText in README.md. No substantive changes.

4.0.0 (2020-07-21)

  • IMPORTANT: Python 2.7 and 3.5 support has been dropped. Python 3.6 or greater is required.
  • Asyncio support has been added for web service requests. To make async requests, use geoip.webservice.AsyncClient.
  • geoip.webservice.Client now provides a close() method and associated context managers to be used in with statements.
  • Type hints have been added.
  • The attributes postal_code and postal_confidence have been removed from geoip2.record.Location. These would previously always be None.
  • user_id is no longer supported as a named argument for the constructor on geoip2.webservice.Client. Use account_id or a positional parameter instead.
  • For both Client and AsyncClient requests, the default timeout is now 60 seconds.

3.0.0 (2019-12-20)

  • BREAKING CHANGE: The geoip2.record.* classes have been refactored to improve performance. This refactoring may break classes that inherit from them. The public API should otherwise be compatible.
  • The network attribute was added to geoip2.record.Traits, geoip2.model.AnonymousIP, geoip2.model.ASN, geoip2.model.ConnectionType, geoip2.model.Domain, and geoip2.model.ISP. This is an ipaddress.IPv4Network or an ipaddress.IPv6Network. This is the largest network where all of the fields besides ip_address have the same value. GitHub #79.
  • Python 3.3 and 3.4 are no longer supported.
  • Updated documentation of anonymizer attributes - is_anonymous_vpn and is_hosting_provider - to be more descriptive.
  • Added support for the user_count trait for the GeoIP2 Precision webservice.
  • Added the static_ip_score attribute to geoip2.record.Traits for GeoIP2 Precision Insights. This is a float which indicates how static or dynamic an IP address is.

2.9.0 (2018-05-25)

  • You may now pass in the database via a file descriptor rather than a file name when creating a new geoip2.database.Reader object using MODE_FD. This will read the database from the file descriptor into memory. Pull request by nkinkade. GitHub #53.

2.8.0 (2018-04-10)

  • Python 2.6 support has been dropped. Python 2.7+ or 3.3+ is now required.
  • Renamed user ID to account ID in the code and added support for the new ACCOUNT_ID_REQUIRED AND ACCOUNT_ID_UNKNOWN error codes.

2.7.0 (2018-01-18)

  • The is_in_european_union attribute was added to geoip2.record.Country and geoip2.record.RepresentedCountry. This attribute is True if the country is a member state of the European Union.

2.6.0 (2017-10-27)

  • The following new anonymizer attributes were added to geoip2.record.Traits for use with GeoIP2 Precision Insights: is_anonymous, is_anonymous_vpn, is_hosting_provider, is_public_proxy, and is_tor_exit_node.

2.5.0 (2017-05-08)

  • Added support for GeoLite2 ASN database.
  • Corrected documentation of errors raised when using the database reader. Reported by Radek Holý. GitHub #42.

2.4.2 (2016-12-08)

  • Recent releases of requests (2.12.2 and 2.12.3) require that the username for basic authentication be a string or bytes. The documentation for this module uses an integer for the user_id, which will break with these requests versions. The user_id is now converted to bytes before being passed to requests.

2.4.1 (2016-11-21)

  • Updated documentation to clarify what the accuracy radius refers to.
  • Fixed classifiers in setup.py.

2.4.0 (2016-06-10)

  • This module now uses ipaddress on Python 2 rather than ipaddr to validate IP addresses before sending them to the web service.
  • Added handling of additional error codes that the web service may return.
  • PEP 257 documentation fixes.
  • Updated documentation to reflect that the accuracy radius is now included in City.
  • Previously, the source distribution was missing some tests and test databases. This has been corrected. Reported by Lumir Balhar.

2.3.0 (2016-04-15)

  • Added support for the GeoIP2 Enterprise database.
  • geoip2.database.Reader now supports being used in a with statement (PEP 343). (PR from Nguyễn Hồng Quân. GitHub #29)

2.2.0 (2015-06-29)

  • The geoip2.records.Location class has been updated to add attributes for the average_income and population_density fields provided by the Insights web service.
  • The is_anonymous_proxy and is_satellite_provider properties on geoip2.records.Traits have been deprecated. Please use our GeoIP2 Anonymous IP database to determine whether an IP address is used by an anonymizing service.

2.1.0 (2014-12-09)

  • The reader now supports pure Python file and memory modes. If you are not using the C extension and your Python does not provide the mmap module, the file mode will be used by default. You can explicitly set the mode using the mode keyword argument with the MODE_AUTO, MODE_MMAP, MODE_MMAP_EXT, MODE_FILE, and MODE_MEMORY constants exported by geoip2.database.

2.0.2 (2014-10-28)

  • Added support for the GeoIP2 Anonymous IP database. The geoip2.database.Reader class now has an anonymous_ip() method which returns a geoip2.models.AnonymousIP object.
  • Added __repr__ and __eq__ methods to the model and record classes to aid in debugging and using the library from a REPL.

2.0.1 (2014-10-17)

  • The constructor for geoip2.webservice.Client now takes an optional timeout parameter. (PR from arturro. GitHub #15)

2.0.0 (2014-09-22)

  • First production release.

0.7.0 (2014-09-15)

  • BREAKING CHANGES:
    • The deprecated city_isp_org() and omni() methods have been removed.
    • The geoip2.database.Reader lookup methods (e.g., city(), isp()) now raise a TypeError if they are used with a database that does not match the method. In particular, doing a city() lookup on a GeoIP2 Country database will result in an error and vice versa.
  • A metadata() method has been added to the geoip2.database.Reader class. This returns a maxminddb.reader.Metadata object with information about the database.

0.6.0 (2014-07-22)

  • The web service client API has been updated for the v2.1 release of the web service. In particular, the city_isp_org and omni methods on geoip2.webservice.Client should be considered deprecated. The city method now provides all of the data formerly provided by city_isp_org, and the omni method has been replaced by the insights method. Note: In v2.1 of the web service, accuracy_radius, autonomous_system_number, and all of the confidence values were changed from unicode to integers. This may affect how you use these values from this API.
  • Support was added for the GeoIP2 Connection Type, Domain, and ISP databases.

0.5.1 (2014-03-28)

  • Switched to Apache 2.0 license.

0.5.0 (2014-02-11)

  • Fixed missing import statements for geoip2.errors and geoip2.models. (Gustavo J. A. M. Carneiro)
  • Minor documentation and code cleanup
  • Added requirement for maxminddb v0.3.0, which includes a pure Python database reader. Removed the extras_require for maxminddb.

0.4.2 (2013-12-20)

  • Added missing geoip2.models import to geoip.database.
  • Documentation updates.

0.4.1 (2013-10-25)

  • Read in README.rst as UTF-8 in setup.py.

0.4.0 (2013-10-21)

  • API CHANGE: Changed the languages keyword argument to locales on the constructors for geoip.webservice.Client and geoip.database.Reader.

0.3.1 (2013-10-15)

  • Fixed packaging issue with extras_require.

0.3.0 (2013-10-15)

  • IMPORTANT: geoip.webservices was renamed geoip.webservice as it contains only one class.
  • Added GeoIP2 database reader using maxminddb. This does not work with PyPy as it relies on a C extension.
  • Added more specific exceptions for web service client.

0.2.2 (2013-06-20)

  • Fixed a bug in the model objects that prevented longitude and metro_code from being used.

0.2.1 (2013-06-10)

  • First official beta release.
  • Documentation updates and corrections.

0.2.0 (2013-05-29)

  • Support for Python 3.2 was dropped.
  • The methods to call the web service on the Client object now validate the IP addresses before calling the web service. This requires the ipaddr module on Python 2.x.
  • We now support more languages. The new languages are de, es, fr, and pt-BR.
  • The REST API now returns a record with data about your account. There is a new geoip.records.MaxMind class for this data.
  • Rename model.continent.continent_code to model.continent.code.
  • Documentation updates.

0.1.1 (2013-05-14)

  • Documentation and packaging updates

0.1.0 (2013-05-13)

  • Initial release