go-messages GenerateMessageID does generate the Message ID based on the
hostname of the local machine. This is ok in this context because the
lib does not know really anything of the surroundings. But aerc does
know about the sender domain and could use this instead of the hostname.
This also aligns with the recommendation of RFC4322 to use a unique
domain name, to ensure the uniqueness of the whole Message ID .
I don't think it will break anything. I just ran an experiment against
the tip of aerc:
$ go mod edit -replace github.com/emersion/go-message=github.com/emersion/go-message@latest
$ go mod tidy
Builds fine and starts right up.
Even if the latest version of go-message did have a breaking API, it is
still worth discussing the possibility of upgrading dependencies to get
security improvements in addition to any performance enhancements or
fancy new features that may be useful.