Skip to content

Version 2.0.0

Compare
Choose a tag to compare
@ChaoticByte ChaoticByte released this 12 Jun 18:56
· 2 commits to main since this release
2.0.0
30bf793

✨ Highlights

⚠️ Changed config file structure for recipients and filters ⚠️

This is a breaking change.

Before, you had to define filters for every single recipient. Now you define lists with as many recipients as you like, and apply the filters per list.

Old config example:

  "recipients": [
    {
      "address": "guenther@example.org",
      "include": [
        {"classification": "kritisch"},
        {"title_contains": "Microsoft"}
      ]
    }
  ],

New config example:

  "lists": [
    {
      "name": "Example List",
      "recipients": ["someone@example.org", "anotherone@example.org"],
      "filter": [
        {"classification": "kritisch"},
        {"title_contains": "Microsoft"}
      ]
    }
  ],

Email encoding

Switched from base64-based encoding to Q-Encoding (RFC2047) for the Subject line and Quoted-Printable Encoding (RFC2045) for the email body.

CLI

There is now a -h/--help and --version flag.

The usual

Update to Go 1.24, a little bit of code cleanup, optimizations and a little bug fix :)

📋 Changelog

  • 30bf793 Encode mail subject as rfc2047 Q-Encoding and body as rfc2045 Quoted-Printable Encoding
  • 9b00959 Improve memory efficiency of noticesToBeSent by mapping pointers instead of WidNotice structs
  • 295ceec Improve config file structure by combining multiple recipients into lists (breaking)
  • ef24503 fix: don't save last published timestamp when email sending fails, so they can be sent in the next iteration
  • 2e1aee0 Parse -h, --help and --version and show help, version
  • b3290c3 Update to go 1.24, small code cleanup