<?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="dev@commons.apache.org">Apache Commons Developers</author>
	</properties>
	<body>
        <release version="3.0" date="unreleased">
            <action dev="tv" type="add">
                Add a get method to CacheAccess that allows a Supplier to be specified
            </action>
            <action dev="tv" type="remove">
                Remove dependency on velocity-tools
            </action>
            <action dev="tv" type="remove">
                Remove deprecated code
            </action>
            <action issue="JCS-181" dev="tv" type="update">
                Update dependency to httpclient 4.5.3
            </action>
            <action dev="tv" type="update">
                Update dependency commons-dbcp2
            </action>
            <action dev="tv" type="update">
                Finally require Java 8
            </action>
        </release>
        <release version="2.2" date="2017-08-02">
            <action issue="JCS-180" dev="rmannibucau" type="fix">
                CacheInvocationContextImpl NPE if method doesnt have any argument
            </action>
            <action issue="JCS-179" dev="tv" type="fix" due-to="Archer">
                RemoteCacheServerFactory not able to start server 
            </action>
            <action issue="JCS-178" dev="tv" type="fix">
                Clients using RemoteCache are not working. Add a test. 
            </action>
            <action dev="tv" type="add">
                Add a shutdown() method to JCS
            </action>
            <action issue="JCS-177" dev="tv" type="fix" due-to="Ryan Fong">
                Fix: CompositeCacheManager leaks memory if CacheAccess.dipose is called
            </action>
        </release>
        <release version="2.1" date="2017-02-05">
            <action dev="tv" type="fix">
                SoftReference cache did not work because of strong references being 
                stored in payload of DoubleLinkedListNode
            </action>
            <action issue="JCS-172" dev="tv" type="fix" due-to="Tom Schroeder">
                ElementAttributes.clone() not updating createTime causes cache elements
                to expire immediately 
            </action>
            <action issue="JCS-171" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                Multiple CacheEventQueue.QProcessor spawned for the same cache region 
            </action>
            <action issue="JCS-170" dev="rmannibucau" type="fix">
                Replace at least commas for jmx registration
            </action>
        </release>
        <release version="2.0" date="2016-12-25" description="JDK 1.6 based major release">
            <action issue="JCS-119" dev="tv" type="update">
                Improve concurrency in
                - CompositeCacheManager
                - CacheEventQueue
                - CacheWatchRepairable
                - LHMLRUMemoryCache
            </action>
            <action issue="JCS-169" dev="rmannibucau" type="fix">
                JCache Access Expiry not respected
            </action>
            <action issue="JCS-168" dev="rmannibucau" type="fix">
                cdi/nocdi jcache jar doesnt contain the right 
                META-INF/services/javax.enterprise.inject.spi.Extension file
            </action>
            <action dev="tv" type="update">
                Deprecate JCS.defineRegion() methods
            </action>
        </release>
        <release version="2.0-beta-2" date="2016-11-01" description="JDK 1.6 based major release (beta-2)">
            <action dev="tv" type="remove">
                Remove size limitation configuration of indexed cache recycle bin
            </action>
            <action dev="tv" type="remove">
                Replace SortedPreferentialArray with JDK ConcurrentSkipListSet
            </action>
            <action dev="tv" type="remove">
                Replace SingleLinkedList with JDK ConcurrentLinkedQueue
            </action>
            <action issue="JCS-130" dev="tv" type="update">
                Simplify management of auxiliary caches
            </action>
            <action issue="JCS-165" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                Fix: BlockDiskCache partial remove / group remove doesn't work
            </action>
            <action issue="JCS-156" dev="sebb" type="fix" due-to="Ryan Fong">
                BlockDiskCache is limited to 2GB
            </action>
            <action issue="JCS-162" dev="tv" type="fix" due-to="Ryan Fong">
                Fix: Memory region properties documentation incorrect
            </action>
            <action issue="JCS-161" dev="tv" type="fix" due-to="Ryan Fong">
                Fix: Dynamic regions leak memory upon dispose due to ShrinkerTask
            </action>
            <action issue="JCS-54" dev="tv" type="add" due-to="Tore Halset">
                Add soft reference memory cache
            </action>
            <action issue="JCS-78" dev="tv" type="fix" due-to="Marko Stipanov">
                Fix: RemoteCacheStartupServlet can't start with config outside classpath
            </action>
            <action dev="tv" type="add" due-to="Wiktor Niesiobedzki">
                Add verification of block disk cache key file.
            </action>
            <action issue="JCS-159" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                Fix: BlockDiskCache overwrites data after loading from disk
            </action>
            <action dev="tv" type="fix" due-to="Mat Jaggard">
                Fix Javadoc for Java 8
            </action>
            <action issue="JCS-116" dev="tv" type="fix" due-to="Sebb">
                Fix: CompositeCacheManager is thread-hostile
            </action>
            <action issue="JCS-158" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                Fix NullPointerException in IndexedDiskCache.addToRecycleBin(...)
            </action>
            <action dev="tv" type="update">
                Reduce synchronization
            </action>
            <action issue="JCS-153" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                Fix file size limitation for Block Disk Cache and Indexed Disk Cache
            </action>
            <action issue="JCS-149" dev="tv" type="fix" due-to="Youngho Cho">
                When reading keys from disk, a StreamCorruptedException happens when a custom serializer is applied
            </action>
            <action issue="JCS-48" dev="tv" type="update" due-to="Hanasaki Jiji">
                Replace PoolAccess with a DataSourceFactory model borrowed from DB-Torque
            </action>
            <action dev="tv" type="fix">
                Fix removal of items from group cache, added several tests
            </action>
            <action dev="tv" type="add">
                Add orderly shutdown of ThreadPoolManager
            </action>
            <action issue="JCS-124" dev="tv" type="update" due-to="Richard Eigenmann">
                Make the code in Step 5 on the JCS overview page a full working class that can compile
            </action>
            <action issue="JCS-140" dev="rmannibucau" type="fix" due-to="liangjiarui">
                JCacheFilter code logic error, first hit always fails
            </action>
            <action issue="JCS-147" dev="tv" type="add" due-to="Wiktor Niesiobedzki">
                Provide file size limitation for Block Disk Cache and Indexed Disk Cache
            </action>
            <action issue="JCS-96" dev="tv" type="fix" due-to="Gregory Fernandez">
                Incomplete shutdown of RemoteCacheServer
            </action>
            <action issue="JCS-148" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                Unnecessary use of FileChannel.force() in Indexed and Block Disk Caches
            </action>
            <action issue="JCS-146" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                IndexedDiskCache: Mismatched memory and disk length (0) for 
                [DED:  pos = 63802 len = 9658] during optimization
            </action>
            <action issue="JCS-145" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                AbstractDiskCacheAttributes logs error, when directory already exists
            </action>
            <action issue="JCS-144" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">
                BlockDiskCache hangs on SEVERE: Region [TMS] Failure getting from disk--IOException
            </action>
            <action issue="JCS-141" dev="tv" type="fix" due-to="validruk">
                RemoteCacheServerFactory ignores configuration
            </action>
        </release>
		<release version="2.0-beta-1" date="2015-02-19" description="JDK 1.6 based major release (beta 1)">
            <action issue="JCS-139" dev="tv" type="fix" due-to="Youngho Cho">
                PropertySetter doesn't set Enum properly. Added a test.
            </action>
            <action issue="JCS-136" dev="tv" type="fix" due-to="Youngho Cho">
                OutOfMemoryError when using compressing serializer
            </action>
            <action issue="JCS-133" dev="sebb" type="fix">
                RemoteUtils.getNamingURL does not handle IPv6 numeric addresses properly
            </action>
            <action issue="JCS-131" dev="tv" type="remove">
                Remove KeyGeneratorUtil and AddressUtil as they are not used
            </action>
            <action issue="JCS-113" dev="tv" type="fix">
                Improve error handling by bubbling up exceptions
            </action>
            <action dev="rmannibucau" type="add">
                jcache-extra module to provide basic classes based on JCache API.
            </action>
            <action dev="rmannibucau" type="add">
                Web CacheFilter to cache http responses.
            </action>
            <action dev="rmannibucau" type="add">
                OpenJPA L2 Cache based on JCache API.
            </action>
            <action dev="rmannibucau" type="update">
                Allow configuration to set its TimeFactorForMilliseconds and
                use second by default.
                This has as impact to remove "Seconds" suffix from corresponding configurations.
            </action>
            <action issue="JCS-115" dev="tv" type="fix">
                JDBCDiskCachePoolAccessManager is thread hostile
            </action>
            <action issue="JCS-118" dev="olamy" type="add" due-to="Romain Manni-Bucau">
                Add jcache implementation
            </action>
            <action issue="JCS-113" dev="sebb" type="fix">
                Potential NPE in JDBCDiskCache
                Fixed NPEs in getSize() and getStatistics()
            </action>
            <action issue="JCS-112" dev="sebb" type="fix">
                RemoteCacheServer.logUpdateInfo bug updating put count
            </action>
            <action dev="tv" type="fix">
                Fix updating of last access time, add tests for event handling
            </action>
            <action dev="tv" type="update">
                Update documentation to reflect generics and API changes
            </action>
            <action dev="tv" type="remove">
                Remove dependency on commons-lang3
            </action>
            <action dev="tv" type="add">
                Add simple JMX monitoring feature by exposing the JCSAdminBean to JMX
            </action>
            <action dev="tv" type="update" issue="JCS-109" due-to="Xiong LIU">
                Improve performance of BlockDisk.write(Serializable)
            </action>
            <action dev="tv" type="fix" issue="JCS-102" due-to="Robert Clark">
                Reworked the interfaces to make the group cache typesafe
            </action>
            <action dev="tv" type="fix" issue="JCS-108" due-to="Xiong LIU">
                Fix return value of BlockDisk.write(long, byte[])
            </action>
            <action dev="tv" type="update">
                Change package to org.apache.commons.jcs, groupId to org.apache.commons,
                artifactId to commons-jcs and version to 2.0-SNAPSHOT
            </action>
            <action dev="tv" type="fix" issue="JCS-95" due-to="Nicolas Gomez Navarrete">
                Map region names to valid file names.
            </action>
            <action dev="tv" type="fix" issue="JCS-106" due-to="Johannes Weberhofer">
                Bad comparison of int with Long.MAX_VALUE.
            </action>
            <action dev="tv" type="fix" issue="JCS-103" due-to="Pavel Novak">
                MaxMemoryIdleTimeSeconds default value is wrongly documented.
            </action>
            <action dev="tv" type="update">
                Use central thread pool instance to clean up the code.
            </action>
            <action dev="tv" type="update">
                Use type-safe enums instead of integer constants to clean up the code.
            </action>
            <action dev="tv" type="fix" issue="JCS-91" due-to="Diego Rivera">
                JCS fails to properly dispose of the lateral TCP listener thread.
                If a webapp that uses JCS lateral TCP cache is undeployed, the listener is left
                hanging with no hope for exit.
            </action>
            <action dev="tv" type="fix" issue="JCS-49" due-to="David Easley">
                Contradictory documentation on RemoveUponRemotePut default value.
            </action>
            <action dev="tv" type="add" issue="JCS-94" due-to="Andrew Leamon">
                Add getGroupNames() to all caches.
            </action>
            <action dev="tv" type="add" issue="JCS-94" due-to="Andrew Leamon">
                LateralTCPService should implement getGroupKeys.
            </action>
            <action dev="tv" type="update" issue="JCS-75" due-to="Chiat Lam">
                CompositeCache: Add method to get auxiliary caches, changed
                visibility of isExpired() to protected.
            </action>
            <action dev="tv" type="fix" issue="JCS-73" due-to="Alexander Kleymenov">
                Concurrent cache access causes values loss.
            </action>
            <action dev="tv" type="fix" issue="JCS-77" due-to="Matt Morrisson">
                NullPointerException thrown by IndexedDiskCache if IndexedDisk calls fail to
                initialize.
            </action>
            <action dev="tv" type="fix" issue="JCS-90" due-to="Diego Rivera">
                When issuing a shutDown() command, JCS fails to clean up the Queue Processor
                thread.
            </action>
            <action dev="tv" type="fix" issue="JCS-89" due-to="Diego Rivera">
                UDP Discovery fails to report correct IP address to peers for back-connect
                when InetAddress.getLocalHost() fails to return an externally-visible
                address (i.e. returns a local address)
            </action>
            <action dev="tv" type="fix" issue="JCS-88" due-to="Diego Rivera">
                Add a test to verify correct block size calculation
            </action>
            <action dev="tv" type="update">
                Change the interfaces to use generics
            </action>
            <action dev="tv" type="fix" issue="JCS-86" due-to="Roman Solo">
                Fix region properties documentation.
            </action>
            <action dev="tv" type="fix" issue="JCS-22" due-to="Michael Jordan">
                Throw an explicit CacheException when a cache manager instance cannot
                read its configuration.
            </action>
            <action dev="tv" type="fix" issue="JCS-79" due-to="Graham Leggett">
                Fix NPE in CompositeCacheConfigurator.parseRegion
            </action>
            <action dev="tv" type="fix" issue="JCS-68" due-to="Niall Gallagher">
                Made RemoteCacheServer public, added remote cache remove feature to
                JCSAdminBean
            </action>
            <action dev="tv" type="fix" issue="JCS-82" due-to="Nikunj Trivedi">
                Use oos.writeUnshared() for LateralTCPSender
            </action>
            <action dev="tv" type="fix" issue="JCS-69" due-to="Michael Stevens">
                Ensure shutdown of LateralCacheMonitor
            </action>
            <action dev="tv" type="fix" issue="JCS-11" due-to="Peter Schwarz">
                Add method for programmatic configuration to JCS
            </action>
            <action dev="tv" type="fix" issue="JCS-84" due-to="Aleksandar Ivanisevic">
                Increase precision of CREATE_TIME, fix name of UPDATE_TIME_SECONDS
                column.
            </action>
            <action dev="tv" type="update">
                Update IndexDisk and BlockDisk to use NIO in an attempt to fix
                a timing-dependent test failure.
            </action>
            <action dev="tv" type="update">
                Update build files to make JCS a true Apache Commons component.
            </action>
            <action dev="tv" type="update">
                Set UTF-8 encoding on all source files
            </action>
            <action dev="tv" type="update">
                Move site generation to Maven 2. Integrate site into Apache Commons.
            </action>
            <action dev="tv" type="fix">
                Fix VelocityServlet deprecation
            </action>
			<action dev="bayard" type="add">
			    Upgraded Commons Lang dependency to 3.0
			</action>
            <action dev="tv" type="update">
                Move to JDK 5 Generics
            </action>
            <action dev="tv" type="update">
                Move to JDK 5 Concurrent
            </action>
            <action dev="tv" type="update">
                Move build system to Maven 2
            </action>
		</release>
		<release version="1.3.3.5" date="2009-08-12" description="tempbuild">
			<action dev="asmuts" type="fix" issue="JCS-67">Fixed bug in
				indexed disk cache. Partial key removal was adding duplicates in the
				recycle bin. This lead to the multiple keys pointing to the same spot
				on disk.</action>
		</release>
		<release version="1.3.3.4" date="2009-08-11" description="tempbuild">
			<action dev="asmuts" type="fix" issue="JCS-66">Fixed bug in block
				disk cache. It couldn't handle items with more than 127 blocks. Now
				it can. (Note: for performance reasons, you should try to fit your
				items in as few blocks as possible.)</action>
		</release>
		<release version="1.3.3.3" date="2009-07-23" description="tempbuild">
			<action dev="asmuts" type="update">TCP Lateral now uses a queuing
				zombie service during recovery.</action>
			<action dev="asmuts" type="update">Refactored UDP Discovery.
			</action>
			<action dev="asmuts" type="fix" issue="JCS-60">Slots for same key
				updates now get added to the recycle bin.</action>
			<action dev="asmuts" type="update" issue="JCS-58">Added File Disk
				Cache.</action>
			<action dev="asmuts" type="fix" issue="JCS-53">Default
				properties should now work.</action>
			<action dev="asmuts" type="update">Caught Throwable in JDBC disk
				cache shrinker, so it won't die.</action>
		</release>
		<release version="1.3.3.2" date="2009-06-11" description="tempbuild">
			<action dev="asmuts" type="update">Added a compressing serializer.
			</action>
			<action dev="asmuts" type="update">Added an LHMLRUMemoryCache.
			</action>
		</release>
		<release version="1.3.3.1" date="2009-05-22" description="tempbuild">
			<action dev="asmuts" type="update">Added a clearDiskOnStartup
				configuration option for the IndexedDisk Cache. False by default.
			</action>
			<action dev="asmuts" type="fix" issue="JCS-56">Fixed data chunking
				bug in BlockDisk.</action>
		</release>
		<release version="1.3.3.0" date="2009-05-22" description="tempbuild">
			<action dev="asmuts" type="update">Made "openTimeOut" and
				"socketTimeOut" configurable on the TCP Lateral.</action>
		</release>
		<release version="1.3.2.9" date="2009-02-02" description="tempbuild">
			<action dev="asmuts" type="fix">Fixed bug in Remote Http Client
				URL creation for query strings.</action>
			<action dev="asmuts" type="fix" issue="JCS-55" due-to="Alexander Sofronov"> Fixed
				disk cache custom serializer injection.</action>
		</release>
		<release version="1.3.2.8" date="2008-12-16" description="tempbuild">
			<action dev="asmuts" type="fix">Fixed bug remote cache listener
				interface.</action>
		</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>
