Sean Whalen
42ae29eaae
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-10 12:21:07 -04:00
Sean Whalen
7929919223
9.2.0
...
### Added
- OpenSearch AWS SigV4 authentication support (PR #673 )
- IMAP move/delete compatibility fallbacks (PR #671 )
- `fail_on_output_error` CLI option for sink failures (PR #672 )
- Gmail service account auth mode for non-interactive runs (PR #676 )
- Microsoft Graph certificate authentication support (PRs #692 and #693 )
- Microsoft Graph well-known folder fallback for root listing failures (PR #618 and #684 close #609 )
### Fixed
- Pass mailbox since filter through `watch_inbox` callback (PR #670 closes issue #581 )
- `parsedmarc.mail.gmail.GmailConnection.delete_message` now properly calls the Gmail API (PR #668 )
- Avoid extra mailbox fetch in batch and test mode (PR #691 closes #533 )
9.2.0
2026-03-10 11:41:37 -04:00
Kili
faa68333a9
Avoid extra mailbox fetch in batch/test mode and add regression test ( #691 )
...
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
2026-03-10 11:22:39 -04:00
Kili
d34a33e980
Validate MS Graph certificate auth inputs ( #693 )
...
* Validate MS Graph certificate auth inputs
* Fix MS Graph shared scope detection without username
2026-03-10 11:22:09 -04:00
Kili
9040a38842
Refine MS Graph well-known folder fallback ( #694 )
...
* Refine MS Graph well-known folder fallback
* Make MS Graph retry test doubles method-aware
2026-03-10 11:20:43 -04:00
Kili
ea0e3b11c1
Add MS Graph certificate authentication support ( #692 )
...
* Add MS Graph certificate authentication support
* Preserve MS Graph constructor compatibility
---------
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
2026-03-10 09:30:39 -04:00
Kili
199b782191
Add MS Graph well-known folder fallback for root listing failures ( #689 )
...
* Add MS Graph well-known folder fallback for root listing failures
* Resolve test merge cleanup for MS Graph folder fallback
2026-03-10 09:25:37 -04:00
Kili
25f3c3e1d0
Add security policy ( #688 )
...
* Add security policy
* Update SECURITY.md for vulnerability reporting clarity
Clarified instructions for reporting vulnerabilities and updated language regarding security fixes.
---------
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
2026-03-09 18:24:16 -04:00
Kili
a14ff66f5a
Add GitHub issue templates ( #686 )
2026-03-09 18:17:06 -04:00
Kili
fb738bf9c4
Add contributing guide ( #685 )
2026-03-09 18:16:47 -04:00
Kili
0e811fe0ff
Add pull request template ( #687 )
2026-03-09 18:15:40 -04:00
Kili
56eb565ad2
Accept pathlib.Path in report parsing APIs ( #680 )
...
* Accept pathlib.Path in report parsing APIs
* Polish PathLike typing and test names
2026-03-09 18:08:57 -04:00
copilot-swe-agent[bot]
a12fe811d0
Fix test failures after merge: update mock return dict keys from forensic_reports to failure_reports
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-09 21:59:59 +00:00
Kili
2c3abb3e8c
Retry transient MS Graph request errors ( #679 )
...
* Retry transient MS Graph request errors
* Handle zero MS Graph retry attempts explicitly
2026-03-09 17:56:22 -04:00
Sean Whalen
e77ceb30c7
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-09 17:49:02 -04:00
Kili
326e630f50
Add performance tuning guidance for large mailbox runs ( #677 )
2026-03-09 17:44:42 -04:00
Kili
cdc30e6780
Tune Codecov statuses for small PRs ( #678 )
2026-03-09 17:43:34 -04:00
copilot-swe-agent[bot]
fce8e2247b
Fix ruff formatting errors, duplicate import, and test mock key names
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-09 21:40:28 +00:00
Kili
f2febf21d3
Add fail_on_output_error CLI option for sink failures ( #672 )
...
* Add fail-on-output-error option and CLI regression test
* Broaden fail_on_output_error coverage for disabled and multi-sink paths
2026-03-09 17:35:38 -04:00
Kili
79f47121a4
Pass mailbox since filter through watch_inbox callback ( #670 )
...
* Pass mailbox since through watch loop and add regression test
* Add CLI regression test for mailbox since in watch mode
2026-03-09 17:33:42 -04:00
Kili
6e6c90e19b
Add IMAP move/delete compatibility fallbacks ( #671 )
...
* Add IMAP move/delete compatibility fallbacks with tests
* Expand IMAP fallback tests for success and error paths
2026-03-09 17:29:01 -04:00
Kili
c4d7455839
Add OpenSearch AWS SigV4 authentication support ( #673 )
...
* Add OpenSearch AWS SigV4 authentication support
* Increase SigV4 coverage for auth validation and CLI config wiring
* Update parsedmarc/opensearch.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update docs/source/usage.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-09 17:21:22 -04:00
Sean Whalen
b4b90e763d
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-09 17:20:20 -04:00
Kili
95e6fb85a1
Fix Gmail delete_message to execute API request ( #668 )
...
* Fix Gmail delete to execute request and add regression test
* Fix duplicate GmailConnection import in tests
2026-03-09 17:11:35 -04:00
Kili
298d5b6e6e
CI: split lint/docs/build from integration tests matrix ( #669 )
...
* Optimize CI: split lint/docs/build from integration tests
* Trim unnecessary package install from lint job
2026-03-09 17:09:02 -04:00
Kili
a3c5bb906b
Add Gmail service account auth mode with delegated user support ( #676 )
2026-03-09 17:04:30 -04:00
Sean Whalen
73716fa671
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-09 17:02:36 -04:00
Kili
d49ce6a13f
Increase unit test coverage for Gmail/Graph/IMAP connectors ( #664 )
...
* Increase coverage for Gmail, Graph, and IMAP mail connectors
* Make testLoadTokenMissing use guaranteed-missing temp path
* Expand coverage for Gmail token refresh and Graph pagination error paths
2026-03-09 11:54:43 -04:00
Sean Whalen
adb0d31382
9.1.2
...
- Fix duplicate detection for normalized aggregate reports in Elasticsearch/OpenSearch (PR #666 fixes issue #665 )
9.1.2
2026-03-06 13:41:33 -05:00
Copilot
ae5d20ecf5
Fix duplicate detection for normalized aggregate reports in Elasticsearch/OpenSearch ( #666 )
...
Change date_begin/date_end queries from exact match to range queries
(gte/lte) so that previously saved normalized time buckets are correctly
detected as duplicates within the original report's date range.
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-06 13:21:54 -05:00
Kili
e98fdfa96b
Fix Python 3.14 support metadata and require imapclient 3.1.0 ( #662 )
2026-03-04 12:36:15 -05:00
copilot-swe-agent[bot]
aea6c101d7
Rename samples/forensic→samples/failure; remove 'DMARC 2.0' references
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-04 02:19:35 +00:00
copilot-swe-agent[bot]
72fb0d402e
Update AGENTS.md to reflect forensic→failure rename and DMARCbis support
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-04 02:08:32 +00:00
Sean Whalen
4b6a398484
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-03 21:03:57 -05:00
Sean Whalen
9551c8b467
Add AGENTS.md for AI agent guidance and link from CLAUDE.md
2026-03-03 21:00:55 -05:00
Sean Whalen
d987943c22
Update changelog formatting for version 9.1.1
9.1.1
2026-03-03 11:46:13 -05:00
Sean Whalen
3d8a99b5d3
9.1.1
...
- Fix the use of Elasticsearch and OpenSearch API keys (PR #660 fixes issue #653 )
- Drop support for Python 3.9 (PR #661 )
2026-03-03 11:43:53 -05:00
Majid Burney
5aaaedf463
Use correct key names for elasticsearch/opensearch api keys ( #660 )
2026-03-03 11:35:05 -05:00
Copilot
2e3ee25ec9
Drop Python 3.9 support ( #661 )
...
* Initial plan
* Drop Python 3.9 support: update CI matrix, pyproject.toml, docs, and README
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
* Update Python 3.9 version table entry to note Debian 11/RHEL 9 usage
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-03 11:34:35 -05:00
copilot-swe-agent[bot]
01c2e623bb
Improve tests: consolidate imports, use context managers, add subTest, add backward compat and coverage tests
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-21 19:56:33 +00:00
copilot-swe-agent[bot]
68ccb0eb35
Add 89 comprehensive tests covering core parsing and utilities
...
Tests cover:
- _bucket_interval_by_day: all validation branches and distribution logic
- _append_parsed_record: normalize=True/False paths
- _parse_report_record: None source_ip, missing auth results, reason handling,
identities/identifiers mapping, human_result, envelope_from fallback, alignment
- _parse_smtp_tls_failure_details: required/optional fields, missing field errors
- _parse_smtp_tls_report_policy: valid/invalid types, policy_strings, failure details
- parse_smtp_tls_report_json: valid/bytes/missing fields/non-list policies
- Aggregate report: invalid np/testing/discovery_method, pass disposition,
multiple records, XML recovery, schema versions, generator, errors, defaults,
normalization, MAGIC_XML_TAG detection
- utils: timestamp conversions, IP geo lookup, reverse DNS service lookup,
IP address info with cache, email address parsing, filename safe strings,
mbox/outlook msg detection
- Output modules: WebhookClient, KafkaClient static methods, HECClient,
SyslogClient, LogAnalyticsConfig/Client, backward-compatible aliases
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-21 19:39:16 +00:00
Sean Whalen
696aa34b77
Update parsedmarc/types.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-21 14:24:23 -05:00
Sean Whalen
e462d16f16
Update changelog to clarify DMARCbis field defaults and remove pct/fo defaults
2026-02-21 18:53:11 +00:00
copilot-swe-agent[bot]
bb4be6e609
Make pct and fo default to None when not provided (DMARCbis reports)
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-21 18:50:37 +00:00
Sean Whalen
d9d4c23066
Fix typo in changelog regarding RFC7489 compatibility
2026-02-21 18:38:33 +00:00
Sean Whalen
c7aa976cf9
Fix np field
2026-02-21 18:28:01 +00:00
Sean Whalen
af4a78f944
Move np field
2026-02-21 18:24:34 +00:00
Sean Whalen
c904dfc24f
Move 'np' field in the CSV export of parsed aggregate reports
2026-02-21 18:22:15 +00:00
Sean Whalen
a327408cb5
Update changelog for DMARCbis report support and rename forensic reports to failure reports; bump version to 10.0.0
2026-02-21 18:02:16 +00:00
copilot-swe-agent[bot]
970a2008d5
Fix ruff F401: use redundant alias for re-exported ForensicReport
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-21 17:38:39 +00:00