Releases: maxmind/minfraud-api-java
Releases · maxmind/minfraud-api-java
4.0.0
- BREAKING: Removed deprecated
TransactionReport.Builder(InetAddress, Tag)
constructor. UseBuilder(Tag)andipAddress(InetAddress)instead. - BREAKING: Removed deprecated
getUrl()methods fromHttpExceptionand
InvalidRequestException. Useuri()instead. - BREAKING: Removed deprecated constructors from
FactorsResponse,
InsightsResponse, andPhoneclasses. - BREAKING: Removed deprecated
Subscoresclass and
FactorsResponse.getSubscores()method. UsegetRiskScoreReasons()
instead. - BREAKING: Java 17 is now required (previously Java 11).
- BREAKING: Updated
geoip2dependency to 5.0.0-SNAPSHOT. This introduces
several breaking changes due to changes in the geoip2 library:- The
IpAddressclass no longer extendsInsightsResponsefrom geoip2.
It now uses composition instead. All public methods remain the same, but
code relying onIpAddressbeing anInsightsResponsewill need to be
updated. - The
GeoIp2Locationclass no longer extendsLocationfrom geoip2. It
now stores location data directly. All public methods remain the same, but
code relying onGeoIp2Locationbeing aLocationwill need to be
updated. - Removed the
getMaxMind()method from theIpAddressclass as this data
is not populated in minFraud responses.
- The
- BREAKING: Converted all response classes to Java records. This change makes
these classes more concise and provides better immutability guarantees.- All
get*()accessor methods in response classes are now deprecated and
will be removed in 5.0.0. Use the automatically generated record accessor
methods instead (e.g., useriskScore()instead ofgetRiskScore()). - The response class hierarchy has been flattened.
InsightsResponseno
longer extendsScoreResponse, andFactorsResponseno longer extends
InsightsResponse. Instead,InsightsResponseandFactorsResponsenow
include all fields from their former parent classes directly. - All response classes now implement
JsonSerializableinstead of extending
AbstractModel. ThetoJson()method remains available for serialization. - Removed the
AbstractAddressinterface.
- All
- BREAKING: Updated all request classes to use record-style method naming. The
getprefix has been removed from all accessor methods (e.g., useuserId()
instead ofgetUserId()). This applies to all request classes including
Account,Billing,CreditCard,CustomInputs,Device,Email,
Event,Order,Payment,Shipping,ShoppingCartItem,Transaction,
andTransactionReport. Unlike response classes, no deprecated helper methods
were added as these methods are primarily used for serialization. - BREAKING: Updated exception classes to use record-style method naming. The
getprefix has been removed from all accessor methods. ForHttpException,
usehttpStatus()anduri()instead ofgetHttpStatus()andgetUri().
ForInvalidRequestException, usecode(),httpStatus(), anduri()
instead ofgetCode(),getHttpStatus(), andgetUri(). No deprecated
helper methods were added. - Added
CREDIT_APPLICATION,FUND_TRANSFER, andSIM_SWAPto the
Event.Typeenum. - Added the input
/event/party. This is the party submitting the
transaction. You may provide this using thepartymethod on
Event.Builder. - Added the input
/payment/method. This is the payment method associated
with the transaction. You may provide this using themethodmethod on
Payment.Builder. - Added new email domain fields to the
EmailDomainresponse model:classification- A classification of the email domain. Possible values
areBUSINESS,EDUCATION,GOVERNMENT, andISP_EMAIL.risk- A risk score associated with the email domain, ranging from 0.01
to 99. Higher scores indicate higher risk.volume- The activity on the email domain across the minFraud network,
expressed in sightings per million. This value ranges from 0.001 to
1,000,000.visit- AnEmailDomainVisitobject containing information about an
automated visit to the email domain, including:status- The status of the domain based on the automated visit.
Possible values areLIVE,DNS_ERROR,NETWORK_ERROR,HTTP_ERROR,
PARKED, andPRE_DEVELOPMENT.lastVisitedOn- The date when the automated visit was last completed.hasRedirect- Whether the domain redirects to another URL.
- Added support for forward-compatible enum deserialization. Enums in response
models will now returnnullfor unknown values instead of throwing an
exception. This allows the client to handle new enum values added by the
server without requiring an immediate client update. This required adding
READ_ENUMS_USING_TO_STRINGandREAD_UNKNOWN_ENUM_VALUES_AS_NULLto the
JacksonObjectMapperconfiguration. - Added
SECUREPAYto thePayment.Processorenum. WebServiceClient.Buildernow has anhttpClient()method to allow
passing in a customHttpClient.
3.8.0
commons-validatorhas been removed as a dependency. This module now does
its own email and domain name validation. This was done to reduce the number
of dependencies and any security vulnerabilities in them. The new email
validation of the local part is somewhat more lax than the previous
validation.
3.7.2
3.7.1
3.7.0
3.6.0
- The minFraud Factors subscores have been deprecated. They will be removed
in March 2025. Please see our release notes
for more information. - Added
EPAYCOto thePayment.Processorenum.
3.6.0-beta.1
- Added support for the new risk reasons outputs in minFraud Factors. The risk
reasons output codes and reasons are currently in beta and are subject to
change. We recommend that you use these beta outputs with caution and avoid
relying on them for critical applications.
3.5.0
- Updated
TransactionReportto make theipAddressparameter optional. Now
thetagand at least one of the following parameters must be supplied:
ipAddress,maxmindId,minfraudId,transactionId. - The
TransactionReport.Builder(INetAddress, Tag)constructor has been
deprecated in favor of the newTransactionReport.Builder(Tag)constructor. - Added
getBillingPhoneandgetShippingPhonemethods to the minFraud
Insights and Factors response models. These contain objects with information
about the respective phone numbers. Please see our developer
site for
more information. - Added
PAYCONEXto thePayment.Processorenum.
3.4.0
- Added
PXP_FINANCIALandTRUSTPAYto thePayment.Processorenum. - Equivalent domain names are now normalized when
hashAddressis used.
For example,googlemail.comwill becomegmail.com. - Periods are now removed from
gmail.comemail address local parts when
hashAddressis used. For example,[email protected]will become
[email protected]. - Fastmail alias subdomain email addresses are now normalized when
hashAddressis used. For example,[email protected]will become
[email protected]. - Additional
yahoo.comemail addresses now have aliases removed from
their local part whenhashAddressis used. For example,
[email protected]will become[email protected]for additional
yahoo.comdomains. - Duplicate
.coms are now removed from email domain names when
hashAddressis used. For example,example.com.comwill become
example.com. - Certain TLD typos are now normalized when
hashAddressis used. For
example,example.comcomwill becomeexample.com. - Additional
gmail.comdomain names with leading digits are now
normalized whenhashAddressis used. For example,100gmail.comwill
becomegmail.com. - Additional
gmail.comtypos are now normalized whenhashAddressis
used. For example,gmali.comwill becomegmail.com. - When
hashAddressis used, all trailing periods are now removed from an
email address domain. Previously only a single period was removed. - When
hashAddressis used, the local part of an email address is now
normalized to NFC.
3.3.0
- Updated
geoip2dependency to version that includes theisAnycastmethod
oncom.maxmind.geoip2.record.Traits. This returnstrueif the IP
address belongs to an anycast network.
This is available in minFraud Insights and Factors.