Revision history for Mail-Milter-Authentication

2.20200206 2020-02-06 01:15:45+00:00 UTC
        - Size: Add metrics for added header bytes

2.20200202 2020-02-02 14:23:58+00:00 UTC
        - DMARC: Updated ARC override reporting re RFC
        - DMARC: Add metrics for active/pending reports
        - Core: Added version metrics

2.20200107 2020-01-07 04:26:20+00:00 UTC
        - Ignore Errors from bgsend

2.20200106 2020-01-06 04:09:07+00:00 UTC
        - Properly clear DNS errors cache on close

2.20200102 2020-01-02 01:14:35+00:00 UTC
        - DMARC: Store all DMARC result object for other handlers
        - Properly set IP objects in tester

2.20191206 2019-12-05 02:14:47+00:00 UTC
        - Fix second header parse bug

2.20191205 2019-12-05 01:25:51+00:00 UTC
        - Send DNS requests early
        - Fix header parse bug

2.20191106 2019-11-06 01:22:25+00:00 UTC
        - More aggressive handling of DNS timeoutsi

2.20190523 2019-05-23 02:16:29+00:00 UTC
        - ReturnOK: Add detail in comments
        - ReturnOK: Don't duplicate checks for repeated domains
        - Core: Use Log::Dispatchouli for logging

2.20190502 2019-05-02 15:54:56+10:00 Australia/Melbourne
        - DMARC: Make sure we actually have a trusted ARC chain before
          applying arc_before_list

2.20190501 2019-05-01 11:52:35+10:00 Australia/Melbourne
        - DMARC: Option to override List-ID detection if we have ARC

2.20181212 2018-12-12 15:17:16+11:00 Australia/Melbourne
        - Core: Remap IP addresses as early as possible.

2.20181130 2018-11-30 15:12:34+11:00 Australia/Melbourne
        - Core/TLS: Expose the TLS state in a helper method.
        - Core: Enforce DNS timeouts

2.20181114 2018-11-14 15:20:39+11:00 Australia/Melbourne
        - Core: Return effective config in toml or json
          NB The version of TOML used here is not sufficient to
             express all possible configurations, in particular those
             which would require a . in the key name (ip addresses etc) are
             not possible to express in TOML.
             As such, TOML should be considered as experimental.
        - Core: Allow ip remapping based on received HELO host
        - Core: Pre-load some Net::DNS::RR modules pre-fork
        - Core: Allow multiple digit extended return codes

2.20181024 2018-10-24 12:02:46+11:00 Australia/Melbourne
        - DMARC: Defer saving of aggregate reports until the close stage
        - Metrics: Use shared memory for metrics processing rather than
          child<>parent socket calls.
          Requires Prometheus::Tiny::Shared (and Cache::FastMmap)

2.20181013 2018-10-13 08:58:04-04:00 America/New_York
        - IPRev: rename policy.iprev to smtp.remote-ip for interop

2.20180927 2018-09-27 14:00:13+10:00 Australia/Melbourne
        - DMARC: Record policy used (p or sp) in header and metrics

2.20180912 2018-09-12 22:03:15+10:00 Australia/Melbourne
        - Fix bug in loading of conf.d files

2.20180903 2018-09-03 14:47:52+10:00 Australia/Melbourne
        - DMARC: Allow whitelist by passing SPF domain.
        - DMARC: Allow whitelist lookup via a dns whitelist.
        - DMARC: Allow configuration of disposition for failing mailing list messages
        - DMARC: Check whitelist before list detection

2.20180726 2018-07-26 16:30:40+01:00 Europe/London
        - Allow config file to be written in TOML
        - DMARC: Add policy decision factors in policy ptype entries
        - SMTP: Don't hold entire message in memory unless necessary
          Option to chunk message when passing to handlers
          Option to use spool file rather than using memory
        - SMTP: Count quarantined mail properly in metrics

2.20180612 2018-06-12 13:32:26+10:00 Australia/Melbourne
        - Bugfix: clear quarantine reason after use

2.20180608 2018-06-08 21:14:19+02:00 Europe/Berlin
        - ReturnOK: Rewrite Handler to handle multiple addresses properly
        - Core: Fix per-protocol-section timeouts
        - DKIM: Follow RFC 8301 security recommendations by default
        - Core: Improved the HTTP status page
        - DMARC: Correctly report DMARC policy when using ARC override
        - DMARC: Set the disposition more reliably
        - Core: methods to set defer/quarantine reasons
        - Core: set a header for quarantined mail
        - Sanitize: Add code to remove arbitrary headers
        - Milter: Experimental support for Quarantine action

2.20180526 2018-05-27 09:11:02+10:00 Australia/Melbourne
        - Removed experimental external callback stage hooks
        - Allow handlers to specify required BEFORE other handlers

2.20180525 2018-05-25 13:01:51+10:00 Australia/Melbourne
        - Add external callback hooks for stage callbacks
        - Add external callback hook for handler config
        - More timeout improvements
        - DKIM: switch extra properties to more standard properties
        - Minimum perl verion 5.10 required (Dependencies demand it)
        - Make ptype of TLS/PTR/SPF entries more correct

2.20180521 2018-05-21 14:33:46+10:00 Australia/Melbourne
        - Add method to manually check timeout status in Handlers
        - Switch to useconds internally for Handler timeouts
        - Fix test data on some BSD systems
        - DMARC: Option to pull values from a trusted ARC chain

2.20180511 2018-05-11 11:50:22+10:00 Australia/Melbourne
        - Return exception type correctly to caller

2.20180510 2018-05-10 14:58:08+10:00 Australia/Melbourne
        - Improve handling of timeouts

2.20180509 2018-05-09 15:19:12+10:00 Australia/Melbourne
        - Make sure timeout events are propigated correctly
        - Silence some warnings

2.20180430 2018-04-30 21:02:23+10:00 Australia/Melbourne
        - Allow folding of Authentication-Results header
        - Fix bug where handlers could receive emptystring instead of 0

2.20180329 2018-03-29 11:12:49+11:00 Australia/Melbourne
        - Updated config processor to be a generic external callback handler

2.20180328 2018-03-28 21:26:54+11:00 Australia/Melbourne
        - Add config option to process loaded config with a named Perl module

2.20180326 2018-03-26 13:09:14+11:00 Australia/Melbourne
        - Allow indent/fold style and depth to be configured
        - Build the internal AR header list using objects

2.20180318 2018-03-18 Australia/Melbourne
        - Allow remapping of IP address/HELO based on source IP address
        - Authentication-Results headers are now passed as objects internally
        - Added Mail::Milter::Authentication::Tester::HandlerTester to improve testing of handlers
        - Improved testing frameworks
        - Switched build framework to Dist::Zilla
        - Minimum Perl version is now 5.10 due to dependencies in Mail::DMARC
        - Improve output from tests when there are failures
        - Fix Best guess SPF mode

1.1.7   2017-12-21
        - Removed nasty recursion bug in header sorting
        - Updated DMARC policy reporting

1.1.6   2017-12-20
        - DMARC processing for all domains found in message headers
        - Avoid semicolon in DMARC result comment
        - Updated IPRev (and PTR) to follow CNAMEs
        - Added experimental "Best Guess SPF" option

1.1.5   2017-12-16
        - Added Mail::Milter::Authentication::Tester module to help with testing handlers
        - Report DMARC policy deviations

1.1.4   2017-10-19
        - Added a FromAlignment checker handler
        - Improvements in timeout handling
        - Added more metrics to the ReturkOK handler
        - Extra optional information in DKIM results

1.1.3   2017-10-01
        - Handler for capturing metrics on message size
        - Collect metrics for processing time in each handler/stage
        - Defer internal counting of metrics until after transaction
        - Generate grafana dashboard automatically for installed handlers
        - Allow metrics port to be unix socket
        - Tests for metrics system
        - New handler to gather metrics of the size of messages/headers processed
        - Make the IPRev handler rfc compliant
        - Add metrics for IPRev, PTR, and ReturnOK handlers
        - Stability fixes

1.1.2   2017-08-22
        - Fixed process management under SmartOS
        - Added post processing callback for adding headers (Required for future ARC handler)
        - Improve DNS mocking in tests by using Net::DNS::Resolver::Mock
        - Fix syslog for Debian 9
        - Add DKIM hash algorithm to metrics and AR comments
        - Parse headers for TLS information in SMTP protocol mode
        - Misc bugfixes

1.1.1   2017-04-14
        - Added metrics collection (prometheus)
        - Re-write address parsing code to avoid Email::Address::parse issues
        - SMTP Debugging modes added
        - Correctly handle From header with odd case in DMARC module
        - Added example metrics dashboard for Grafana
        - Metrics bugfixes
        - Improved test suite

1.1.0   2016-07-01
        - Allow email to be rejected by handlers
        - Option to reject DMARC p=reject failures
        - DMARC reject whitelist based on ip or dkim
        - Split X-Google-DKIM checks into own handler
        - DKIM DNS error handling improvements
        - Optionally hide Domainkeys results
        - Updates to improve operation when running as a postfix pre-queue filter
        - Do not drop connections when restarting
        - Better handling of multiple instances
        - Updated daemon control
        - Improved logging

1.0.1   2015-09-11
        - Removed unrequired error handling
        - Fixed some typos (sergeyromanov)
        - Allow relaxed JSON parsing in config

1.0.0   2015-08-22
        - Version bump to avoid confusion with old unreleased versions
        - Cleaned up CPANTS errors
        - Fixed inconsistent versions
        - Moved handler config docs into handlers
        - Fixed possible dependency loop when misconfigured
        - Improve logging to stderr when logtoerr is set

0.1.1   2015-08-05
        - Released to CPAN

0.1.0   2015-07-21
        - Catch warnings and report in log with context.
        - Skip DMARC reporting for specified addresses.

0.08    2015-02-23
        - Fixes header unwrapping issue
        - Allow DMARC reporting to be disabled
        - DMARC: preload the PSL where possible
        - Better SMTP pipeline handling

0.07    2015-02-02
        - Fix up some warning output.
        - Fixed edge case which caused false DKIM failures.
        - Allow use as an SMTP proxy based after queue filter.
        - More test casese added.
        - Allow listening on multiple ports.
        - Bug Fixes.

0.06    2015-01-13
        - First version, released on an unsuspecting world.