Skip to content

Latest commit

 

History

History
378 lines (244 loc) · 8.42 KB

CHANGELOG.rst

File metadata and controls

378 lines (244 loc) · 8.42 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.2.0] - 2024-10-15

Added

  • Official support for Python 3.13

Changed

  • Drop support for Python 3.8.

[1.1.1] - 2024-10-10

Fixed

  • Fix misspelled metric name (use dmarc_invalid_reports_total instead of dmaric_invalid_reports_total). (#50)

[1.1.0] - 2024-08-20

Added

  • Handle reports with MIME type application/octet-stream. (#48)

[1.0.0] - 2024-02-17

Added

  • Support for structured JSON logging. (#35)
  • Docker images will be published for linux/amd64 and linux/arm6 platforms. (#42)
  • Latest stable release will be tagged with latest tag on Docker Hub.

Changed

  • Logs are colored by default.
  • It is no longer possible to override the following keys in the logging configuration: version, incremental, formatters.
  • root.handlers will be set to ['default'] in the logging configuration if not provided explicitly.
  • The --debug argument will always take precedence for the root logger, no matter what might be configured in the logging configuration.

[0.11.0] - 2024-02-11

Added

  • dmarc_invalid_reports_total metric with a count of emails from which no DMARC report could be parsed.

Fixed

  • Correctly calculate compliant number and percentage in sample dashboard (use last non null value instead of mean over range). (#37)

[0.10.1] - 2024-01-07

Fixed

  • Add missing Python 3.12 classifier to package.

[0.10.0] - 2024-01-07

Added

  • Official support for Python 3.12.

Fixed

  • Prevent deadlock if IMAP connection terminates abnormally.

[0.9.4] - 2023-08-01

This release exclusively updates dependencies in use.

[0.9.3] - 2023-07-25

Fixed

  • Gracefully handle unknown properties within report XML. In particular, this should allow to process reports send by Google again, which was not working anymore starting June 2023.

[0.9.2] - 2023-06-30

Fixed

  • Fix issue with Microsoft Exchange not handling string length being split across multiple packages. (#36)

[0.9.1] - 2023-02-09

Fixed

  • Fix problems with large emails that would either cause the whole program to crash or prevent the processing of any new emails. This was solved by updating the bite-parser dependency to at least version 0.2.2. (#34, bite-parser v0.2.2)

[0.9.0] - 2023-01-12

Changed

  • Update bite-parser dependency to version 0.2.1 to get better error output.
  • Drop support for Python 3.7.

[0.8.1] - 2023-01-05

Fixed

  • With some IMAP servers emails were not correctly processed if the UID and RFC822 where returned in reverse order in the response. (#33)

[0.8.0] - 2022-12-11

Added

  • More logging when email are not processed and more debug logging on closing the IMAP connection.

Changed

  • The systemd unit provided as part of the Ansible role has been hardened.

Fixed

  • Correctly handle logout timeout when closing IMAP connection. Previously, a timeout during logout would have aborted the process of closing the connection.

[0.7.0] - 2022-11-06

Added

  • Officially declare Python 3.11 support.
  • Added the dmarc_metrics_exporter_build_info metric which contains version information in its labels.

Changed

  • Renamed Ansible role dmarc-metrics-exporter to dmarc_metrics_exporter [as - is no longer allowed in role names](https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names).
  • dmarc_metrics_exporter_virtualenv_path variable has been added
  • The Ansible role no longer creates a system user. Instead the systemd "DynamicUser" feature is used.
  • Add the imap_use_ssl and imap_verify_certificate variables to the Ansible role.

[0.6.2] - 2022-09-24

Fixed

  • More robust handling of IMAP fetch responses including unknown fields. (#29)

[0.6.1] - 2022-07-17

Fixed

  • The polling of the IMAP mailbox was broken since presumably version 0.5 and should be fixed now.

[0.6.0] - 2022-06-11

Added

  • dmarc-metrics-exporter script to allow invocation without the python -m syntax.

Fixed

  • Allow installation with Python 3.10.
  • Use poetry-core as build system to allow installations with fetching fewer Poetry dependencies.

[0.5.1] - 2022-02-09

Added

  • Officially declare Python 3.10 support.

[0.5.0] - 2022-02-09

Added

Fixed

  • Parse IMAP fetch responses properly to support a wider range of IMAP servers. (#17)

[0.4.3] - 2022-01-25

Fixed

  • Improve compatibility with different IMAP servers. (#17)

[0.4.2] - 2022-01-01

Fixed

  • Make detection of required folders more robust. Fixes issues with Office365. (#15, #16)

[0.4.1] - 2021-11-13

Fixed

  • Fixed the changelog markup so that it renders correctly.
  • Fixes of the deployment pipelines.

[0.4.0] - 2021-11-13

Changed

  • The metrics_db configuration option has been replaced with the storage_path configuration option. To migrate your existing setup:

    1. Ensure that your metrics_db file is called metrics.db.
    2. Ensure that the directory containing the metrics.db file is writable by the dmarc-metrics-exporter.
    1. Remove the metrics_db setting from the configuration file.
    2. Add a new storage_path setting pointing to the directory containing the metrics.db file.
  • Disabled the access log. It clutters the log output with barely relevant messages (there is only a single page being served and it will be polled regularly by Prometheus).

Added

  • Support for reports sent in gzip format.
  • A log message will be produced for emails from which no report could be extracted.
  • Duplicate reports will now only be counted once. The duration for which report IDs are stored to detect duplicates can be configured with the deduplication_max_seconds configuration setting. The default is one week.
  • Added a Dockerfile to the repository to build a Docker image with dmarc-metrics-exporter. Images for official releases will be published on Docker Hub.
  • Support for Python 3.9.

[0.3.0] - 2021-03-01

Changed

  • Change default port to 9797 which does to collide with other Prometheus exporter.

[0.2.3] - 2021-01-11

Fixed

  • Change the repository link to the correct repository (e.g. on PyPI)

[0.2.2] - 2020-12-31

Added

  • Ansible role for deployment.

[0.2.1] - 2020-12-31

Initial release.