Skip to content

Releases

MailVigil 1.7.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 31 Oct 05:33
ff444c6

MailVigil 1.7.0 prints its Portuguese text with accents where the output can carry them.

  • --lang pt-BR now writes não, domínio and relatório instead of nao, dominio and relatorio.
  • Accents go to any UTF-8 stream, and to a console on Windows; a pipe or a file on Windows gets the same text without accents, letter for letter.
  • --json, the English text and the exit codes do not change.
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.7.0: CHANGELOG

MailVigil 1.6.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 31 Oct 04:25
a837e34

MailVigil 1.6.0 looks after several domains in one run.

  • One configuration file can hold several domains ([[domains]]), or repeat --domain: summary and verdict print one block per domain.
  • verdict exits with the worst answer (4, else 3, else 0); the reports are read once.
  • --json prints one envelope with a domains list; --html --output DIR writes one page per domain.
  • An internationalized domain can be written as it is read (bücher.example).
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.6.0: CHANGELOG

MailVigil 1.5.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 31 Oct 01:35
1887057

MailVigil 1.5.0 can name a sender by the SPF domain or the address range it sends from, not only by DKIM selector.

  • [spf] in the configuration file maps an SPF domain that passed under your domain to a service name.
  • [ips] maps an address range (IPv4 or IPv6) to a service name, and only counts on a record that also passed DKIM or SPF under your domain.
  • Senders and failing sources that are not recognized now list the SPF domains that passed, so you know what to write in [spf]; --json gains spf_domains (additive, same schema version).
  • A configuration file without the new tables loads exactly as before; an older MailVigil refuses a file that uses them.
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.5.0: CHANGELOG

MailVigil 1.4.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 31 Oct 00:41
3e0ae81

MailVigil 1.4.0 keeps the output small when a domain has a very long list of failing sources.

  • --top N keeps the first N entries of each long list in --json, and adds a top key saying how many entries were left out.
  • The verdict --html page now stops its senders table at 50 rows and says how many were not listed; --top N moves the stop.
  • Without --top, the JSON documents are the same as before, and the answer and exit code never depend on it.
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.4.0: CHANGELOG

MailVigil 1.3.1

Choose a tag to compare

@ryanvmorais ryanvmorais released this 30 Oct 23:13
bb88421

MailVigil 1.3.1 fixes a case where one damaged attachment could stop a whole run.

  • A zip attachment that is damaged inside an .eml or .mbox is now skipped as not_an_archive, listed with the other skipped files, and the reports around it are read as usual.
  • Nothing else changes: commands, options, exit codes and the JSON documents are the same as in 1.3.0.
  • Upgrade: pipx upgrade mailvigil, or uv tool upgrade mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Security advisory: GHSA-j72g-pr5x-vf6p

Full list of what is in 1.3.1: CHANGELOG

MailVigil 1.3.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 30 Oct 21:09
7770c61

MailVigil 1.3.0 makes mailvigil fetch easier to run from a scheduled job.

  • fetch --config FILE reads the mailbox host, user, port and folder from a [fetch] table, so a job stops repeating them; a flag still wins over the file.
  • fetch --json prints the six numbers of a finished run as one JSON document.
  • The password is never a configuration key: a password entry in the file is refused.
  • summary and verdict are unchanged, and so are their JSON documents and exit codes.
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.3.0: CHANGELOG

MailVigil 1.2.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 30 Oct 19:55
cdc7aea

Version 1.2.0 lets MailVigil find reports kept in subfolders and trust a private certificate authority when fetching mail.

  • --recursive on summary and verdict searches the subfolders of a folder, up to 8 levels deep
  • A report file skipped because of its name is now counted and shown as "passed over by name", in the text, the HTML page and --json (passed_over)
  • fetch --cafile FILE adds a private certificate authority to the system's; the certificate and the host name are still checked
  • Install or upgrade: pip install --upgrade mailvigil

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.2.0: CHANGELOG

MailVigil 1.1.2

Choose a tag to compare

@ryanvmorais ryanvmorais released this 30 Oct 18:15
273b9c0

Version 1.1.2 makes MailVigil refuse a report built to be expensive for its size.

  • A report nested more than 32 levels deep or holding more than 500,000 elements is skipped with the new reason xml_too_complex
  • Real reports are not affected: they have about six levels and stay far below the element limit
  • The reason shows up in the skipped files of the text output and of --json
  • Install or upgrade: pip install --upgrade mailvigil

The verdict is only as good as the reports it receives.

Full list of what is in 1.1.2: CHANGELOG

MailVigil 1.1.1

Choose a tag to compare

@ryanvmorais ryanvmorais released this 30 Oct 17:12
3023ba1

A small fix for mailvigil fetch: logins with characters outside ASCII now work.

  • fetch accepts a user name or password with accented or other non-ASCII characters, when the server offers AUTH=PLAIN.
  • A plain ASCII login works exactly as before, and a control character in the password is still refused.
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.1.1: CHANGELOG

MailVigil 1.1.0

Choose a tag to compare

@ryanvmorais ryanvmorais released this 30 Oct 16:26
19955f9

MailVigil 1.1.0 writes the HTML report to a file by itself and reads reports faster.

  • verdict --html --output FILE writes the page as ASCII, so it no longer depends on the shell (Windows PowerShell 5.1 turns > into UTF-16).
  • Faster reading of report files, with the same cleaning, refusals and output.
  • A new logo, in the HTML page and in both READMEs.
  • The README now also exists in Brazilian Portuguese (README.pt-BR.md).
  • Install: pipx install mailvigil, or uv tool install mailvigil.

The verdict is only as good as the reports it receives. What is public and stable (commands, exit codes, JSON, configuration) is in docs/stability.md.

Full list of what is in 1.1.0: CHANGELOG