Best practice to update chatmail relay [also: releases vs. main branch]

I wonder why there’s no admin instruction on how to upgrade a chatmail relay safely. I found this post but from a DevOps perspective this is far from ideal. Let me explain why:

The last official release (1.9.0) is from December 2025. But following the official instructions you always clone the “bleeding edge” main branch from GitHub and never any of the releases. So what are the releases for then?

I see that there is constant development in the chatmail repository, which is really great. But I don’t think deploying a “work in progress” repository to my production server is a good idea. In this case the recommendation “Make sure you review the changelog for any changes that need action from you.” (from the linked post) would mean I have to check all commit messages and changes and “predict” if it’s a good idea to to a redeployment or not.

Are there any thoughts on whats best practice here?

I ask especially because I repeatedly experienced some kind of “edit race condition bug” where the edit of a message on one of my devices was only synced to e.g. the phone but not to another machine which was offline during the edit. So my idea was to update the chatmailrelay first before opening a bug report.

4 Likes

It would be really nice to have Debian stable releases of the package. Debian stable servers are popular because they get excellent security support and are extremely low-maintenance. This would fit really well with the design goals of the software. The disadvantage of Debian stable is that new features are only added every two years or so, but for a standards-based mailserver this should not be a big problem.

I’m not a developer but as the author of the linked post and relay operator, what I meant was not to check the git commit history, but rather the file seen at relay/CHANGELOG.md at main · chatmail/relay · GitHub

There is nothing wrong if you update only when a new release is out.

Sure, but from a relay operator perspective this sounds a bit strange to me.

Currently “new” relay operators who are following the official documentation are deploying the “bleeding edge main branch” to their servers and “existing” relay operators should only update when there’s a new release? Most likely all of us are not on a “point release” currently but on the main branch from the time when we (re)deployed the server.

Would really love to see some official guidelines on this. Not to prevent errors/problems in the first place (which I did not have till know – knocking on wood :wink:) but to ensure we as relay operators are offering a consistent and reliable service to our users.

2 Likes

Yeah, maybe at least in the docs a link to here would be good.

I was looking for it the other day as well just in case if the update process has changed or not.

1 Like

chatmail relay contributor here. i’ve been working on some docs as i’ve had time (which is not much lately). if you want to discuss further details, my dc link is here

the lack of newer pointed releases and an updated guide/docs has been a painpoint for a while. we’ve all been iterating fast and haven’t given this the attention it deserves.

from a practical stance, i’ve yet to have a bad deployment or regression from main branch. of course don’t take my word on it, but so far i’ve not really seen regressions.

reach out if you have some time.

1 Like