Hello, OK they're both released today : 1.3.21 and 1.4-dev4
1.3.21 contains all the minor fixes and improvements I talked about last week, plus a few ACLs that were missing (ability to match on a backend's queue length). I'd like it if distro maintainers would update to 1.3.21, as some of them are still in 1.3.19 which contains the bug that can cause a crash on missing timeout. Also, given we have not fixed a single major bug between .20 and .21, I think it proves that we have reached a high level of stability and newer 1.3 versions should become rare. Even 1.4 remains very stable, which is nice, considering the amount of changes it has received. I think that the internal architecture changes have helped a lot to get rid of many tricks that were needed to get something to work in old versions. 1.4-dev4 has received some eye-candy updates to the stats page, mostly coming from Krzysztof. Precise server health status is now reported there, which can be very convenient for finding why a server is seen as down. Stats can be reported per listening socket, which is very convenient when you have multiple ISP accesses and are able to create one "bind" line for each of them. Take a look at the demo page, I have splitted IPv4 and IPv6 for instance. Also, we now have the ability to clear the stats without restarting, as well as to change a server's weight live without restarting (which includes setting its weight to zero to disable it). Another change concerns the load-balancing algorithms. They have been reorganized and a new hasing method was implemented : consistent hashing[1]. This was already discussed several months ago, but I was against it since it would cost a lot of CPU. I finally found how to implement it with trees so that it's cheap. The advantage of this hashing method is that you can add or remove servers with limited redistribution. This is mainly used for caches, where we don't want a cache failure to suddenly redistribute all the objects to caches which don't have them. The hash is not as smooth as the old one, but still not bad at all. The hashing method can be selected using the new "hash-type" keyword. This rework was the opportunity to reintroduce the old static round-robin algorithm, which has the advantage over the dynamic one to support more than 4000 servers (I know some people already have close to 1000 servers in a single backend). Next development version should focus a bit on QoS and on improved detection of failures. As usual, sources, doc and binaries for 1.3 are available here : http://haproxy.1wt.eu/download/1.3/ And sources for 1.4 are available here : http://haproxy.1wt.eu/download/1.4/ Happy update, Willy [1] http://www.spiteful.com/2008/03/17/programmers-toolbox-part-3-consistent-hashing/

