<?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 xmlns="http://maven.apache.org/changes/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd">
	<properties>
		<title>JCS Change Log</title>
		<author email="dev@commons.apache.org">Apache Commons Developers</author>
	</properties>
	<body>
        <release version="3.2.1" date="TBD">
            <!-- ADD -->
            <action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action>
            <!-- REMOVE -->
            <action dev="tv" type="remove">
               Remove all deprecated code
            </action>
            <!-- UPDATE -->
            <action dev="tv" type="update">
               Update dependency servlet-api 2.5 to javax.servlet-api 3.1.0
            </action>
            <action dev="tv" type="update">
               Update dependency openwebbeans-impl 1.7.6 to 2.0.27
            </action>
            <action dev="tv" type="update">
               Update dependency cache-tests 1.0.1 to 1.1.1
            </action>
            <action dev="tv" type="update">
               Update Tomcat libraries 7.0.22 to 9.0.79
            </action>
            <action dev="tv" type="update">
               Bump Java to 17.
            </action>
            <action dev="tv" type="update">
               From this release on we require Java 17
            </action>
            <action dev="tv" type="update">
               Migrate all tests to JUnit 4
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory">
               Bump org.apache.commons:commons-dbcp2 from 2.9.0 to 2.12.0.
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory">
               Bump commons-io from 2.13.0 to 2.15.1 #11.
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">
               Bump org.apache.commons:commons-parent from 59 to 67 #222.
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory">
               Bump commons-text from 1.10.0 to 1.11.0.
            </action>
            <action type="update" dev="ggregory" due-to="Dependabot">
               Bump org.apache.logging.log4j:log4j-core from 2.21.1 to 2.23.1 #190, #198, #216, #223, #229.
            </action>
            <action type="update" dev="ggregory" due-to="Dependabot">
               Bump org.apache.logging.log4j:log4j-api from 2.21.1 to 2.23.1 #191, #197.
            </action>
            <action type="update" dev="ggregory" due-to="Dependabot">Bump org.apache.tomcat:tomcat-catalina from 9.0.79 to 9.0.83 in /commons-jcs3-jcache-extras.</action>
        </release>
        <release version="3.2" date="2023-08-22">
            <action dev="tv" type="fix" issue="JCS-234" due-to="Chris Lake">
               Fix OSGi manifest
            </action>
            <action dev="tv" type="fix" issue="JCS-232" due-to="Jeremy Long">
               Handle ServiceConfigurationError when using a different logging framework
            </action>
            <action dev="tv" type="fix" issue="JCS-231" due-to="Andrea Vettori">
               Fix Lateral TCP cache recovery loop for empty TCP servers
            </action>
            <action dev="tv" type="fix" issue="JCS-230" due-to="Dorota Oeknigk-Urbanska">
               UDPDiscoveryReceiver with EncryptingSerializer fails #88.
            </action>
            <action dev="tv" type="fix" issue="JCS-229" due-to="Dorota Oeknigk-Urbanska">
               LateralTCPListener class uses always StandardSerializer #89.
            </action>
            <action dev="ggregory" type="fix" due-to="step-security-bot, Gary Gregory">
                [StepSecurity] ci: Harden GitHub Actions #156.
            </action>            
            <!-- UPDATE -->
            <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
               Bump actions/cache from 2.1.7 to 3.0.9 #86, #111.
            </action>
            <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
               Bump actions/checkout from 2 to 3.0.2 #93.
            </action>
            <action dev="ggregory" type="update" due-to="Gary Gregory">
               Bump actions/setup-java from 2 to 3.5.1.
            </action>
            <action dev="tv" type="update" due-to="Dependabot">
               Bump commons-parent from 52 to 58 #90, #130, #154.
            </action>
            <action dev="ggregory" type="update" due-to="Dependabot">
               Bump log4j-api from 2.17.1 to 2.20.0 #85, #100, #107, #145.
            </action>
            <action dev="ggregory" type="update" due-to="Dependabot">
               Bump log4j-core from 2.17.1 to 2.20.0 #87, #99, #108, #144.
            </action>
            <action dev="ggregory" type="update" due-to="Dependabot">
               Bump commons-text from 1.9 to 1.10.0 #110.
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory">
               Bump commons-io from 2.11.0 to 2.13.0.
            </action>
        </release>
        <release version="3.1" date="2022-01-03">
            <action dev="tv" type="fix" due-to="Bruno Kinoshita">
               Use new SecureRandom() instead of SecureRandom.getStrongInstance() to 
               avoid potential performance problems on Linux
            </action>
            <action dev="tv" type="fix" due-to="Patrick Ziegler" issue="JCS-228">
               Attempt to fix osgi import packages
            </action>
            <action dev="tv" type="fix" due-to="Prajakta Uplaikar" issue="JCS-191">
               Fix for Server Failover mechanism not working, add test
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory">
               Update from Apache Log4j 2.14.1 to 2.17.1
            </action>
            <action dev="tv" type="update">
               Autodetect lateral service address on the interface used for multicast - 
               depending on the multicast protocol: 
               IPv6 link-local address for IPv6 multicast,
               IPv4 site-local address for IPv4 multicast
            </action>
            <action dev="tv" type="fix" due-to="Alex L" issue="JCS-186">
               Use configured listener address for UDP service broadcast
            </action>
            <action dev="tv" type="fix" due-to="Alex L" issue="JCS-186">
               Fix UDP service discovery with LateralCache
            </action>
            <action dev="tv" type="update">
               Use NIO for UDP service discovery, works with IPv6 now
            </action>
            <action dev="tv" type="update">
               Use NIO for LateralTCPListener
            </action>
            <action dev="tv" type="update">
               IMPORTANT CHANGE
               Use IElementSerializer for LateralTCPSender and listener
            </action>
            <action dev="tv" type="update">
               IMPORTANT CHANGE
               Use IElementSerializer for RemoteHttpCacheServlet
            </action>
            <action dev="tv" type="update">
               IMPORTANT CHANGE
               Use IElementSerializer for Block disk key storage
            </action>
            <action dev="tv" type="update">
               IMPORTANT CHANGE
               Use IElementSerializer for UDP service discovery
            </action>
            <action dev="tv" type="fix">
               Fix shutdown race conditions
            </action>
            <action dev="tv" type="add">
               Add EncryptingSerializer and some documentation
            </action>
            <action dev="tv" type="update">
               Replace several Runnable classes with Lambdas
               Deprecate original classes
            </action>
            <action dev="tv" type="remove">
                Remove support for long deprecated and inconsistent 
                RemoteCacheServer configuration keys
                - remote.cache.service.port is now jcs.remotecache.serverattributes.servicePort
                - remote.cache.rmiSocketFactoryTimeoutMillis is now jcs.remotecache.serverattributes.rmiSocketFactoryTimeoutMillis
                - remote.cluster.LocalClusterConsistency is now jcs.remotecache.serverattributes.LocalClusterConsistency
                - remote.cluster.AllowClusterGet is now jcs.remotecache.serverattributes.AllowClusterGet
            </action>
            <action dev="ggregory" type="add" due-to="Gary Gregory">
                Add BlockDiskKeyStore.isEmpty().
            </action>
            <action dev="ggregory" type="add" due-to="Gary Gregory">
                Add IndexedDisk.isEmpty().
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory">
               Update from Apache Commons Lang 3.10 to 3.12.0.
            </action>
            <action dev="ggregory" type="update" due-to="Gary Gregory">
               Bump build actions/setup-java from v1.4.3 to v2.
            </action>
            <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">
               Update from Apache Commons IO 2.8.0 to 2.10.0, #72.
            </action>
            <action type="update" dev="ggregory" due-to="Dependabot">
               Bump actions/cache from 2.1.5 to 2.1.6 #70.
            </action>
            <action type="update" dev="ggregory" due-to="Dependabot">
               Bump log4j-api from 2.13.2 to 2.17.1 #79, #81.
            </action>
        </release>
        <release version="3.0" date="2020-08-16">
            <action issue="JCS-205" dev="tv" type="fix">
                Fix packaging
            </action>
            <action issue="JCS-46" dev="tv" type="add">
                Add configuration option to specify the datagram 
                time-to-live in UDPDiscoverySender
            </action>
            <action dev="tv" type="add">
                Add configuration option to specify the network interface
                to use for UDP multicast
            </action>
            <action issue="JCS-166" dev="tv" type="add">
                Add configuration option to specify the host to bind the
                LateralTCPListener to
            </action>
            <action issue="JCS-199" dev="tv" type="fix">
                Properly shut down auxiliary caches
            </action>
            <action issue="JCS-182" dev="tv" type="fix">
                Fix NPE while closing data source
            </action>
            <action issue="JCS-201" dev="tv" type="fix">
                Fix initialization sequence
            </action>
            <action issue="JCS-122" dev="tv" type="remove">
                Remove dependency on commons-logging
            </action>
            <action issue="JCS-122" dev="tv" type="add">
                Add a log abstraction layer for java.util.logging or log4j2
            </action>
            <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.1" date="2018-08-21">
          <action dev="kinow" type="fix" due-to="athun">
            Unexpected dispose() in CompositeCacheManager.release()
          </action>
          <action issue="JCS-183" dev="rmannibucau" type="fix">
            JCache CDI Integration is slow
          </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>
