|
@@ -1,696 +1,161 @@
+2.30 [KK 2008-10-25]
+- Reversioned to 2.30 in prepration for STABLE release.
+- Bugfix in Netbuffer::netwrite() (debug output of written data)
+- SIGPIPE gets ignored, see sys/main.cc
+- Fixed re-entrancy issues for gethostbyname() that applies to some
+ unices. See Backend::connect() (xr/backend/connect.cc).
+
+2.22 [KK 2008-10-16]
+- Implemented up/down state in back ends. Fixed up the docs.
+- Rewrote msg() and debugmsg() handling: these are now macros that
+ call _msg() and _debugmsg() depending on verbose/debug flags. The
+ argument is a Mstr object, used to concatenate strings with ints,
+ doubles and so on.
+
+2.21 [KK 2008-10-14]
+- Fixed round-robin dispatching with only 1 configured back end. The
+ bug was that on the next-time around, no "other" back end would be
+ found.
+- Centralized reading/writing from fd's and buffer handling into class
+ Netbuffer. This removes superfluous buffer copying in the HTTP
+ dispatcher.
+- Rewrote HTTP dispatcher & (hopefully) optimized it.
+- Added Profiler class and xr/etc/xrprof tool.
+- Many other small changes.
+- Added docs on maxconn flags and weighted-load dispatching.
+- THIS VERSION IS A REWRITE OF THE HTTP DISPATCHER. IT IS ALPHA-QUALITY.
+
+2.20 [KK 2008-10-13]
+- Fixed -C flag recognition, --close-sockets-fast worked, but I'd
+ omitted -C from the flag set.
+- Ongoing optimization work.
+
+2.19 [KK 2008-10-13]
+- Changed the TCP Dispatcher to allow for setting a maximum #
+ connection attempts per client, with options to either defer the
+ connection or drop it.
+- Added a dispatch mdoe "weighted-load" for randomly picking a back
+ end based on the inverse of their respective load averages. (gem)
+- Verbose/debug options in the web interface are now rendered as
+ select boxes.
+- Web interface errors are rendered on the client as an HTML error
+ page.
+- Docs updated regarding web interface URI's.
+- Turned on compliler optimizing (had forgotten that before!)
+- Docs updated regarding web interface URI's.
+
+2.18 [KK 2008-10-08]
+- Improved command line parsing, so that when --checkup-interval is
+ used, suppression of "--wakeup-interval 0" is no longer needed.
+
+2.17 [KK 2008-10-07]
+- Type sizes reported in "xr -V"
+- Fixed nasty bug in sys/fdwrite.cc
+
+2.16 [KK 2008-10-05]
+- Enhanced web interface to show debug, verbose and traffic log states
+- Altering parameters for the web interface get sent in encoded form
+- Option --log-traffic was renamed to --log-traffic-dir for
+ consistency
+- Enhanced web interface to modify client and back end timeouts
+- Enhanced web interface to modify wakeup / checkup intervals.
+
+2.15
+- Sanity checks in Config::parsecmdline(): -w/-c together throws error.
+- Network sends are now using write(), unless under Solaris, which
+ uses send().
+- --log-traffic logs to file with as the base name: the request
+ number.
+- System (uname) is recorded during compilation and displayed in "xr -V"
+
+2.14 [KK 2008-09-30]
+- Removed spurious debug message.
+- Fixed usage info for buffer size flag (should be -B, not -b).
+- Implemented flag -l (--log-traffic).
+
+2.13 [KK 2008-09-17]
+- Porting issues resolved for older MacOSX (10.3, 10.4)
+- Bugfix in XML emitting of web interface. Most browsers didn't even notice..
+
+2.12 [KK 2008-09-10]
+- Small code changes for g++ v3.x backward-compatibility support.
+ (Thanks Simon M.)
+- Web interface: layout enhanced, more modification options
+- Code cleanup, duplications removed
+- Network sending ignores some errno's and retries (see
+ sys/fdwrite.cc)
+- Web interface retries binding to its socket (incase a previous
+ instance hasn't terminated yet)
+- Web interface returns an HTTP error page (status 500 only, no
+ content) during errors
+
+2.11 [KK 2008-09-04]
+- Bugfix in "first-active" dispatch mode. Previously XR would gobble
+ up fd's when no back end was available.
+- Web interface (first version) implemented.
+
+2.10 [KK 2008-09-02]
+- Bugfix in host match mode. When a back end doesn't match anything,
+ then the client isn't served. (Previously the dispatcher would fall
+ back to least-connections over all known back ends.)
+- In HTTP mode, a 502 error gets returned to the client when
+ dispatching fails or when back end processing goes haywire. There is
+ just one error page, 502 error header, 0 bytes content length.
+- Implemented back end weights for least-connections dispatching.
+- Bugfix in Backend::connect(): Socket gets closed when connecting fails.
+
+2.09 [KK 2008-09-01]
+--host-match code implemented
+
+2.08 [KK 2008-08-31]
+I'd forgotten to include the 'P' into the set of allowed flags
+(--prefix-timestamp would work, -P not). Fixed.
+
+2.07 [KK 2008-08-28]
+Stupid bug in 2.06, sorry that 2.06 got out.. Fixed.
+
+2.06 [KK 2008-08-27]
+Upped c-conf to 1.14.
+xrctl updated: 'ps' command format also suitable for SunOS.
+New class Mutex implemented. Mutex-locks are now more fine-grained
+(per one global or static).
+Solaris9 port w/gcc 3.4.6 done.
+
+2.05 [KK 2008-08-15]
+Thrown errors now based on std::exeception.
+"xr -V" shows compilation settings.
+Code reorganized into directory hierarchy.
+
+2.04 [KK 2008-08-11]
+Mutex in Thread class is now a static.
+Implemented dispatching algorithm "stored clent ip", in the variants
+strict and lax.
+Flag -n / --tryout implemented. Implemented in xrctl.
+
+2.03 [KK 2008-08-10]
+Updated docs regarding the mailing list.
+Fixed verbose display upon accepting a client ("current back end
+states").
+Implemented dispatching algorithm "hashed client ip", in the variants
+strict and lax.
+
+2.02 [KK 2008-08-09] Changes to the Makefile & some sources to avoid
+warnings under RHL (thanks, Simon M.).
+Bytes processed by a back end is now administered in
+TcpDispatcher::writechunk() and not readchunk(). Reason: In HTTP mode,
+the target back end is not yet known upon the first read -- the first read
+from the client comes before dispatching. Thanks Simon M. for the bug
+report.
+All select()'s now check for errno==EINTR, incase XR gets a signal -1
+(for status report).
+
+2.01 [KK 2008-08-08] Implemented flag -C (--close-sockets-fast): this
+option *can* be used under heavy stress when too many network sockets
+remain in TIME_WAIT state (try with 'netstat -n | grep TIME_WAIT').
+Syntax of xrctl is checked upon "make commit".
+Added documentation about Solaris tcp_time_wait_interval and Linux
+ip_conntrack_max.
+Added documentation about binding XR to the same port, using different
+bind-to IP's.
-ChangeLog for Crossroads
-------------------------------------------------------------------------------
-
-1.81 [KK 2008-06-26]
- - Memory leaks debugging
-
-1.80 [KK 2008-05-19]
- - "Read from <client/server> timed out" is now only an error when
- it concerns the server. When it concerns the client, it's only a
- verbose message.
- - In http_copy(): Copy-thru mode from server to client is NOT
- entered when the server sent a HTTP/1.x 3xx response. HTTP 300
- responses are not assumed to have a body.
-
-1.79 [KK 2008-04-01]
- - Changed 'make' in '$(MAKE)' in all Makefiles to support 'gmake'
- invocations.
- - Added debugging to config_write() (Solaris problems)
- - Changed limits_msg() to avoid RLIMIT_MEMLOCK, RLIMIT_NPROC,
- RLIMIT_RSS on systems that don't have these (Solaris problems)
- - Rewrote Messaging functions msg(), error(), warning() to
- autosupply the service name.
- - The configuration file is now searched relative to the program,
- then as /etc/crossroads.conf. So if eg. the program is
- /opt/crossroads/bin/crossroads, then the config may be
- /opt/crossroads/etc/crossroads.conf.
-
-1.78 [KK 2008-03-14]
- - Limits of running service are shown when verbosity is on.
- - Fixed "no child processes" error when doing system() calls
- under Linux. The signal handler for SIGCHLD must apparently be
- off (see src/lib/sysrun.c). Also fixed for popen() calls (see
- src/lib/choosebackend.c).
-
-1.77 [KK 2008-03-07]
- - Next development version. Introduced %l for last-connect timing.
-
-1.76 [KK 2008-01-31]
- - Parser again made stricter: a backend's maxconnections is not allowed
|