You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BREAKING: All model and record classes have been converted to Java records.
This provides a more modern, immutable data model with automatic implementations
of equals(), hashCode(), and toString(). The abstract classes AbstractRecord, AbstractNamedRecord, AbstractResponse, AbstractCountryResponse, AbstractCityResponse, and IpBaseResponse have
been removed. Record components can be accessed using the new accessor methods
(e.g., city(), country(), location()). The traditional getter methods
(e.g., getCity(), getCountry(), getLocation()) are still available but
have been deprecated and will be removed in version 6.0.0.
BREAKING:RepresentedCountry is now a separate record type instead of
extending Country. It shares the same fields as Country but adds a type
field.
The deprecation notices for IP Risk database support have been removed.
IP Risk database support will continue to be maintained.
A new Anonymizer record has been added to the InsightsResponse model. This
record consolidates anonymizer information including VPN confidence scores,
network last seen dates, and provider names. It includes the following fields: confidence, isAnonymous, isAnonymousVpn, isHostingProvider, isPublicProxy, isResidentialProxy, isTorExitNode, networkLastSeen, and providerName.
A new ipRiskSnapshot field has been added to the Traits record. This field
provides a static risk score (ranging from 0.01 to 99) associated with the IP
address. This is available from the GeoIP2 Precision Insights web service.
The anonymous IP flags in the Traits record (isAnonymous, isAnonymousVpn, isHostingProvider, isPublicProxy, isResidentialProxy, and isTorExitNode)
have been deprecated in favor of using the new Anonymizer record in the InsightsResponse. These fields will continue to work but will be removed in
version 6.0.0.
BREAKING: The deprecated WebServiceClient.Builder methods connectTimeout(int), readTimeout(int), and proxy(Proxy) have been
removed. Use connectTimeout(Duration), requestTimeout(Duration), and proxy(ProxySelector) respectively.
BREAKING: The deprecated WebServiceClient.close() method has been
removed along with the Closeable interface implementation.
BREAKING: The deprecated getUrl() methods in HttpException and InvalidRequestException have been removed. Use getUri() instead.
BREAKING: The deprecated Traits constructors and methods isAnonymousProxy() and isSatelliteProvider() have been removed. Use the
GeoIP2 Anonymous IP database for anonymous proxy detection instead.
BREAKING: The deprecated Location.getMetroCode() method has been
removed. Metro code values are no longer maintained.
BREAKING: Java 11 support has been dropped. Java 17 or later is now required.
BREAKING: Removed explicit serialVersionUID from all exception classes.
Java will auto-generate serialVersionUID when needed, following modern practices.
BREAKING: Removed no longer necessary JacksonInject annotations for ip_address, network, and traits from several classes. The JsonInjector class was removed.
Public getter methods in non-record classes (e.g., DatabaseReader,
exception classes) have been renamed to follow the same naming convention as
records (e.g., metadata() instead of getMetadata()). The old getter
methods are still available but have been deprecated and will be removed in
version 6.0.0.