<?xml version="1.0" encoding="UTF-8"?>
	<!--
		Licensed to the Apache Software Foundation (ASF) under one or more
		contributor license agreements. See the NOTICE file distributed with
		this work for additional information regarding copyright ownership.
		The ASF licenses this file to you under the Apache License, Version
		2.0 (the "License"); you may not use this file except in compliance
		with the License. You may obtain a copy of the License at
		http://www.apache.org/licenses/LICENSE-2.0 Unless required by
		applicable law or agreed to in writing, software distributed under the
		License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
		CONDITIONS OF ANY KIND, either express or implied. See the License for
		the specific language governing permissions and limitations under the
		License.
	-->
<document>
	<properties>
		<title>JCS Change Log</title>
		<author email="asmuts@apache.org">Aaron Smuts</author>
	</properties>
	<body>
		<release version="1.4-dev" date="in SVN">
		</release>
		<release version="1.3.2.7" date="2008-12-15" description="tempbuild">
			<action dev="asmuts" type="update">Added a simple http remote
				cache client and server.</action>
			<action dev="asmuts" type="fix">Fixed bug in the MySQLDiskCache
				optimizer. It can now use a shared pool.</action>
		</release>
		<release version="1.3.2.6" date="2008-12-01" description="tempbuild">
			<action dev="asmuts" type="fix">Fixed balking bug in
				getMatching( String pattern ) API.</action>
			<action dev="asmuts" type="fix">Fixed event naming bug in
				getMatching( String pattern ) API.</action>
		</release>
		<release version="1.3.2.5" date="2008-11-20" description="tempbuild">
			<action dev="asmuts" type="update">Added a getMatching( String
				pattern ) API.</action>
		</release>
		<release version="1.3.2.4" date="2008-?" description="tempbuild">
			<action dev="asmuts" type="update">Added the ability to inject a
				custom event queue. You simply specify the classname as the type.
			</action>
			<action dev="asmuts" type="update">Added the ability to share a
				connection pool amongst different JBC disk cache instances.</action>
		</release>
		<release version="1.3.2.3" date="2008-09-26" description="tempbuild">
			<action dev="asmuts" type="update">Added the ability to inject a
				custom RMI socket factory to be used by the remote cache server.
			</action>
		</release>
		<release version="1.3.2.2" date="2008-09-17" description="tempbuild">
			<action dev="asmuts" type="update">Added a registry keep alive and
				restore option for the remote cache server.</action>
		</release>
		<release version="1.3.2.1" date="2008-09-08" description="tempbuild">
			<action dev="asmuts" type="update">Made all disk cache managers
				handle custom event loggers.</action>
		</release>
		<release version="1.3.2.0" date="2008-08-29" description="tempbuild">
			<action dev="asmuts" type="update"> Added eventLogging to major
				auxiliaries and to the auxiliary factory interface. This allows you
				to time and monitor the internal working of the cache.</action>
			<action dev="asmuts" type="update">Moving to JDK 1.4 compliance.
				1.3 not supported.</action>
			<action dev="asmuts" type="update"> Added the ability to inject custom
				serializers into auxiliary caches.</action>
			<action dev="asmuts" type="fix" issue="JCS-40" due-to="Niall Gallagher"> Added a
				work-around to the host address resolution used by the TCP lateral
				and the remote cache.</action>
			<action dev="asmuts" type="fix" issue="JCS-38" due-to="Timothy Cronin"> Added
				getSource to IElementEvent interface.</action>
			<action dev="asmuts" type="update" issue="JCS-44" due-to="Maxim Gordienko"> Made
				spool chunk size configurable.</action>
			<action dev="asmuts" type="fix" issue="JCS-41" due-to="Niall Gallagher"> Added
				RMI socket connect timeout. Made this configurable on the server and
				client.</action>
			<action dev="asmuts" type="fix" issue="JCS-36" due-to="Matthias Kerkhoff">Fixed
				client decrement count in indexed disk cache.</action>
			<action dev="asmuts" type="fix" issue="JCS-32" due-to="Andy">Moved
				shutdown hook from disk cache to composite cache manager.</action>
		</release>
		<release version="1.3.1.0" date="2008-04-11" description="tempbuild">
			<action dev="asmuts" type="update" due-to="Chris Fairbanks"> Added getMultiple()
				method to ICache</action>
		</release>
		<release version="1.3" date="2007-06-05" description="First formal release">
			<action dev="tv" type="update"> Updated/added license headers in all
				files.</action>
		</release>
		<release version="1.2.7.9.3" date="in SVN">
			<action dev="asmuts" type="fix" issue="JCS-15" due-to="Kevin Preece"> Fixed
				partial key and group id removal bug in indexed disk cache.</action>
			<action dev="asmuts" type="fix" issue="JCS-20" due-to="Alistair Forbes"> Fixed
				partial key removal SQL syntax problem with the JDBC disk cache.
			</action>
			<action dev="asmuts" type="fix" issue="JCS-21" due-to="Michael Stevens"> Fixed a
				few minor missing locks.</action>
		</release>
		<release version="1.2.7.9.2" date="in SVN">
			<action dev="asmuts" type="update"> Added a summary page to the
				JCSAdmin.jsp that just dumps the stats for a region. It doesn't
				display all the keys.</action>
			<action dev="asmuts" type="update"> Added get, put, and remove counts
				to the lateral and remote stats. Added hit count to disk cache
				stats.</action>
			<action dev="asmuts" type="fix" issue="JCS-12" due-to="John Klame"> Fixed
				non thread safe OOS writes in the TCP Lateral Sender. This was
				causing endless loops deep down in the OOS code.</action>
		</release>
		<release version="1.2.7.9" date="in SVN">
			<action dev="asmuts" type="fix" issue="JCS-1"> Fixed last element too
				small recycle bin bug.</action>
			<action dev="asmuts" type="update" issue="JCS-2"> Added the ability to
				send all items to disk or to use the disk merely as a swap. This is
				done by setting the DiskUsagePattern on the cache attributes for a
				region.</action>
			<action dev="asmuts" type="fix" issue="JCS-3" due-to="Peter Schwarz"> Disk
				optimization now occurs in place, without using additional files. It
				is far more efficient.</action>
			<action dev="asmuts" type="fix" issue="JCS-4"> The disk cache will not
				optimize on shutdown if the freedata size is 0.</action>
			<action dev="asmuts" type="fix" issue="JCS-8"> Remote cache client
				will now shutdown properly.</action>
			<action dev="asmuts" type="fix" issue="JCS-9"> Only send memory items
				to disk auxiliaries on shutdown.</action>
		</release>
		<release version="1.2.7.8" date="in SVN">
			<action dev="asmuts" type="update"> Added the ability to schedule
				optimizations for the MySQL disk cache. It can also recover from
				optimization failure and repair the table. It's been tested and is
				running in a production environment.</action>
		</release>
		<release version="1.2.7.7" date="in SVN">
			<action dev="asmuts" type="fix" due-to="Brian Crow  @noteworthyms.com"> Fixed the array index
				out of bounds exception in the Sorted Preferential Array.</action>
		</release>
		<release version="1.2.7.6" date="in SVN">
			<action dev="asmuts" type="fix" due-to="Rick Szeto @vizible.com"> Fixed UDP discovery
				configuration problem. The discovery address was not being used. It
				was broken in the last release.</action>
			<action dev="asmuts" type="fix" due-to="Alistair Forbes"> Fixed disk cache class
				cast problem when running inside the remote cache. The disk cache
				was casting to an instance and not the ICacheElement interface.
			</action>
		</release>
		<release version="1.2.7.3" date="in SVN">
			<action dev="asmuts" type="update" due-to=""> You can now
				configure the remote cache client to not receive from the remote
				server.</action>
			<action dev="asmuts" type="update" due-to=""> Added a new xdoc
				for the Remote Cache properties.</action>
			<action dev="asmuts" type="update" due-to=""> Improved the jcs
				admin jsp: added stats details, better navigation, item lookup, and
				remove confirmation.</action>
		</release>
		<release version="1.2.7.2" date="in SVN">
			<action dev="asmuts" type="update" due-to=""> You can configure
				the remote cache to use a custom RMI Socket Factory with socket
				timeouts.</action>
			<action dev="hchar" type="fix" due-to=""> Removed redundant
				system out logging from remote cache server.</action>
			<action dev="asmuts" type="update" due-to=""> Added additional
				stats for remote cache.</action>
		</release>
		<release version="1.2.7.1" date="in SVN">
			<action dev="asmuts" type="update" due-to=""> Added a JDBC disk
				cache. It has been tested with MYSql and HSQL.</action>
			<action dev="asmuts" type="update" due-to=""> Added a special
				HSQL implementation of the JDBC disk cache. This replaces the
				previous experimental HSQL implementation.</action>
			<action dev="asmuts" type="update" due-to=""> Added a new xdoc
				for the JDBC Disk Cache properties.</action>
		</release>
		<release version="1.2.7.0" date="in SVN">
			<action dev="asmuts" type="update" due-to=""> Removed
				dependencies on commons-lang and on commons-collections from the
				core of JCS.</action>
			<action dev="asmuts" type="update" due-to=""> Increased test
				coverage.</action>
			<action dev="asmuts" type="fix" due-to=""> Fixed entry set
				creation problem in LRUMap.</action>
		</release>
		<release version="1.2.6.9" date="in SVN">
			<action dev="asmuts" type="update" due-to=""> The remote cache
				now sends a byte array to the server instead of the class. This
				allows you to run the remote server without copies of your objects
				in its classpath. This makes the remote server far easier to use.
			</action>
			<action dev="asmuts" type="update" due-to=""> Created an
				interface for cache element serializers and made a default
				implementation. This will allow use to use other serialization
				mechanisms in the future. I converted the remote cache to use the
				standard serializer.</action>
			<action dev="asmuts" type="update" due-to=""> Added several new
				unit tests.</action>
			<action dev="asmuts" type="update" due-to=""> Improved Javadocs
				throughout.</action>
		</release>
		<release version="1.2.6.8" date="in SVN">
			<action dev="asmuts" type="fix" due-to=""> Moved synchronization
				from the client to the sorted preferential array. This solved the
				index out of bounds exception that appeared periodically on disk
				cleanup.</action>
			<action dev="asmuts" type="update" due-to=""> Improved Javadocs
				throughout.</action>
		</release>
		<release version="1.2.6.7" date="in SVN">
			<action dev="asmuts" type="fix" due-to="Adam Siefker @amazon.com"> Fixed shutdown for
				lateral. Added shutdown observer framework. Changed listener thread
				to a daemon. Made executor on listener use a daemon setting thread
				factory.</action>
			<action dev="asmuts" type="fix" due-to=""> Fixed abstract inner
				class references for Jikes.</action>
			<action dev="asmuts" type="update" due-to=""> Improved Javadocs
				throughout.</action>
		</release>
		<release version="1.2.6.6" date="in SVN">
			<action dev="asmuts" type="fix"> Properties are loaded using the
				current thread's classloader by default.</action>
			<action dev="asmuts" type="fix"> When a config file is not found a
				descriptive error message is printed to the logs.</action>
			<action dev="asmuts" type="update"> Made an interface for the cache
				manager to improve testability.</action>
			<action dev="asmuts" type="update"> Auxiliaries are assigned a cache
				manager and the lateral TCP has a settable source id, so it can be
				tested.</action>
			<action dev="asmuts" type="update"> Increased JGroups version to 2.2.8.
				It works again. The old JGroups didn't work for unknown reasons.
			</action>
			<action dev="asmuts" type="update"> Cleaned up some javadocs.</action>
			<action dev="asmuts" type="update"> Improved info level logging for TCP
				lateral.</action>
			<action dev="asmuts" type="update"> Added configuration properties
				xdocs for TCP lateral, indexed disk, and memory cache.</action>
			<action dev="asmuts" type="update"> Created concurrent tests for TCP
				lateral to verify correct region behavior.</action>
			<action dev="asmuts" type="update"> Made BDBJE work with new auxiliary
				changes.</action>
			<action dev="asmuts" type="fix"> UDP discovery no longer activates
				if the lateral type isn't TCP.</action>
			<action dev="asmuts" type="fix"> Reduced lateral get timeout to 1
				second, rather than 10. We still need to disable gets when a timeout
				occurs.</action>
		</release>
	</body>
</document>