Hi Vincent, On Fri, Mar 19, 2021 at 11:50:24PM +0100, Vincent Bernat wrote: > ? 19 mars 2021 17:34 +01, Christopher Faulet: > > > HAProxy 1.6.16 was released on 2021/03/19. It added 71 new commits > > after version 1.6.15. > > 1.6 was EOL last year, I don't understand why there is a last release.
There were some demands late last year and early this year to issue a last one with pending fixes to "flush the pipe" but it was terribly difficult to find enough time to go through the whole chain with the other nasty bugs that kept us busy. > Both 1.6 and 1.7 are marked for critical fixes but many fixes are pushed > in it. The risk is to introduce a late regression in this last version. There's always such a risk when doing backports unfortunately and it's always difficult to set the boundary between what is needed and what not. A lot of the issues I'm seeing there are crash-related, and others address not-so-funny recent changes in compilers behaviors leading to bad code generation. There are also some that were possibly not strictly necessary, but then they're obvious fixes (like the one on the timer that's incorrectly compared), and whose possible consequences are not always trivial to imagine (such as checks looping at 100% CPU every 24 days maybe depending on the tick's sign). Ideally, with enough time, older versions should be released a bit more often, but we also know that reality doesn't always match the ideal case, and that old versions are rarely upgraded in field :-/ But with this in mind, there were two options: - not releasing the latest fixes, leaving those on 1.6.15 facing occasional issues with their issues ; - releasing 1.6.16 with all latest fixes to grant a bit more time to 1.6.15 users to migrate, knowing that in case of a regression there, they could roll back to 1.6.15 and finish exactly in the same situation as #1 above. As such I think it's always preferable to publish the available fixes because in the best case it helps those facing issues, and in the worst case the situation remains exactly the same in case of regression. Last point, a final version also allows to update the version string to mention that it's the last version (this entry didn't exist in 1.6 but it seems to have helped with 1.9 as we're not seeing reports anymore). It's important when the production management is share between several persons (typically a contractor is in charge of some updates). It then helps those less aware of maintenance cycles to figure that they're using something outdated. With this said, maybe you or anyone else has better suggestions to propose for old versions that we could try for 1.7 and then 1.8. This is a tough job and good ideas are always welcome especially if they result in less effort and better quality. Cheers, Willy