2.0.0-beta.1
Pre-release
Pre-release
- BREAKING CHANGE: Updated to use
maxminddb-golang/v2which provides
significant performance improvements and a more modern API. - BREAKING CHANGE: All lookup methods now accept
netip.Addrinstead of
net.IP. This provides better performance and aligns with modern Go
networking practices. - BREAKING CHANGE: Renamed
IsoCodefields toISOCodein all structs
to follow proper capitalization for the ISO acronym. Closes GitHub issue #4. - BREAKING CHANGE: Replaced
map[string]stringNames fields with structured
Namestype for significant performance improvements. This eliminates map
allocation overhead, reducing memory usage by 34% and allocations by 56%. - BREAKING CHANGE: Added JSON tags to all struct fields. JSON tags match
the correspondingmaxminddbtags where they exist. Custom fields (IPAddress
andNetwork) use snake_case (ip_addressandnetwork). - BREAKING CHANGE: Removed
IsAnonymousProxyandIsSatelliteProviderfields
from all Traits structs. These fields have been removed from MaxMind databases.
Use the dedicated Anonymous IP database for anonymity detection instead. - BREAKING CHANGE: Go 1.24 or greater is now required. This enables the use
ofomitzeroin JSON tags to match MaxMind database behavior where empty
values are not included. - Added
IsZero()method to all result structs (City, Country, Enterprise, ASN,
etc.) to easily check whether any data was found for the queried IP address.
Requested by Salim Alami. GitHub #32. - Added
NetworkandIPAddressfields to all result structs. TheNetworkfield
exposes the network prefix from the MaxMind database lookup, and theIPAddressfield
contains the IP address used during the lookup. These fields are only populated when
data is found for the IP address. For flat record types (ASN, ConnectionType, Domain,
ISP, AnonymousIP), the fields are namedNetworkandIPAddress. For complex types
(City, Country, Enterprise), the fields are located at.Traits.Networkand
.Traits.IPAddress.
Requested by Aaron Bishop. GitHub #128. - Updated module path to
github.com/oschwald/geoip2-golang/v2to follow
Go's semantic versioning guidelines for breaking changes. - Updated examples and documentation to demonstrate proper error handling
withnetip.ParseAddr(). - Updated linting rules to support both v1 and v2 import paths during the
transition period.