Do you have pointers to such best practices? Gratefully received etc.
Only make additive changes, don't change existing fields. For enums it's up to the consumer to ensure they don't fail when a new case is added.
Be very careful with including data (especially time/expiry stuff) in the message too. If you need to reprocess the event several hours later then it may no longer work or be stale. Rather than include the data in the message itself, we would include the database ID and then have the consumer query for that entry.
Tldr: ok to add things. Not ok to remove things or change things