All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
6.0.0 - 2025-11-26
- BREAKING: Require Java 25+.
5.0.1 - 2025-07-22
Minor release to fix an issue in the new automated workflow.
5.0.0 - 2025-07-22
- BREAKING: Require Java 21+.
- Fixed deprecated Gradle configurations.
- Added professional, comprehensive javadoc documentation to all API model classes.
- Remove deprecated
IpregistryConfig#apiUrl. UseIpregistryConfig#baseUrlinstead.
4.0.0 - 2023-05-08
- Add new
IpregistryGeolocationDatasetclass for easy loading and query an Ipregistry Geolocation dataset offline.
- Updated required Java version to Java 11 from Java 8.
3.7.0 - 2022-06-10
- Add new
parsemethod to IpregistryClient to parse one or more user-agent values.
3.6.0 - 2022-04-15
- New
vpnfield insecurityobject.
3.5.0 - 2021-12-21
- New
relayfield insecurityobject.
- Deprecate
IpregistryConfigBuilder.apiUrlin favor ofIpregistryConfigBuilder.baseUrl.
3.4.0 - 2021-11-07
- Support for usage in native images with GraalVM.
3.3.0 - 2021-10-26
- IpInfo responses has a new
companyfield. - The enum ConnectionType includes a new value of
INACTIVE. - The class DefaultRequestHandler accepts a custom ObjectMapper.
- A single ObjectMapper instance is created and reused in DefaultRequestHandler.
- The API key is no longer passed as a query parameter but as a header when a request is sent.
3.2.1 - 2021-07-26
- Restore missing getters in Region model class.
3.2.0 - 2021-07-26
- Add setters to all model classes.
- New connection type
GOVERNMENT.
- Improve utility method to detect bots/crawlers/spiders based on user-agent value.
- Parsing of unknown connection type values fallbacks to
BUSINESS. - Upgrade dependencies.
- Merge connection type
CDNwithHOSTING.
3.1.2 - 2021-04-08
- Upgrade dependencies
3.1.1 - 2020-09-03
- Compatibility level is set to Java 8.
- Fix broken lookup when InetAddress is used as input parameter.
3.1.0 - 2020-07-05
- Upgrade dependencies.
- Increase default timeout values to 15s from 2s.
3.0.0 - 2020-04-16
- [BREAKING] Rename
DefaultCachetoInMemoryCache. - Upgrade dependencies
- Fix a
ClassCastExceptionthat was raised when a valid remote resource is used as lookup input (e.g. robots.txt).
2.3.0 - 2020-01-12
- New field
connection.routein response model. - Introduce new value
cdnfor fieldconnection.type.
- Change type Integer to Long for Autonomous System number associated with field
connection.asn.
2.2.0 - 2019-10-27
- New currency fields
name_nativeandplural_native.
- Decrease the default cache period to 10min from 24h. This is to better handle use cases that require fresh security data. Indeed, such data is updated multiple times each hour. You can still configure the cache period to a higher value: https://github.com/ipregistry/ipregistry-java#caching
2.1.1 - 2019-08-08
- Lombok warnings (equals not calling super and builder ignoring default value).
2.1.0 - 2019-08-08
- Error code FORBIDDEN_IP_ORIGIN.
- Carrier class and field.
- Connection domain field.
- Connection type field and enum.
- Security is_cloud_provider field.
- Implement equals/hashCode in all IpInfo subfield classes.
- Default cache implementation will expire entries older than 24 hours by default.
- Allow passing any int value to
expireAfterandmaximumSizeparameters of DefaultCache constructor.
2.0.0 - 2019-07-19
- Changelog file.
- Manifest file with build information on generated JAR.
- Missing file headers.
- Unknown IP type.
- Utility class
IpregistryOptions.
- Rename
EmptyCacheclass toNoCache. - Rename
IpData* classes toIpInfo*. - Rename
Ipregistryclass toIpregistryClient. - Use all lookup parameters (including options) to cache results.
- Remove docs/ folder.
- Fix NPE with origin lookup.
1.1.0 - 2019-07-03
- Increased version number for testing purposes.
1.0.0 - 2019-07-03
- First public release.