Releases: maxmind/GeoIP2-node
Releases · maxmind/GeoIP2-node
Release list
7.0.0
- Breaking Dropped support for Node.js 18 and 20. Node.js 22 or greater is now
- Breaking Dropped commonjs support. The package is now only available as an ES module.
- Breaking Errors from the
WebServiceClientare now thrown as
WebServiceErrorinstances, which extendError, rather than as plain
objects. Thecode,error,status, andurlproperties are preserved,
so existing field access continues to work, but the thrown value is now an
Error. The original error is now preserved as the standardcause
property (for example, the network error behind aFETCH_ERROR). The
WebServiceErrorclass and theWebServiceClientErrortype are now exported
from the package. - The
codeproperty onWebServiceErrorand theWebServiceClientError
interface is now typed asWebServiceErrorCode
(ClientErrorCode | (string & {})) instead ofstring, providing
autocompletion for the client-generated codes while still accepting any
code returned by the web service. TheClientErrorCodeand
WebServiceErrorCodetypes are exported from the package. - The
AddressNotFoundError,BadMethodCallError,InvalidDbBufferError,
andValueErrorclasses now accept an optionalcauseand forward it to
Error.Reader.openBuffer()now preserves the underlying parsing error as
thecauseof theInvalidDbBufferErrorit throws. - Added a
fetcheroption to theWebServiceClientoptions, allowing a
customfetchimplementation to be supplied (for example, to route requests
through a custom dispatcher or proxy, or for testing). It defaults to the
globalfetch. TheWebServiceClientOptionstype is exported from the
package.
6.3.4
6.3.3
6.3.2
6.3.1
6.3.0
- A new
anonymizerobject has been added to theInsightsresponse model.
This object contains information about anonymizing services and VPN providers
associated with an IP address. Available from the GeoIP2 Insights web service
only. The object includes the following properties:confidence: A score (1-99) representing percent confidence that the
network is part of an actively used VPN serviceisAnonymous: Indicates if the IP belongs to any anonymous networkisAnonymousVpn: Identifies IPs registered to anonymous VPN providersisHostingProvider: Flags hosting/VPN providers used for anonymizingisPublicProxy: Identifies public proxy addressesisResidentialProxy: Detects suspected anonymizing networks on
residential ISPsisTorExitNode: Identifies Tor exit nodesnetworkLastSeen: The last day (YYYY-MM-DD) the network was sighted in
our analysis of anonymized networksproviderName: The name of identified VPN providers (e.g., "NordVPN")
- A new
ipRiskSnapshotproperty has been added to thetraitsobject.
This provides a risk score ranging from 0.01 to 99, with higher values
indicating greater risk. Available from the GeoIP2 Insights web service only. - The following properties in the
traitsobject have been deprecated in
favor of the newanonymizerobject. These properties will continue to work
but users should migrate to using theanonymizerobject:isAnonymousisAnonymousVpnisHostingProviderisPublicProxyisResidentialProxyisTorExitNode
- Added the
statusproperty toWebServiceClientError. This property
contains the HTTP status code when the error is the result of an HTTP
response error. Network errors (timeouts, fetch errors) will not have a
status code.
6.2.0
6.1.0
v6.0.0
- Breaking Internal webservice calls now use Node's built-in
fetchinstead ofhttp. This
will affect users who are on unsupported versions of Node, specifically Node 17 and below. - Two new error codes have been added:
NETWORK_TIMEOUTandFETCH_ERROR, second of which is returned
when there's afetchrelated error that could not be handled by other errors. - The
ip6addrdependency has been removed. metroCodeonLocationRecordhas been marked deprecated. The code values
are no longer being updated.
v5.0.0
- Breaking Drop node 16 support
- The
isAnycastattribute was added toTraitsRecord. This istrueif
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. - The boolean attributes on the record models are no longer optional. We
set missing values to false during construction.