Skip to content

Commit 130251c

Browse files
authored
Merge pull request #136 from maxmind/marsel/email-norm
Add additional email normalization
2 parents 59d33c6 + 45fb776 commit 130251c

File tree

3 files changed

+324
-23
lines changed

3 files changed

+324
-23
lines changed

HISTORY.rst

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,36 @@ History
77
++++++++++++++++++
88

99
* Added the following new values to the ``/payment/processor`` validation:
10+
1011
* ``pxp_financial``
1112
* ``trustpay``
1213

14+
* Equivalent domain names are now normalized when ``hash_email`` is used.
15+
For example, ``googlemail.com`` will become ``gmail.com``.
16+
* Periods are now removed from ``gmail.com`` email address local parts when
17+
``hash_email`` is used. For example, ``f.o.o@gmail.com`` will become
18+
``foo@gmail.com``.
19+
* Fastmail alias subdomain email addresses are now normalized when
20+
``hash_email`` is used. For example, ``alias@user.fastmail.com`` will
21+
become ``user@fastmail.com``.
22+
* Additional ``yahoo.com`` email addresses now have aliases removed from
23+
their local part when ``hash_email`` is used. For example,
24+
``foo-bar@yahoo.com`` will become ``foo@yahoo.com`` for additional
25+
``yahoo.com`` domains.
26+
* Duplicate ``.com`` s are now removed from email domain names when
27+
``hash_email`` is used. For example, ``example.com.com`` will become
28+
``example.com``.
29+
* Extraneous characters after ``.com`` are now removed from email domain
30+
names when ``hash_email`` is used. For example, ``example.comfoo`` will
31+
become ``example.com``.
32+
* Certain ``.com`` typos are now normalized to ``.com`` when ``hash_email`` is
33+
used. For example, ``example.cam`` will become ``example.com``.
34+
* Additional ``gmail.com`` domain names with leading digits are now
35+
normalized when ``hash_email`` is used. For example, ``100gmail.com`` will
36+
become ``gmail.com``.
37+
* Additional ``gmail.com`` typos are now normalized when ``hash_email`` is
38+
used. For example, ``gmali.com`` will become ``gmail.com``.
39+
1340
2.9.0 (2023-12-05)
1441
++++++++++++++++++
1542

@@ -26,6 +53,7 @@ History
2653
* IMPORTANT: Python 3.7 or greater is required. If you are using an older
2754
version, please use an earlier release.
2855
* Added the following new values to the ``/payment/processor`` validation:
56+
2957
* ``google_pay``
3058
* ``placetopay``
3159
* ``shopify_payments``
@@ -60,6 +88,7 @@ History
6088
``response.ip_address.traits.mobile_network_code``. We expect this data to be
6189
available by late January, 2022.
6290
* Added the following new values to the ``/payment/processor`` validation:
91+
6392
* ``boacompra``
6493
* ``boku``
6594
* ``coregateway``
@@ -71,6 +100,7 @@ History
71100
* ``payvision``
72101
* ``trustly``
73102
* ``windcave``
103+
74104
* The ``/credit_card/last_4_digits`` input has been deprecated in favor of
75105
``/credit_card/last_digits`` and will be removed in a future release.
76106
``last_digits``/``last_4_digits`` also now supports two digit values in
@@ -81,6 +111,7 @@ History
81111
an ``issuer_id_number`` that contains an eight digit IIN, and if the credit
82112
card brand is not one of the following, you should send the last two digits
83113
for ``last_digits``:
114+
84115
* ``Discover``
85116
* ``JCB``
86117
* ``Mastercard``
@@ -97,13 +128,15 @@ History
97128
++++++++++++++++++
98129

99130
* Added the following new values to the ``/payment/processor`` validation:
131+
100132
* ``cardknox``
101133
* ``creditguard``
102134
* ``credorax``
103135
* ``datacap``
104136
* ``dlocal``
105137
* ``onpay``
106138
* ``safecharge``
139+
107140
* Added ``rule_label`` to minFraud output ``/disposition``.
108141
* Added ``was_3d_secure_successful`` to ``/credit_card`` validation
109142

@@ -132,7 +165,6 @@ History
132165
Factors responses. This is available at ``.ip_address.risk_reasons``. It is
133166
an array of ``IPRiskReason`` objects.
134167

135-
136168
2.2.0 (2020-10-13)
137169
++++++++++++++++++
138170

@@ -189,13 +221,16 @@ History
189221
+++++++++++++++++++
190222

191223
* Added the following new values to the ``/payment/processor`` validation:
224+
192225
* ``cashfree``
193226
* ``first_atlantic_commerce``
194227
* ``komoju``
195228
* ``paytm``
196229
* ``razorpay``
197230
* ``systempay``
231+
198232
* Added support for the following new subscores in Factors responses:
233+
199234
* ``device``: the risk associated with the device
200235
* ``email_local_part``: the risk associated with the email address local part
201236
* ``shipping_address``: the risk associated with the shipping address
@@ -227,6 +262,7 @@ History
227262
This may be accessed via ``response.email.domain.first_seen`` on the
228263
minFraud Insights and Factors response objects.
229264
* Added the following new values to the ``/payment/processor`` validation:
265+
230266
* ``cardpay``
231267
* ``epx``
232268

@@ -245,6 +281,7 @@ History
245281
to 9,999,999,999,999. Previously, larger numbers were allowed.
246282
* Python 3.3 and 3.4 are no longer supported.
247283
* Added the following new values to the ``/payment/processor`` validation:
284+
248285
* ``affirm``
249286
* ``afterpay``
250287
* ``cetelem``
@@ -262,6 +299,7 @@ History
262299
* ``paysafecard``
263300
* ``smartdebit``
264301
* ``synapsefi``
302+
265303
* Deprecated the ``email_tenure`` and ``ip_tenure`` attributes of
266304
``minfraud.models.Subscores``.
267305
* Deprecated the ``is_high_risk`` attribute of
@@ -274,11 +312,13 @@ History
274312
* Renamed MaxMind user ID to account ID in the code and added support for the
275313
new ``ACCOUNT_ID_REQUIRED`` error code.
276314
* Added the following new values to the ``/payment/processor`` validation:
315+
277316
* ``ccavenue``
278317
* ``ct_payments``
279318
* ``dalenys``
280319
* ``oney``
281320
* ``posconnect``
321+
282322
* Added support for the ``/device/local_time`` output.
283323
* Added support for the ``/credit_card/is_virtual`` output.
284324
* Added ``payout_change`` to the ``/event/type`` input validation.
@@ -291,6 +331,7 @@ History
291331
``geoip2.record.RepresentedCountry``. This attribute is ``True`` if the
292332
country is a member state of the European Union.
293333
* Added the following new values to the ``/payment/processor`` validation:
334+
294335
* ``cybersource``
295336
* ``transact_pro``
296337
* ``wirecard``
@@ -299,11 +340,13 @@ History
299340
++++++++++++++++++
300341

301342
* Added the following new values to the ``/payment/processor`` validation:
343+
302344
* ``bpoint``
303345
* ``checkout_com``
304346
* ``emerchantpay``
305347
* ``heartland``
306348
* ``payway``
349+
307350
* Updated ``geoip2`` dependency to add support for GeoIP2 Precision Insights
308351
anonymizer fields.
309352

@@ -313,6 +356,7 @@ History
313356
* Added support for custom inputs. You may set up custom inputs from your
314357
account portal.
315358
* Added the following new values to the ``/payment/processor`` validation:
359+
316360
* ``american_express_payment_gateway``
317361
* ``bluesnap``
318362
* ``commdoo``
@@ -329,6 +373,7 @@ History
329373
* ``vantiv``
330374
* ``vericheck``
331375
* ``vpos``
376+
332377
* Added the following new input values:
333378
``/device/session_age`` and ``/device/session_id``.
334379
* Added support for the ``/email/first_seen`` output.
@@ -400,11 +445,13 @@ History
400445
++++++++++++++++++
401446

402447
* Added support for new minFraud Insights outputs. These are:
403-
* ``/credit_card/brand``
404-
* ``/credit_card/type``
405-
* ``/device/id``
406-
* ``/email/is_free``
407-
* ``/email/is_high_risk``
448+
449+
* ``/credit_card/brand``
450+
* ``/credit_card/type``
451+
* ``/device/id``
452+
* ``/email/is_free``
453+
* ``/email/is_high_risk``
454+
408455
* ``input`` on the ``Warning`` response model has been replaced with
409456
``input_pointer``. The latter is a JSON pointer to the input that
410457
caused the warning.

0 commit comments

Comments
 (0)