Revision history for Perl extension Email::Valid.

1.204     2024-01-20 16:40:53-05:00 America/New_York
        - replace IO::CaptureOutput with Capture::Tiny (thanks, Jim Keenan)
        - fix detection of null MX (thanks, Arne Johannessen)

1.203     2022-05-29 15:22:36-04:00 America/New_York
        - tiny packaging improvements
        - detect published null MX records (thanks, Gene Hightower)

1.202     2016-09-25 21:48:09-04:00 America/New_York
        - avoid using a new Net::DNS feature, which should restore function
          with old versions of Net::DNS

1.201     2016-09-22 19:21:01-04:00 America/New_York
        - mx check once again allows for A records; a future check may
          allow mx-only checks on purpose

1.200     2016-03-27 17:36:57-04:00 America/New_York
        - skip more tests when Net::Domain::TLD not available, as required

1.199     2016-03-27 09:58:03-04:00 America/New_York
        - More "no MX found" fixes (thanks, Troy Morehouse)
        - treat restricted/reserved TLDs (invalid, test, example, localhost)
          as invalid (thanks, Steve Bertrand!)
        - Made first mention of various external modules be L<> linked.
        - Added link to RFC822 to SEE ALSO
        - Various typo and formatting fixes

1.198     2015-10-25 22:36:37-04:00 America/New_York
        - fix a typo that caused the MX check to die

1.197     2015-10-16 22:57:05-04:00 America/New_York
        - improve detection of "no MXes" (thanks, Troy Morehouse)
        - avoid some avoidable warnings (thanks, Svetlana)

1.196     2015-02-05 22:31:29-05:00 America/New_York
        - AOL "local rules" no longer enforced

1.195     2014-09-01 08:38:58-04:00 America/New_York
        - handle domain part with MX but no A record (thanks, Karel Miko)

1.194     2014-05-28 17:21:53-04:00 America/New_York
        - grew an MX record; use something that won't

1.193     2014-03-26 22:29:28-04:00 America/New_York
        - improve behavior on CNAME MX records

1.192     2013-09-07 21:00:55 America/New_York
          if Net::DNS is not available, do not test null mx validity

1.191     2013-09-04 21:52:50 America/New_York
          update bugtracker, repo, etc.

          mxcheck fails when remote MX record is "."

          drop use of; any bug fixed by that should be fixed again

0.190     2012-03-26
          fix skip test count

0.189     2012-03-26
          addresses in the form rjbs@[], when allowed by allow_ip,
          are not failed for the tld check (reported by Marcel GrĂ¼nauer)

0.188     2012-03-15
          fix [ #75736], in which was considered
          invalid (thanks for the fix from Steve Bertrand)

0.187     2012-01-27
          addresses in the form rjbs@[] are now (correctly) considered
          valid; this can be disabled with the -allow_ip option
          (this resolves RT #48398)

          check email address length and localpart length (thanks, Steve

0.186     2012-01-22
          use blessed($x) instead of wrapping an ->isa called in eval{}; this
          patch (thanks, Felipe Bergo!) was submitted to avoid problems with
          people who have global __DIE__ handlers, but was applied to just
          avoid the dumb eval{}; people with __DIE__ are otherwise on their
          own, here

0.185     2011-08-11
          do not die in t/valid.t when testing for working DNS
          (address RT #70157, thanks, Alexey Tourbin)

          avoid a pointless warning (mentioned in RT #68312)

          check TLD validity before MX records
          (address RT #32237, thanks, meyerdigital)

          reject addresses with non-ASCII characters
          (address RT #50230, thanks, ferreira)

0.184     2010-06-10
          initialize Net::DNS resolver earlier
          (address RT #56828, thanks mschout @ github)

0.183_001 2009-10-05
          reject addresses with any octets that are &128
          (address RT #50230, thanks Adriano Ferreira and Graham Barr)

0.182     2009-08-03
          skip DNS tests on machines with lying DNS

0.181     2009-03-23
          explicitly require perl5 version 6
          update some module metadata (Alexandr Ciornii)
          remove hateful indirect method notation (Alexandr Ciornii)

0.180     2009-01-16
          add repo location to metadata

0.179   Mon Nov 27 2006
        bug 23657: fix domain label regex: thanks, Nobuaki ITO!

0.178   Sat Nov 25 2006
        reduce cases in which IO::CaptureOutput is needed on Win32
        (bug 22062, thanks Alexandr Ciornii)

0.177   Sat Nov 25 2006
        resolve bug 22710: make fqdn rule more strict: domains must be multiple
          valid domain labels, and domain labels must be [a-z0-9][-a-z0-9]*
        replace UNIVERSAL:: with eval{}-wrapping

0.176   Thu Jul 27 2006
        further improve DNS stuff: try to make Net::DNS a prereq if we think
        we'll need it later

0.175   Sat Jun 24 2006
        attempt to improve nslookup-location on Cygwin

0.174   Fri Jun 17 2006
        added module required on Win32 (IO::CaptureOutput) to Makefile.PL

0.173   Fri Jun 17 2006
        update test to require same min. version of as code

0.172   Sat Jun 10 2006
        add pod tests

0.171   Sat Jun 10 2006
        fixed a problem with the test plan

0.170   Thu Jun  8 2006
        fix details on failures for mxcheck and tldcheck
        don't screw up addresses beginning with a dash
        try to work on win32 where forking open is busted (thanks Smylers)
        improve tests

0.16    Fri Jun  2 2006
        maintainership assumed by RJBS
        work with current, broken Net::Domain::TLD
        improve tests

0.15    Sun Sep  7 21:39:12 PDT 2003
        Support for top level domain validity check added by Elizabeth
          Mattijsen (  Updated documentation and added tests.
        Patch to improve portability when looking for nslookup executable.
          Thanks to Chromatic<>
        Update AOL rules in local_rules check thanks to Paul Fierro

0.14    Wed Jul  3 12:58:50 CEST 2002
        Applied patch from Michael G Schwern <> to remove 'use
0.13    Tue Jan 16 13:25:57 PST 2001    
        Only load Net::DNS module if required

0.12    Thu Jul  8 22:26:41 PDT 1999
        Added details() method to determine why an address check fails.
          Thanks to Otis Gospodnetic for the suggestion.      
        Global Net::DNS::Resolver object is now used for DNS queries when
          Net::DNS is available.  Can be accessed directly to tweak the
          resolver behavior.
        The address() method now returns an additional value (an instance of
          the Mail::Address class) when called in a list context.  
        Updated documentation.

0.11    Wed Jul  7 04:33:58 PDT 1999  
        Changed name to Mail::Address

0.09    Thu Apr  8 17:21:15 PDT 1999
        Added Mail::Address to PREREQ_PM to list dependency, as suggested by
        Moved to t/valid.t as suggested by Achim.
        DNS lookups now use Net::DNS if available, falling back to nslookup if
          not.  Suggested by Lupe Christoph.
        Modified documentation
        Renamed Email::Valid::NSLookup to Email::Valid::DNS, which is now
          responsible for all DNS queries.
	      Removed a couple of warnings when running under -w
        Bug handling AOL local rules fixed
        local_rules() now defaults to off

0.07    Tue Jan 12 02:04:57 PST 1999
        Mail::Address module is now required
        Added Email::Valid::NSLookup module to encapsulate DNS lookups -- now
          we can add additional classes to use other utilities.
        Fixed problem with spaces thanks to David Birnbaum.
        Renamed a couple of the parameters -- old names should still work.

0.06    Tue May 26 14:27:34 1998
        Modified named parameter parsing

0.05    Mon May 11 00:56:00 1998
        fudge() now defaults to false
        Modified documentation
        Changed behavior of fully_qualified

0.04    Thu May  7 16:42:00 1998
        Added support for Mail::Address objects
        Added positional/named parameter calling style
        Updated documentation

0.01    Fri Mar  6 22:19:54 1998
        original version; created by h2xs 1.18