All Versions
Latest Version
Avg Release Cycle
125 days
Latest Release
1297 days ago

Changelog History
Page 1

  • v4.1.0 Changes

    September 25, 2020
    • 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.
  • v4.0.2 Changes

    July 28, 2020
    • βž• Added py.typed file per PEP 561. Reported by Árni MΓ‘r JΓ³nsson.
  • v4.0.1 Changes

    July 21, 2020
    • πŸš€ Re-release to fix bad reStructuredText in No substantive
      πŸ”„ changes.
  • v4.0.0 Changes

    July 21, 2020
    • πŸ‘ 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.
    • 0️⃣ For both Client and AsyncClient requests, the default timeout is
      now 60 seconds.
  • v3.0.0 Changes

    December 20, 2019
    • πŸ’₯ 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.
  • v2.9.0 Changes

    May 25, 2018
    • 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.
  • v2.8.0 Changes

    April 10, 2018
    • πŸ‘ 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
  • v2.7.0 Changes

    January 18, 2018
    • 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
  • v2.6.0 Changes

    October 27, 2017
    • 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
  • v2.5.0 Changes

    May 08, 2017
    • βž• Added support for GeoLite2 ASN database.
    • πŸ“š Corrected documentation of errors raised when using the database reader.
      Reported by Radek HolΓ½. GitHub #42.