=head1 NAME

Changes - HTTPD::Bench::ApacheBench change logfile

=head1 CHANGES

all changes without author attribution are by Adi Fairbank

=over 3

=item 0.63 - Oct 07, 2004

bugfix hanging/infinitely repeating requests when HTTP response headers larger
than 512 bytes: increased limit to 4096 bytes
(thanks to John Fricker <jfricker@musiciansfriend.com> for patch)

added 'get_headers' utility script that reads just the HTTP response headers
from a given URL

rewrote parse_url() function using strtok() calls; now also supports making
http proxy requests (e.g. http://proxy.host:8080/http://destination.host/ )
(proxy support submitted by Matthew H. Gerlach <mgerlach@lightsurf.com>)

packaged in include file "hsregex.h" from Apache source distribution for
WIN32 systems; still does not build on WIN32 however
(spotted by Lee Goddard <Home@LeeGoddard.com>)

=item 0.62 - Dec 02, 2001

accurate tallying of sent, good, and failed requests; fixed incorrect
total_requests_sent(), total_responses_received() methods, and added new
total_responses_failed() method and per-run sent_requests(), good_responses(),
and failed_responses() methods

added support for global and per-url/per-run time limits

updated header files from Apache 1.3.22 src/include/

added support for HTTP HEAD requests per-url/per-run

fixed a small bug that sent a GET request for a defined-but-empty string value
in postdata() array; now it sends a POST request with Content-length: 0

added support for HTTP KeepAlive feature on global or per-url/per-run basis

=item 0.61 - Oct 23, 2001

new methods ready_to_execute() and prepare_for_execute() to
eliminate segmentation faults due to configuration errors

new feature that allows adding arbitrary extra HTTP request headers

fixed bug that caused segmentation fault when custom Content-type: headers
were specified for POST

removed 512 byte hard-coded maximum size of HTTP requests; now requests can be
arbitrarily large

regression methods that returned arrayrefs now can be passed an optional index
parameter to cause them to return the specified value out of the array

fixed bug in ApacheBench.xs reset_request() for null cookies - bug
caused ApacheBench-Perl not to work properly with virtual hosts because
a null "\0" char was embedded in the HTTP request before the Host: line
(spotted by Raju M. Daryanani <rajumd@geocities.com>)

store all HTTP requests sent to server, accessed by request_body() method

improved documentation for postdata() method, on suggestion
from Scott Croco <scott.croco@lucasfilm.com>

=item 0.60 - Feb 23, 2001

restructured regression hash; will break some scripts;
see README.upgrading_0.5x-0.6x for details

added new object-oriented API; see documentation for details

renamed 'cookie' to 'cookies' and 'filesize' to 'buffersize' in
configuration hash sent to ab() XS routine

added support for customizable Content-type: headers in HTTP request

added request time tracking (times taken to send each HTTP request)
stored in 'request_time' array for each run iteration

added global and per-run 'memory' setting to control how much regression
data is remembered

changed HTTP request User-Agent from ApacheBench/VERSION to
ApacheBench-Perl/VERSION

=item 0.52 - Nov 25, 2000

added debugging printf() statements which can be turned on by defining
AB_DEBUG at the top of ApacheBench.xs

fixed segmentation fault that happened when ab() was called twice from
a single process, which was due to bad data stored in global variables

fixed annoying "Use of uninitialized value" warnings if undef values are
passed as input to ApacheBench

changed Content-type for POST requests to application/x-www-form-urlencoded

=item 0.51 - Sep 26, 2000

renamed module from ApacheBench to HTTPD::Bench::ApacheBench,
suggested by Stas Bekman

=item 0.5 - Sep 20, 2000

initial public release

=back

=cut
