[RELEASE] Released version 1.4-dev5

Released version 1.4-dev5 with the following main changes :
    - [MINOR] server tracking: don't care about the tracked server's mode
    - [MEDIUM] appsession: add "len", "prefix" and "mode" options
    - [MEDIUM] appsession: add the "request-learn" option
    - [BUG] Configuration parser bug when escaping characters
    - [MINOR] CSS & HTML fun
    - [MINOR] Collect & provide http response codes received from servers
    - [BUG] Fix silly typo: hspr_other -> hrsp_other
    - [MINOR] Add "a name" to stats page
    - [MINOR] add additional "a href"s to stats page
    - [MINOR] Collect & provide http response codes for frontends, fix backends
    - [DOC] some small spell fixes and unifications
    - [MEDIUM] Decrease server health based on http responses / events, version 3
    - [BUG] format '%d' expects type 'int', but argument 5 has type 'long int'
    - [BUG] config: fix erroneous check on cookie domain names, again
    - [BUG] Healthchecks: get a proper error code if connection cannot be completed immediately
    - [DOC] trivial fix for man page
    - [MINOR] config: report all supported options for the "bind" keyword
    - [MINOR] tcp: add support for the defer_accept bind option
    - [MINOR] unix socket: report the socket path in case of bind error
    - [CONTRIB] halog: support searching by response time
    - [DOC] add a reminder about obsolete documents
    - [DOC] point to 1.4 doc, not 1.3
    - [DOC] option tcp-smart-connect was missing from index
    - [MINOR] http: detect connection: close earlier
    - [CLEANUP] sepoll: clean up the fd_clr/fd_set functions
    - [OPTIM] move some rarely used fields out of fdtab
    - [MEDIUM] fd: merge fd_list into fdtab
    - [MAJOR] buffer: flag BF_DONT_READ to disable reads when not required
    - [MINOR] http: add new transaction flags for keep-alive and content-length
    - [MEDIUM] http request: parse connection, content-length and transfer-encoding
    - [MINOR] http request: update the TX_SRV_CONN_KA flag on rewrite
    - [MINOR] http request: simplify the test of no-data
    - [MEDIUM] http request: simplify POST length detection
    - [MEDIUM] http request: make use of pre-parsed transfer-encoding header
    - [MAJOR] http: create the analyser which waits for a response
    - [MINOR] http: pre-set the persistent flags in the transaction
    - [MEDIUM] http response: check body length and set transaction flags
    - [MINOR] http response: update the TX_CLI_CONN_KA flag on rewrite
    - [MINOR] http: remove the last call to stream_int_return
    - [IMPORT] import ebtree v5.0 into directory ebtree/
    - [MEDIUM] build: switch ebtree users to use new ebtree version
    - [CLEANUP] ebtree: remove old unused files
    - [BUG] definitely fix regparm issues between haproxy core and ebtree
    - [CLEANUP] ebtree: cast to char * to get rid of gcc warning
    - [BUILD] missing #ifndef in ebmbtree.h
    - [BUILD] missing #ifndef in ebsttree.h
    - [MINOR] tools: add hex2i() function to convert hex char to int
    - [MINOR] http: create new MSG_BODY sub-states
    - [BUG] stream_sock: BUF_INFINITE_FORWARD broke splice on 64-bit platforms
    - [DOC] option is "defer-accept", not "defer_accept"
    - [MINOR] http: keep pointer to beginning of data
    - [BUG] x-original-to: name was not set in default instance
    - [MINOR] http: detect tunnel mode and set it in the session
    - [BUG] config: fix error message when config file is not found
    - [BUG] config: fix wrong handling of too large argument count
    - [BUG] config: disable 'option httplog' on TCP proxies
    - [BUG] config: fix erroneous check on cookie domain names
    - [BUG] config: cookie domain was ignored in defaults sections
    - [MINOR] config: support passing multiple "domain" statements to cookies
    - [MINOR] ebtree: add functions to lookup non-null terminated strings
    - [MINOR] config: don't report error on all subsequent files on failure
    - [BUG] second fix for the printf format warning
    - [BUG] check_post: limit analysis to the buffer length
    - [MEDIUM] http: process request body in a specific analyser
    - [MEDIUM] backend: remove HTTP POST parsing from get_server_ph_post()
    - [MAJOR] http: completely process the "connection" header
    - [MINOR] http: only consider chunk encoding with HTTP/1.1
    - [MAJOR] buffers: automatically compute the maximum buffer length
    - [MINOR] http: move the http transaction init/cleanup code to proto_http
    - [MINOR] http: move 1xx handling earlier to eliminate a lot of ifs
    - [MINOR] http: introduce a new synchronisation state : HTTP_MSG_DONE
    - [MEDIUM] http: rework chunk-size parser
    - [MEDIUM] http: add a new transaction flags indicating if we know the transfer length
    - [MINOR] buffers: add buffer_ignore() to skip some bytes
    - [BUG] http: offsets are relative to the buffer, not to ->som
    - [MEDIUM] http: automatically re-aling request buffer
    - [BUG] http: body parsing must consider the start of message
    - [MINOR] new function stream_int_cond_close()
    - [MAJOR] http: implement body parser
    - [BUG] http: typos on several unlikely() around header insertion
    - [BUG] stream_sock: wrong max computation on recv
    - [MEDIUM] http: rework the buffer alignment logic
    - [BUG] buffers: wrong size calculation for displaced data
    - [MINOR] stream_sock: prepare for closing when all pending data are sent
    - [MEDIUM] http: add two more states for the closing period
    - [MEDIUM] http: properly handle "option forceclose"
    - [MINOR] stream_sock: add SI_FL_NOLINGER for faster close
    - [MEDIUM] http: make forceclose use SI_FL_NOLINGER
    - [MEDIUM] session: set SI_FL_NOLINGER when aborting on write timeouts
    - [MEDIUM] http: add some SI_FL_NOLINGER around server errors
    - [MINOR] config: option forceclose is valid in frontends too
    - [BUILD] halog: insufficient include path in makefile
    - [MEDIUM] http: make the analyser not rely on msg being initialized anymore
    - [MEDIUM] http: make the parsers able to wait for a buffer flush
    - [MAJOR] http: add support for option http-server-close
    - [BUG] http: ensure we abort data transfer on write error
    - [BUG] last fix was overzealous and disabled server-close
    - [BUG] http: fix erroneous trailers size computation
    - [MINOR] stream_sock: enable MSG_MORE when forwarding finite amount of data
    - [OPTIM] http: set MSG_MORE on response when a pipelined request is pending
    - [BUG] http: redirects were broken by chunk changes
    - [BUG] http: the request URI pointer is relative to the buffer
    - [OPTIM] http: don't immediately enable reading on request
    - [MINOR] http: move redirect messages to HTTP/1.1 with a content-length
    - [BUG] http: take care of errors, timeouts and aborts during the data phase
    - [MINOR] http: don't wait for sending requests to the server
    - [MINOR] http: make the conditional redirect support keep-alive
    - [BUG] http: fix cookie parser to support spaces and commas in values
    - [MINOR] config: some options were missing for "redirect"
    - [MINOR] redirect: add support for unconditional rules
    - [MINOR] config: centralize proxy struct initialization
    - [MEDIUM] config: remove the limitation of 10 reqadd/rspadd statements
    - [MEDIUM] config: remove the limitation of 10 config files
    - [CLEANUP] http: remove a remaining impossible condition
    - [OPTIM] http: optimize a bit the construct of the forward loops
diff --git a/CHANGELOG b/CHANGELOG
index bd5937d..2f353a0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,123 @@
 ChangeLog :
 ===========
 
+2010/01/03 : 1.4-dev5
+    - [MINOR] server tracking: don't care about the tracked server's mode
+    - [MEDIUM] appsession: add "len", "prefix" and "mode" options
+    - [MEDIUM] appsession: add the "request-learn" option
+    - [BUG] Configuration parser bug when escaping characters
+    - [MINOR] CSS & HTML fun
+    - [MINOR] Collect & provide http response codes received from servers
+    - [BUG] Fix silly typo: hspr_other -> hrsp_other
+    - [MINOR] Add "a name" to stats page
+    - [MINOR] add additional "a href"s to stats page
+    - [MINOR] Collect & provide http response codes for frontends, fix backends
+    - [DOC] some small spell fixes and unifications
+    - [MEDIUM] Decrease server health based on http responses / events, version 3
+    - [BUG] format '%d' expects type 'int', but argument 5 has type 'long int'
+    - [BUG] config: fix erroneous check on cookie domain names, again
+    - [BUG] Healthchecks: get a proper error code if connection cannot be completed immediately
+    - [DOC] trivial fix for man page
+    - [MINOR] config: report all supported options for the "bind" keyword
+    - [MINOR] tcp: add support for the defer_accept bind option
+    - [MINOR] unix socket: report the socket path in case of bind error
+    - [CONTRIB] halog: support searching by response time
+    - [DOC] add a reminder about obsolete documents
+    - [DOC] point to 1.4 doc, not 1.3
+    - [DOC] option tcp-smart-connect was missing from index
+    - [MINOR] http: detect connection: close earlier
+    - [CLEANUP] sepoll: clean up the fd_clr/fd_set functions
+    - [OPTIM] move some rarely used fields out of fdtab
+    - [MEDIUM] fd: merge fd_list into fdtab
+    - [MAJOR] buffer: flag BF_DONT_READ to disable reads when not required
+    - [MINOR] http: add new transaction flags for keep-alive and content-length
+    - [MEDIUM] http request: parse connection, content-length and transfer-encoding
+    - [MINOR] http request: update the TX_SRV_CONN_KA flag on rewrite
+    - [MINOR] http request: simplify the test of no-data
+    - [MEDIUM] http request: simplify POST length detection
+    - [MEDIUM] http request: make use of pre-parsed transfer-encoding header
+    - [MAJOR] http: create the analyser which waits for a response
+    - [MINOR] http: pre-set the persistent flags in the transaction
+    - [MEDIUM] http response: check body length and set transaction flags
+    - [MINOR] http response: update the TX_CLI_CONN_KA flag on rewrite
+    - [MINOR] http: remove the last call to stream_int_return
+    - [IMPORT] import ebtree v5.0 into directory ebtree/
+    - [MEDIUM] build: switch ebtree users to use new ebtree version
+    - [CLEANUP] ebtree: remove old unused files
+    - [BUG] definitely fix regparm issues between haproxy core and ebtree
+    - [CLEANUP] ebtree: cast to char * to get rid of gcc warning
+    - [BUILD] missing #ifndef in ebmbtree.h
+    - [BUILD] missing #ifndef in ebsttree.h
+    - [MINOR] tools: add hex2i() function to convert hex char to int
+    - [MINOR] http: create new MSG_BODY sub-states
+    - [BUG] stream_sock: BUF_INFINITE_FORWARD broke splice on 64-bit platforms
+    - [DOC] option is "defer-accept", not "defer_accept"
+    - [MINOR] http: keep pointer to beginning of data
+    - [BUG] x-original-to: name was not set in default instance
+    - [MINOR] http: detect tunnel mode and set it in the session
+    - [BUG] config: fix error message when config file is not found
+    - [BUG] config: fix wrong handling of too large argument count
+    - [BUG] config: disable 'option httplog' on TCP proxies
+    - [BUG] config: fix erroneous check on cookie domain names
+    - [BUG] config: cookie domain was ignored in defaults sections
+    - [MINOR] config: support passing multiple "domain" statements to cookies
+    - [MINOR] ebtree: add functions to lookup non-null terminated strings
+    - [MINOR] config: don't report error on all subsequent files on failure
+    - [BUG] second fix for the printf format warning
+    - [BUG] check_post: limit analysis to the buffer length
+    - [MEDIUM] http: process request body in a specific analyser
+    - [MEDIUM] backend: remove HTTP POST parsing from get_server_ph_post()
+    - [MAJOR] http: completely process the "connection" header
+    - [MINOR] http: only consider chunk encoding with HTTP/1.1
+    - [MAJOR] buffers: automatically compute the maximum buffer length
+    - [MINOR] http: move the http transaction init/cleanup code to proto_http
+    - [MINOR] http: move 1xx handling earlier to eliminate a lot of ifs
+    - [MINOR] http: introduce a new synchronisation state : HTTP_MSG_DONE
+    - [MEDIUM] http: rework chunk-size parser
+    - [MEDIUM] http: add a new transaction flags indicating if we know the transfer length
+    - [MINOR] buffers: add buffer_ignore() to skip some bytes
+    - [BUG] http: offsets are relative to the buffer, not to ->som
+    - [MEDIUM] http: automatically re-aling request buffer
+    - [BUG] http: body parsing must consider the start of message
+    - [MINOR] new function stream_int_cond_close()
+    - [MAJOR] http: implement body parser
+    - [BUG] http: typos on several unlikely() around header insertion
+    - [BUG] stream_sock: wrong max computation on recv
+    - [MEDIUM] http: rework the buffer alignment logic
+    - [BUG] buffers: wrong size calculation for displaced data
+    - [MINOR] stream_sock: prepare for closing when all pending data are sent
+    - [MEDIUM] http: add two more states for the closing period
+    - [MEDIUM] http: properly handle "option forceclose"
+    - [MINOR] stream_sock: add SI_FL_NOLINGER for faster close
+    - [MEDIUM] http: make forceclose use SI_FL_NOLINGER
+    - [MEDIUM] session: set SI_FL_NOLINGER when aborting on write timeouts
+    - [MEDIUM] http: add some SI_FL_NOLINGER around server errors
+    - [MINOR] config: option forceclose is valid in frontends too
+    - [BUILD] halog: insufficient include path in makefile
+    - [MEDIUM] http: make the analyser not rely on msg being initialized anymore
+    - [MEDIUM] http: make the parsers able to wait for a buffer flush
+    - [MAJOR] http: add support for option http-server-close
+    - [BUG] http: ensure we abort data transfer on write error
+    - [BUG] last fix was overzealous and disabled server-close
+    - [BUG] http: fix erroneous trailers size computation
+    - [MINOR] stream_sock: enable MSG_MORE when forwarding finite amount of data
+    - [OPTIM] http: set MSG_MORE on response when a pipelined request is pending
+    - [BUG] http: redirects were broken by chunk changes
+    - [BUG] http: the request URI pointer is relative to the buffer
+    - [OPTIM] http: don't immediately enable reading on request
+    - [MINOR] http: move redirect messages to HTTP/1.1 with a content-length
+    - [BUG] http: take care of errors, timeouts and aborts during the data phase
+    - [MINOR] http: don't wait for sending requests to the server
+    - [MINOR] http: make the conditional redirect support keep-alive
+    - [BUG] http: fix cookie parser to support spaces and commas in values
+    - [MINOR] config: some options were missing for "redirect"
+    - [MINOR] redirect: add support for unconditional rules
+    - [MINOR] config: centralize proxy struct initialization
+    - [MEDIUM] config: remove the limitation of 10 reqadd/rspadd statements
+    - [MEDIUM] config: remove the limitation of 10 config files
+    - [CLEANUP] http: remove a remaining impossible condition
+    - [OPTIM] http: optimize a bit the construct of the forward loops
+
 2009/10/12 : 1.4-dev4
     - [DOC] add missing rate_lim and rate_max
     - [MAJOR] struct chunk rework
diff --git a/VERDATE b/VERDATE
index 7c402ee..906faf5 100644
--- a/VERDATE
+++ b/VERDATE
@@ -1 +1 @@
-2009/10/12
+2010/01/03
diff --git a/VERSION b/VERSION
index 33505f0..d34c0ce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.4-dev4
+1.4-dev5
diff --git a/doc/configuration.txt b/doc/configuration.txt
index b5d1fda..0fa2002 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -4,7 +4,7 @@
                          ----------------------
                               version 1.4
                              willy tarreau
-                              2009/10/12
+                              2010/01/03
 
 
 This document covers the configuration language as implemented in the version
diff --git a/examples/haproxy.spec b/examples/haproxy.spec
index 5529a3c..b7a4c46 100644
--- a/examples/haproxy.spec
+++ b/examples/haproxy.spec
@@ -1,6 +1,6 @@
 Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
 Name: haproxy
-Version: 1.4-dev4
+Version: 1.4-dev5
 Release: 1
 License: GPL
 Group: System Environment/Daemons
@@ -76,6 +76,9 @@
 %attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
 
 %changelog
+* Sun Jan  3 2010 Willy Tarreau <w@1wt.eu>
+- updated to 1.4-dev5
+
 * Mon Oct 12 2009 Willy Tarreau <w@1wt.eu>
 - updated to 1.4-dev4