[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-announce
Subject:    [ANNOUNCEMENT] HttpComponents HttpClient 4.0 (GA) release
From:       Oleg Kalnichevski <olegk () apache ! org>
Date:       2009-08-13 12:26:22
Message-ID: 20090813122622.GA32010 () ok2cons2 ! nine ! ch
[Download RAW message or body]

The HttpComponents project is pleased to announce the first stable (GA)
release of Apache HttpClient 4.0

HttpClient 4.0 represents a complete, ground-up redesign and almost a
complete rewrite of the HttpClient 3.x codeline. This release finally
addresses several design flaws that existed since the 1.0 release and
could not be fixed without a major code overhaul and breaking API
compatibility.


Architectural changes
---------------------

* Redesign of the HttpClient internals addressing all known major
architectural shortcomings of the 3.x codeline.

* Cleaner, more flexible and expressive API.

* More modular structure.

* Better performance and smaller memory footprint due to a more
efficient HTTP transport based on HttpCore. 

* Implementation of cross-cutting HTTP protocol aspects through protocol
interceptors.

* Improved connection management, better handling of persistent
connections, support for stateful connections

* Pluggable redirect and authentication handlers.   

* Improved support for sending requests via a proxy or a chain of
proxies 

* More flexible SSL context customization 

* Reduced intermediate garbage in the process of generating HTTP
requests and parsing HTTP responses 

All upstream projects are strongly encouraged to upgrade.


Important notes
-------------------

* Future releases of HttpMime module may be binary incompatible with
this release due to possible API changes in Apache Mime4J. Apache Mime4J
is still being actively developed and its API is considered unstable.
  
* HttpClient 4.0 is not fully binary compatible with 4.0 BETA1 release.
Some protected variables in connection management class have been made
final in order to help ensure their thread safety: 

org.apache.http.conn.BasicEofSensorWatcher#attemptReuse
org.apache.http.conn.BasicEofSensorWatcher#managedConn
org.apache.http.impl.conn.DefaultClientConnectionOperator#schemeRegistry
org.apache.http.impl.conn.DefaultHttpRoutePlanner#schemeRegistry
org.apache.http.impl.conn.ProxySelectorRoutePlanner#schemeRegistry
org.apache.http.impl.conn.SingleClientConnManager#alwaysShutDown
org.apache.http.impl.conn.SingleClientConnManager#connOperator
org.apache.http.impl.conn.SingleClientConnManager#schemeRegistry
org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager#connOperator
org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager#schemeRegistry

-------------------
Download -
<http://hc.apache.org/downloads.cgi>

Release notes -
<http://www.apache.org/dist/httpcomponents/httpclient/RELEASE_NOTES.txt>

HttpComponents site -
<http://hc.apache.org/>

Please note HttpClient 4.0 currently provides only limited support for
NTLM authentication. For details please refer to
<http://hc.apache.org/httpcomponents-client/ntlm.html>
-------------------

About Apache HttpClient

Although the java.net package provides basic functionality for accessing
resources via HTTP, it doesn't provide the full flexibility or
functionality needed by many applications. HttpClient seeks to fill this
void by providing an efficient, up-to-date, and feature-rich package
implementing the client side of the most recent HTTP standards and
recommendations.

Designed for extension while providing robust support for the base HTTP
protocol, HttpClient may be of interest to anyone building HTTP-aware
client applications such as web browsers, web service clients, or
systems that leverage or extend the HTTP protocol for distributed
communication.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic