Apache HttpClient 4.0 goes GA
The Apache HttpComponents developers have announced the first stable, general availability version of HttpClient 4.0. HttpClient provides a robust library for allowing Java based applications to use the HTTP protocol and allows more control over connections than the standard Java API for HTTP. The new release is described as a complete, ground-up redesign and an almost complete rewrite of HttpClient 3.0. The redesign was driven by a need to address design flaws that have existed since the first 1.0 release of the library. However this does mean that API compatibility with the previous versions has been broken. HttpClient 4.0 is also not binary compatible with it's own beta version, after some changes in variable protection were made to improve thread safety.
The redesigned HttpClient 4.0 code is more modular, with better performance and a smaller memory footprint. Other enhancements include improved connection management, support for stateful connections, pluggable redirect and authentication handlers and more flexible SSL customisation. The developers do note that currently HttpClient 4.0 does not support NTLM authentication, although this is said to be for "legal rather than technical" reasons. Full release notes are available, and the Apache 2 licensed source is available to download.