Bump actions/cache from 3.0.2 to 3.0.3 master
authorGary Gregory <ggregory@rocketsoftware.com>
Tue, 31 May 2022 20:36:32 +0000 (16:36 -0400)
committerGary Gregory <ggregory@rocketsoftware.com>
Tue, 31 May 2022 20:36:32 +0000 (16:36 -0400)
.github/workflows/maven.yml
src/changes/changes.xml

index 9d4b78c3299d6ce3da4419b975bf3c3f028b0c18..cdaeb9170540cffea1fa27bfb455d3e89642b24d 100644 (file)
@@ -1,53 +1,53 @@
-# 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.
-
-name: Java CI
-
-on: [push, pull_request]
-
-jobs:
-  build:
-
-    runs-on: ${{ matrix.os }}
-    continue-on-error: ${{ matrix.experimental }}
-    strategy:
-      matrix:
-        os: [ubuntu-latest, windows-latest]
-        java: [ 8, 11, 17 ]
-        experimental: [false]
-#        include:
-#          - java: 18-ea
-#            os: ubuntu-latest
-#            experimental: true        
-#          - java: 18-ea
-#            os: windows-latest
-#            experimental: true        
-      fail-fast: false
-        
-    steps:
-    - uses: actions/checkout@v3
-    - uses: actions/cache@v3.0.2
-      with:
-        path: ~/.m2/repository
-        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-        restore-keys: |
-          ${{ runner.os }}-maven-
-    - name: Set up JDK ${{ matrix.java }}
-      uses: actions/setup-java@v3
-      with:
-        distribution: 'temurin'
-        java-version: ${{ matrix.java }}
-    - name: Build with Maven
-      run: mvn -V --file pom.xml --no-transfer-progress -DtrimStackTrace=false
+# Licensed to the Apache Software Foundation (ASF) under one or more\r
+# contributor license agreements.  See the NOTICE file distributed with\r
+# this work for additional information regarding copyright ownership.\r
+# The ASF licenses this file to You under the Apache License, Version 2.0\r
+# (the "License"); you may not use this file except in compliance with\r
+# the License.  You may obtain a copy of the License at\r
+#\r
+#      http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+name: Java CI\r
+\r
+on: [push, pull_request]\r
+\r
+jobs:\r
+  build:\r
+\r
+    runs-on: ${{ matrix.os }}\r
+    continue-on-error: ${{ matrix.experimental }}\r
+    strategy:\r
+      matrix:\r
+        os: [ubuntu-latest, windows-latest]\r
+        java: [ 8, 11, 17 ]\r
+        experimental: [false]\r
+#        include:\r
+#          - java: 18-ea\r
+#            os: ubuntu-latest\r
+#            experimental: true        \r
+#          - java: 18-ea\r
+#            os: windows-latest\r
+#            experimental: true        \r
+      fail-fast: false\r
+        \r
+    steps:\r
+    - uses: actions/checkout@v3\r
+    - uses: actions/cache@v3.0.3\r
+      with:\r
+        path: ~/.m2/repository\r
+        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}\r
+        restore-keys: |\r
+          ${{ runner.os }}-maven-\r
+    - name: Set up JDK ${{ matrix.java }}\r
+      uses: actions/setup-java@v3\r
+      with:\r
+        distribution: 'temurin'\r
+        java-version: ${{ matrix.java }}\r
+    - name: Build with Maven\r
+      run: mvn -V --file pom.xml --no-transfer-progress -DtrimStackTrace=false\r
index 9d74dacbeb5c7b6362dccfe79376f650c96e54fc..39f07aaac61f4a298c993e6a9c75bae36bf2e1e0 100644 (file)
-<?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.2" date="TBD">
-            <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>
-            <!-- UPDATE -->
-            <action dev="ggregory" type="update" due-to="Dependabot">
-               Bump actions/checkout from 2 to 3 #93.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
-               Bump actions/cache from 2.1.7 to 3.0.2 #86.
-            </action>
-            <action dev="ggregory" type="update" due-to="Gary Gregory">
-               Bump actions/setup-java from 2 to 3.
-            </action>
-            <action dev="tv" type="update" due-to="Dependabot">
-               Bump commons-parent from 52 to 53 #90.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-               Bump log4j-api from 2.17.1 to 2.17.2 #85.
-            </action>
-            <action dev="ggregory" type="update" due-to="Dependabot">
-               Bump log4j-core from 2.17.1 to 2.17.2 #87.
-            </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>
+<?xml version="1.0" encoding="UTF-8"?>\r
+       <!--\r
+               Licensed to the Apache Software Foundation (ASF) under one or more\r
+               contributor license agreements. See the NOTICE file distributed with\r
+               this work for additional information regarding copyright ownership.\r
+               The ASF licenses this file to you under the Apache License, Version\r
+               2.0 (the "License"); you may not use this file except in compliance\r
+               with the License. You may obtain a copy of the License at\r
+               http://www.apache.org/licenses/LICENSE-2.0 Unless required by\r
+               applicable law or agreed to in writing, software distributed under the\r
+               License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR\r
+               CONDITIONS OF ANY KIND, either express or implied. See the License for\r
+               the specific language governing permissions and limitations under the\r
+               License.\r
+       -->\r
+<document>\r
+       <properties>\r
+               <title>JCS Change Log</title>\r
+               <author email="dev@commons.apache.org">Apache Commons Developers</author>\r
+       </properties>\r
+       <body>\r
+        <release version="3.2" date="TBD">\r
+            <action dev="tv" type="fix" issue="JCS-231" due-to="Andrea Vettori">\r
+               Fix Lateral TCP cache recovery loop for empty TCP servers\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-230" due-to="Dorota Oeknigk-Urbanska">\r
+               UDPDiscoveryReceiver with EncryptingSerializer fails #88.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-229" due-to="Dorota Oeknigk-Urbanska">\r
+               LateralTCPListener class uses always StandardSerializer #89.\r
+            </action>\r
+            <!-- UPDATE -->\r
+            <action dev="ggregory" type="update" due-to="Dependabot">\r
+               Bump actions/checkout from 2 to 3 #93.\r
+            </action>\r
+            <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">\r
+               Bump actions/cache from 2.1.7 to 3.0.3 #86.\r
+            </action>\r
+            <action dev="ggregory" type="update" due-to="Gary Gregory">\r
+               Bump actions/setup-java from 2 to 3.\r
+            </action>\r
+            <action dev="tv" type="update" due-to="Dependabot">\r
+               Bump commons-parent from 52 to 53 #90.\r
+            </action>\r
+            <action dev="ggregory" type="update" due-to="Dependabot">\r
+               Bump log4j-api from 2.17.1 to 2.17.2 #85.\r
+            </action>\r
+            <action dev="ggregory" type="update" due-to="Dependabot">\r
+               Bump log4j-core from 2.17.1 to 2.17.2 #87.\r
+            </action>\r
+        </release>\r
+        <release version="3.1" date="2022-01-03">\r
+            <action dev="tv" type="fix" due-to="Bruno Kinoshita">\r
+               Use new SecureRandom() instead of SecureRandom.getStrongInstance() to \r
+               avoid potential performance problems on Linux\r
+            </action>\r
+            <action dev="tv" type="fix" due-to="Patrick Ziegler" issue="JCS-228">\r
+               Attempt to fix osgi import packages\r
+            </action>\r
+            <action dev="tv" type="fix" due-to="Prajakta Uplaikar" issue="JCS-191">\r
+               Fix for Server Failover mechanism not working, add test\r
+            </action>\r
+            <action type="update" dev="ggregory" due-to="Gary Gregory">\r
+               Update from Apache Log4j 2.14.1 to 2.17.1\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               Autodetect lateral service address on the interface used for multicast - \r
+               depending on the multicast protocol: \r
+               IPv6 link-local address for IPv6 multicast,\r
+               IPv4 site-local address for IPv4 multicast\r
+            </action>\r
+            <action dev="tv" type="fix" due-to="Alex L" issue="JCS-186">\r
+               Use configured listener address for UDP service broadcast\r
+            </action>\r
+            <action dev="tv" type="fix" due-to="Alex L" issue="JCS-186">\r
+               Fix UDP service discovery with LateralCache\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               Use NIO for UDP service discovery, works with IPv6 now\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               Use NIO for LateralTCPListener\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               IMPORTANT CHANGE\r
+               Use IElementSerializer for LateralTCPSender and listener\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               IMPORTANT CHANGE\r
+               Use IElementSerializer for RemoteHttpCacheServlet\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               IMPORTANT CHANGE\r
+               Use IElementSerializer for Block disk key storage\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               IMPORTANT CHANGE\r
+               Use IElementSerializer for UDP service discovery\r
+            </action>\r
+            <action dev="tv" type="fix">\r
+               Fix shutdown race conditions\r
+            </action>\r
+            <action dev="tv" type="add">\r
+               Add EncryptingSerializer and some documentation\r
+            </action>\r
+            <action dev="tv" type="update">\r
+               Replace several Runnable classes with Lambdas\r
+               Deprecate original classes\r
+            </action>\r
+            <action dev="tv" type="remove">\r
+                Remove support for long deprecated and inconsistent \r
+                RemoteCacheServer configuration keys\r
+                - remote.cache.service.port is now jcs.remotecache.serverattributes.servicePort\r
+                - remote.cache.rmiSocketFactoryTimeoutMillis is now jcs.remotecache.serverattributes.rmiSocketFactoryTimeoutMillis\r
+                - remote.cluster.LocalClusterConsistency is now jcs.remotecache.serverattributes.LocalClusterConsistency\r
+                - remote.cluster.AllowClusterGet is now jcs.remotecache.serverattributes.AllowClusterGet\r
+            </action>\r
+            <action dev="ggregory" type="add" due-to="Gary Gregory">\r
+                Add BlockDiskKeyStore.isEmpty().\r
+            </action>\r
+            <action dev="ggregory" type="add" due-to="Gary Gregory">\r
+                Add IndexedDisk.isEmpty().\r
+            </action>\r
+            <action type="update" dev="ggregory" due-to="Gary Gregory">\r
+               Update from Apache Commons Lang 3.10 to 3.12.0.\r
+            </action>\r
+            <action dev="ggregory" type="update" due-to="Gary Gregory">\r
+               Bump build actions/setup-java from v1.4.3 to v2.\r
+            </action>\r
+            <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">\r
+               Update from Apache Commons IO 2.8.0 to 2.10.0, #72.\r
+            </action>\r
+            <action type="update" dev="ggregory" due-to="Dependabot">\r
+               Bump actions/cache from 2.1.5 to 2.1.6 #70.\r
+            </action>\r
+            <action type="update" dev="ggregory" due-to="Dependabot">\r
+               Bump log4j-api from 2.13.2 to 2.17.1 #79, #81.\r
+            </action>\r
+        </release>\r
+        <release version="3.0" date="2020-08-16">\r
+            <action issue="JCS-205" dev="tv" type="fix">\r
+                Fix packaging\r
+            </action>\r
+            <action issue="JCS-46" dev="tv" type="add">\r
+                Add configuration option to specify the datagram \r
+                time-to-live in UDPDiscoverySender\r
+            </action>\r
+            <action dev="tv" type="add">\r
+                Add configuration option to specify the network interface\r
+                to use for UDP multicast\r
+            </action>\r
+            <action issue="JCS-166" dev="tv" type="add">\r
+                Add configuration option to specify the host to bind the\r
+                LateralTCPListener to\r
+            </action>\r
+            <action issue="JCS-199" dev="tv" type="fix">\r
+                Properly shut down auxiliary caches\r
+            </action>\r
+            <action issue="JCS-182" dev="tv" type="fix">\r
+                Fix NPE while closing data source\r
+            </action>\r
+            <action issue="JCS-201" dev="tv" type="fix">\r
+                Fix initialization sequence\r
+            </action>\r
+            <action issue="JCS-122" dev="tv" type="remove">\r
+                Remove dependency on commons-logging\r
+            </action>\r
+            <action issue="JCS-122" dev="tv" type="add">\r
+                Add a log abstraction layer for java.util.logging or log4j2\r
+            </action>\r
+            <action dev="tv" type="add">\r
+                Add a get method to CacheAccess that allows a Supplier to be specified\r
+            </action>\r
+            <action dev="tv" type="remove">\r
+                Remove dependency on velocity-tools\r
+            </action>\r
+            <action dev="tv" type="remove">\r
+                Remove deprecated code\r
+            </action>\r
+            <action issue="JCS-181" dev="tv" type="update">\r
+                Update dependency to httpclient 4.5.3\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Update dependency commons-dbcp2\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Finally require Java 8\r
+            </action>\r
+        </release>\r
+        <release version="2.2.1" date="2018-08-21">\r
+          <action dev="kinow" type="fix" due-to="athun">\r
+            Unexpected dispose() in CompositeCacheManager.release()\r
+          </action>\r
+          <action issue="JCS-183" dev="rmannibucau" type="fix">\r
+            JCache CDI Integration is slow\r
+          </action>\r
+        </release>\r
+        <release version="2.2" date="2017-08-02">\r
+            <action issue="JCS-180" dev="rmannibucau" type="fix">\r
+                CacheInvocationContextImpl NPE if method doesnt have any argument\r
+            </action>\r
+            <action issue="JCS-179" dev="tv" type="fix" due-to="Archer">\r
+                RemoteCacheServerFactory not able to start server \r
+            </action>\r
+            <action issue="JCS-178" dev="tv" type="fix">\r
+                Clients using RemoteCache are not working. Add a test. \r
+            </action>\r
+            <action dev="tv" type="add">\r
+                Add a shutdown() method to JCS\r
+            </action>\r
+            <action issue="JCS-177" dev="tv" type="fix" due-to="Ryan Fong">\r
+                Fix: CompositeCacheManager leaks memory if CacheAccess.dipose is called\r
+            </action>\r
+        </release>\r
+        <release version="2.1" date="2017-02-05">\r
+            <action dev="tv" type="fix">\r
+                SoftReference cache did not work because of strong references being \r
+                stored in payload of DoubleLinkedListNode\r
+            </action>\r
+            <action issue="JCS-172" dev="tv" type="fix" due-to="Tom Schroeder">\r
+                ElementAttributes.clone() not updating createTime causes cache elements\r
+                to expire immediately \r
+            </action>\r
+            <action issue="JCS-171" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                Multiple CacheEventQueue.QProcessor spawned for the same cache region \r
+            </action>\r
+            <action issue="JCS-170" dev="rmannibucau" type="fix">\r
+                Replace at least commas for jmx registration\r
+            </action>\r
+        </release>\r
+        <release version="2.0" date="2016-12-25" description="JDK 1.6 based major release">\r
+            <action issue="JCS-119" dev="tv" type="update">\r
+                Improve concurrency in\r
+                - CompositeCacheManager\r
+                - CacheEventQueue\r
+                - CacheWatchRepairable\r
+                - LHMLRUMemoryCache\r
+            </action>\r
+            <action issue="JCS-169" dev="rmannibucau" type="fix">\r
+                JCache Access Expiry not respected\r
+            </action>\r
+            <action issue="JCS-168" dev="rmannibucau" type="fix">\r
+                cdi/nocdi jcache jar doesnt contain the right \r
+                META-INF/services/javax.enterprise.inject.spi.Extension file\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Deprecate JCS.defineRegion() methods\r
+            </action>\r
+        </release>\r
+        <release version="2.0-beta-2" date="2016-11-01" description="JDK 1.6 based major release (beta-2)">\r
+            <action dev="tv" type="remove">\r
+                Remove size limitation configuration of indexed cache recycle bin\r
+            </action>\r
+            <action dev="tv" type="remove">\r
+                Replace SortedPreferentialArray with JDK ConcurrentSkipListSet\r
+            </action>\r
+            <action dev="tv" type="remove">\r
+                Replace SingleLinkedList with JDK ConcurrentLinkedQueue\r
+            </action>\r
+            <action issue="JCS-130" dev="tv" type="update">\r
+                Simplify management of auxiliary caches\r
+            </action>\r
+            <action issue="JCS-165" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                Fix: BlockDiskCache partial remove / group remove doesn't work\r
+            </action>\r
+            <action issue="JCS-156" dev="sebb" type="fix" due-to="Ryan Fong">\r
+                BlockDiskCache is limited to 2GB\r
+            </action>\r
+            <action issue="JCS-162" dev="tv" type="fix" due-to="Ryan Fong">\r
+                Fix: Memory region properties documentation incorrect\r
+            </action>\r
+            <action issue="JCS-161" dev="tv" type="fix" due-to="Ryan Fong">\r
+                Fix: Dynamic regions leak memory upon dispose due to ShrinkerTask\r
+            </action>\r
+            <action issue="JCS-54" dev="tv" type="add" due-to="Tore Halset">\r
+                Add soft reference memory cache\r
+            </action>\r
+            <action issue="JCS-78" dev="tv" type="fix" due-to="Marko Stipanov">\r
+                Fix: RemoteCacheStartupServlet can't start with config outside classpath\r
+            </action>\r
+            <action dev="tv" type="add" due-to="Wiktor Niesiobedzki">\r
+                Add verification of block disk cache key file.\r
+            </action>\r
+            <action issue="JCS-159" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                Fix: BlockDiskCache overwrites data after loading from disk\r
+            </action>\r
+            <action dev="tv" type="fix" due-to="Mat Jaggard">\r
+                Fix Javadoc for Java 8\r
+            </action>\r
+            <action issue="JCS-116" dev="tv" type="fix" due-to="Sebb">\r
+                Fix: CompositeCacheManager is thread-hostile\r
+            </action>\r
+            <action issue="JCS-158" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                Fix NullPointerException in IndexedDiskCache.addToRecycleBin(...)\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Reduce synchronization\r
+            </action>\r
+            <action issue="JCS-153" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                Fix file size limitation for Block Disk Cache and Indexed Disk Cache\r
+            </action>\r
+            <action issue="JCS-149" dev="tv" type="fix" due-to="Youngho Cho">\r
+                When reading keys from disk, a StreamCorruptedException happens when a custom serializer is applied\r
+            </action>\r
+            <action issue="JCS-48" dev="tv" type="update" due-to="Hanasaki Jiji">\r
+                Replace PoolAccess with a DataSourceFactory model borrowed from DB-Torque\r
+            </action>\r
+            <action dev="tv" type="fix">\r
+                Fix removal of items from group cache, added several tests\r
+            </action>\r
+            <action dev="tv" type="add">\r
+                Add orderly shutdown of ThreadPoolManager\r
+            </action>\r
+            <action issue="JCS-124" dev="tv" type="update" due-to="Richard Eigenmann">\r
+                Make the code in Step 5 on the JCS overview page a full working class that can compile\r
+            </action>\r
+            <action issue="JCS-140" dev="rmannibucau" type="fix" due-to="liangjiarui">\r
+                JCacheFilter code logic error, first hit always fails\r
+            </action>\r
+            <action issue="JCS-147" dev="tv" type="add" due-to="Wiktor Niesiobedzki">\r
+                Provide file size limitation for Block Disk Cache and Indexed Disk Cache\r
+            </action>\r
+            <action issue="JCS-96" dev="tv" type="fix" due-to="Gregory Fernandez">\r
+                Incomplete shutdown of RemoteCacheServer\r
+            </action>\r
+            <action issue="JCS-148" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                Unnecessary use of FileChannel.force() in Indexed and Block Disk Caches\r
+            </action>\r
+            <action issue="JCS-146" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                IndexedDiskCache: Mismatched memory and disk length (0) for \r
+                [DED:  pos = 63802 len = 9658] during optimization\r
+            </action>\r
+            <action issue="JCS-145" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                AbstractDiskCacheAttributes logs error, when directory already exists\r
+            </action>\r
+            <action issue="JCS-144" dev="tv" type="fix" due-to="Wiktor Niesiobedzki">\r
+                BlockDiskCache hangs on SEVERE: Region [TMS] Failure getting from disk--IOException\r
+            </action>\r
+            <action issue="JCS-141" dev="tv" type="fix" due-to="validruk">\r
+                RemoteCacheServerFactory ignores configuration\r
+            </action>\r
+        </release>\r
+               <release version="2.0-beta-1" date="2015-02-19" description="JDK 1.6 based major release (beta 1)">\r
+            <action issue="JCS-139" dev="tv" type="fix" due-to="Youngho Cho">\r
+                PropertySetter doesn't set Enum properly. Added a test.\r
+            </action>\r
+            <action issue="JCS-136" dev="tv" type="fix" due-to="Youngho Cho">\r
+                OutOfMemoryError when using compressing serializer\r
+            </action>\r
+            <action issue="JCS-133" dev="sebb" type="fix">\r
+                RemoteUtils.getNamingURL does not handle IPv6 numeric addresses properly\r
+            </action>\r
+            <action issue="JCS-131" dev="tv" type="remove">\r
+                Remove KeyGeneratorUtil and AddressUtil as they are not used\r
+            </action>\r
+            <action issue="JCS-113" dev="tv" type="fix">\r
+                Improve error handling by bubbling up exceptions\r
+            </action>\r
+            <action dev="rmannibucau" type="add">\r
+                jcache-extra module to provide basic classes based on JCache API.\r
+            </action>\r
+            <action dev="rmannibucau" type="add">\r
+                Web CacheFilter to cache http responses.\r
+            </action>\r
+            <action dev="rmannibucau" type="add">\r
+                OpenJPA L2 Cache based on JCache API.\r
+            </action>\r
+            <action dev="rmannibucau" type="update">\r
+                Allow configuration to set its TimeFactorForMilliseconds and\r
+                use second by default.\r
+                This has as impact to remove "Seconds" suffix from corresponding configurations.\r
+            </action>\r
+            <action issue="JCS-115" dev="tv" type="fix">\r
+                JDBCDiskCachePoolAccessManager is thread hostile\r
+            </action>\r
+            <action issue="JCS-118" dev="olamy" type="add" due-to="Romain Manni-Bucau">\r
+                Add jcache implementation\r
+            </action>\r
+            <action issue="JCS-113" dev="sebb" type="fix">\r
+                Potential NPE in JDBCDiskCache\r
+                Fixed NPEs in getSize() and getStatistics()\r
+            </action>\r
+            <action issue="JCS-112" dev="sebb" type="fix">\r
+                RemoteCacheServer.logUpdateInfo bug updating put count\r
+            </action>\r
+            <action dev="tv" type="fix">\r
+                Fix updating of last access time, add tests for event handling\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Update documentation to reflect generics and API changes\r
+            </action>\r
+            <action dev="tv" type="remove">\r
+                Remove dependency on commons-lang3\r
+            </action>\r
+            <action dev="tv" type="add">\r
+                Add simple JMX monitoring feature by exposing the JCSAdminBean to JMX\r
+            </action>\r
+            <action dev="tv" type="update" issue="JCS-109" due-to="Xiong LIU">\r
+                Improve performance of BlockDisk.write(Serializable)\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-102" due-to="Robert Clark">\r
+                Reworked the interfaces to make the group cache typesafe\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-108" due-to="Xiong LIU">\r
+                Fix return value of BlockDisk.write(long, byte[])\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Change package to org.apache.commons.jcs, groupId to org.apache.commons,\r
+                artifactId to commons-jcs and version to 2.0-SNAPSHOT\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-95" due-to="Nicolas Gomez Navarrete">\r
+                Map region names to valid file names.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-106" due-to="Johannes Weberhofer">\r
+                Bad comparison of int with Long.MAX_VALUE.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-103" due-to="Pavel Novak">\r
+                MaxMemoryIdleTimeSeconds default value is wrongly documented.\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Use central thread pool instance to clean up the code.\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Use type-safe enums instead of integer constants to clean up the code.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-91" due-to="Diego Rivera">\r
+                JCS fails to properly dispose of the lateral TCP listener thread.\r
+                If a webapp that uses JCS lateral TCP cache is undeployed, the listener is left\r
+                hanging with no hope for exit.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-49" due-to="David Easley">\r
+                Contradictory documentation on RemoveUponRemotePut default value.\r
+            </action>\r
+            <action dev="tv" type="add" issue="JCS-94" due-to="Andrew Leamon">\r
+                Add getGroupNames() to all caches.\r
+            </action>\r
+            <action dev="tv" type="add" issue="JCS-94" due-to="Andrew Leamon">\r
+                LateralTCPService should implement getGroupKeys.\r
+            </action>\r
+            <action dev="tv" type="update" issue="JCS-75" due-to="Chiat Lam">\r
+                CompositeCache: Add method to get auxiliary caches, changed\r
+                visibility of isExpired() to protected.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-73" due-to="Alexander Kleymenov">\r
+                Concurrent cache access causes values loss.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-77" due-to="Matt Morrisson">\r
+                NullPointerException thrown by IndexedDiskCache if IndexedDisk calls fail to\r
+                initialize.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-90" due-to="Diego Rivera">\r
+                When issuing a shutDown() command, JCS fails to clean up the Queue Processor\r
+                thread.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-89" due-to="Diego Rivera">\r
+                UDP Discovery fails to report correct IP address to peers for back-connect\r
+                when InetAddress.getLocalHost() fails to return an externally-visible\r
+                address (i.e. returns a local address)\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-88" due-to="Diego Rivera">\r
+                Add a test to verify correct block size calculation\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Change the interfaces to use generics\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-86" due-to="Roman Solo">\r
+                Fix region properties documentation.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-22" due-to="Michael Jordan">\r
+                Throw an explicit CacheException when a cache manager instance cannot\r
+                read its configuration.\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-79" due-to="Graham Leggett">\r
+                Fix NPE in CompositeCacheConfigurator.parseRegion\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-68" due-to="Niall Gallagher">\r
+                Made RemoteCacheServer public, added remote cache remove feature to\r
+                JCSAdminBean\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-82" due-to="Nikunj Trivedi">\r
+                Use oos.writeUnshared() for LateralTCPSender\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-69" due-to="Michael Stevens">\r
+                Ensure shutdown of LateralCacheMonitor\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-11" due-to="Peter Schwarz">\r
+                Add method for programmatic configuration to JCS\r
+            </action>\r
+            <action dev="tv" type="fix" issue="JCS-84" due-to="Aleksandar Ivanisevic">\r
+                Increase precision of CREATE_TIME, fix name of UPDATE_TIME_SECONDS\r
+                column.\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Update IndexDisk and BlockDisk to use NIO in an attempt to fix\r
+                a timing-dependent test failure.\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Update build files to make JCS a true Apache Commons component.\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Set UTF-8 encoding on all source files\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Move site generation to Maven 2. Integrate site into Apache Commons.\r
+            </action>\r
+            <action dev="tv" type="fix">\r
+                Fix VelocityServlet deprecation\r
+            </action>\r
+                       <action dev="bayard" type="add">\r
+                           Upgraded Commons Lang dependency to 3.0\r
+                       </action>\r
+            <action dev="tv" type="update">\r
+                Move to JDK 5 Generics\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Move to JDK 5 Concurrent\r
+            </action>\r
+            <action dev="tv" type="update">\r
+                Move build system to Maven 2\r
+            </action>\r
+               </release>\r
+               <release version="1.3.3.5" date="2009-08-12" description="tempbuild">\r
+                       <action dev="asmuts" type="fix" issue="JCS-67">Fixed bug in\r
+                               indexed disk cache. Partial key removal was adding duplicates in the\r
+                               recycle bin. This lead to the multiple keys pointing to the same spot\r
+                               on disk.</action>\r
+               </release>\r
+               <release version="1.3.3.4" date="2009-08-11" description="tempbuild">\r
+                       <action dev="asmuts" type="fix" issue="JCS-66">Fixed bug in block\r
+                               disk cache. It couldn't handle items with more than 127 blocks. Now\r
+                               it can. (Note: for performance reasons, you should try to fit your\r
+                               items in as few blocks as possible.)</action>\r
+               </release>\r
+               <release version="1.3.3.3" date="2009-07-23" description="tempbuild">\r
+                       <action dev="asmuts" type="update">TCP Lateral now uses a queuing\r
+                               zombie service during recovery.</action>\r
+                       <action dev="asmuts" type="update">Refactored UDP Discovery.\r
+                       </action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-60">Slots for same key\r
+                               updates now get added to the recycle bin.</action>\r
+                       <action dev="asmuts" type="update" issue="JCS-58">Added File Disk\r
+                               Cache.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-53">Default\r
+                               properties should now work.</action>\r
+                       <action dev="asmuts" type="update">Caught Throwable in JDBC disk\r
+                               cache shrinker, so it won't die.</action>\r
+               </release>\r
+               <release version="1.3.3.2" date="2009-06-11" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added a compressing serializer.\r
+                       </action>\r
+                       <action dev="asmuts" type="update">Added an LHMLRUMemoryCache.\r
+                       </action>\r
+               </release>\r
+               <release version="1.3.3.1" date="2009-05-22" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added a clearDiskOnStartup\r
+                               configuration option for the IndexedDisk Cache. False by default.\r
+                       </action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-56">Fixed data chunking\r
+                               bug in BlockDisk.</action>\r
+               </release>\r
+               <release version="1.3.3.0" date="2009-05-22" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Made "openTimeOut" and\r
+                               "socketTimeOut" configurable on the TCP Lateral.</action>\r
+               </release>\r
+               <release version="1.3.2.9" date="2009-02-02" description="tempbuild">\r
+                       <action dev="asmuts" type="fix">Fixed bug in Remote Http Client\r
+                               URL creation for query strings.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-55" due-to="Alexander Sofronov"> Fixed\r
+                               disk cache custom serializer injection.</action>\r
+               </release>\r
+               <release version="1.3.2.8" date="2008-12-16" description="tempbuild">\r
+                       <action dev="asmuts" type="fix">Fixed bug remote cache listener\r
+                               interface.</action>\r
+               </release>\r
+               <release version="1.3.2.7" date="2008-12-15" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added a simple http remote\r
+                               cache client and server.</action>\r
+                       <action dev="asmuts" type="fix">Fixed bug in the MySQLDiskCache\r
+                               optimizer. It can now use a shared pool.</action>\r
+               </release>\r
+               <release version="1.3.2.6" date="2008-12-01" description="tempbuild">\r
+                       <action dev="asmuts" type="fix">Fixed balking bug in\r
+                               getMatching( String pattern ) API.</action>\r
+                       <action dev="asmuts" type="fix">Fixed event naming bug in\r
+                               getMatching( String pattern ) API.</action>\r
+               </release>\r
+               <release version="1.3.2.5" date="2008-11-20" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added a getMatching( String\r
+                               pattern ) API.</action>\r
+               </release>\r
+               <release version="1.3.2.4" date="2008-?" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added the ability to inject a\r
+                               custom event queue. You simply specify the classname as the type.\r
+                       </action>\r
+                       <action dev="asmuts" type="update">Added the ability to share a\r
+                               connection pool amongst different JBC disk cache instances.</action>\r
+               </release>\r
+               <release version="1.3.2.3" date="2008-09-26" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added the ability to inject a\r
+                               custom RMI socket factory to be used by the remote cache server.\r
+                       </action>\r
+               </release>\r
+               <release version="1.3.2.2" date="2008-09-17" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Added a registry keep alive and\r
+                               restore option for the remote cache server.</action>\r
+               </release>\r
+               <release version="1.3.2.1" date="2008-09-08" description="tempbuild">\r
+                       <action dev="asmuts" type="update">Made all disk cache managers\r
+                               handle custom event loggers.</action>\r
+               </release>\r
+               <release version="1.3.2.0" date="2008-08-29" description="tempbuild">\r
+                       <action dev="asmuts" type="update"> Added eventLogging to major\r
+                               auxiliaries and to the auxiliary factory interface. This allows you\r
+                               to time and monitor the internal working of the cache.</action>\r
+                       <action dev="asmuts" type="update">Moving to JDK 1.4 compliance.\r
+                               1.3 not supported.</action>\r
+                       <action dev="asmuts" type="update"> Added the ability to inject custom\r
+                               serializers into auxiliary caches.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-40" due-to="Niall Gallagher"> Added a\r
+                               work-around to the host address resolution used by the TCP lateral\r
+                               and the remote cache.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-38" due-to="Timothy Cronin"> Added\r
+                               getSource to IElementEvent interface.</action>\r
+                       <action dev="asmuts" type="update" issue="JCS-44" due-to="Maxim Gordienko"> Made\r
+                               spool chunk size configurable.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-41" due-to="Niall Gallagher"> Added\r
+                               RMI socket connect timeout. Made this configurable on the server and\r
+                               client.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-36" due-to="Matthias Kerkhoff">Fixed\r
+                               client decrement count in indexed disk cache.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-32" due-to="Andy">Moved\r
+                               shutdown hook from disk cache to composite cache manager.</action>\r
+               </release>\r
+               <release version="1.3.1.0" date="2008-04-11" description="tempbuild">\r
+                       <action dev="asmuts" type="update" due-to="Chris Fairbanks"> Added getMultiple()\r
+                               method to ICache</action>\r
+               </release>\r
+               <release version="1.3" date="2007-06-05" description="First formal release">\r
+                       <action dev="tv" type="update"> Updated/added license headers in all\r
+                               files.</action>\r
+               </release>\r
+               <release version="1.2.7.9.3" date="in SVN">\r
+                       <action dev="asmuts" type="fix" issue="JCS-15" due-to="Kevin Preece"> Fixed\r
+                               partial key and group id removal bug in indexed disk cache.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-20" due-to="Alistair Forbes"> Fixed\r
+                               partial key removal SQL syntax problem with the JDBC disk cache.\r
+                       </action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-21" due-to="Michael Stevens"> Fixed a\r
+                               few minor missing locks.</action>\r
+               </release>\r
+               <release version="1.2.7.9.2" date="in SVN">\r
+                       <action dev="asmuts" type="update"> Added a summary page to the\r
+                               JCSAdmin.jsp that just dumps the stats for a region. It doesn't\r
+                               display all the keys.</action>\r
+                       <action dev="asmuts" type="update"> Added get, put, and remove counts\r
+                               to the lateral and remote stats. Added hit count to disk cache\r
+                               stats.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-12" due-to="John Klame"> Fixed\r
+                               non thread safe OOS writes in the TCP Lateral Sender. This was\r
+                               causing endless loops deep down in the OOS code.</action>\r
+               </release>\r
+               <release version="1.2.7.9" date="in SVN">\r
+                       <action dev="asmuts" type="fix" issue="JCS-1"> Fixed last element too\r
+                               small recycle bin bug.</action>\r
+                       <action dev="asmuts" type="update" issue="JCS-2"> Added the ability to\r
+                               send all items to disk or to use the disk merely as a swap. This is\r
+                               done by setting the DiskUsagePattern on the cache attributes for a\r
+                               region.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-3" due-to="Peter Schwarz"> Disk\r
+                               optimization now occurs in place, without using additional files. It\r
+                               is far more efficient.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-4"> The disk cache will not\r
+                               optimize on shutdown if the freedata size is 0.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-8"> Remote cache client\r
+                               will now shutdown properly.</action>\r
+                       <action dev="asmuts" type="fix" issue="JCS-9"> Only send memory items\r
+                               to disk auxiliaries on shutdown.</action>\r
+               </release>\r
+               <release version="1.2.7.8" date="in SVN">\r
+                       <action dev="asmuts" type="update"> Added the ability to schedule\r
+                               optimizations for the MySQL disk cache. It can also recover from\r
+                               optimization failure and repair the table. It's been tested and is\r
+                               running in a production environment.</action>\r
+               </release>\r
+               <release version="1.2.7.7" date="in SVN">\r
+                       <action dev="asmuts" type="fix" due-to="Brian Crow  @noteworthyms.com"> Fixed the array index\r
+                               out of bounds exception in the Sorted Preferential Array.</action>\r
+               </release>\r
+               <release version="1.2.7.6" date="in SVN">\r
+                       <action dev="asmuts" type="fix" due-to="Rick Szeto @vizible.com"> Fixed UDP discovery\r
+                               configuration problem. The discovery address was not being used. It\r
+                               was broken in the last release.</action>\r
+                       <action dev="asmuts" type="fix" due-to="Alistair Forbes"> Fixed disk cache class\r
+                               cast problem when running inside the remote cache. The disk cache\r
+                               was casting to an instance and not the ICacheElement interface.\r
+                       </action>\r
+               </release>\r
+               <release version="1.2.7.3" date="in SVN">\r
+                       <action dev="asmuts" type="update" due-to=""> You can now\r
+                               configure the remote cache client to not receive from the remote\r
+                               server.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Added a new xdoc\r
+                               for the Remote Cache properties.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Improved the jcs\r
+                               admin jsp: added stats details, better navigation, item lookup, and\r
+                               remove confirmation.</action>\r
+               </release>\r
+               <release version="1.2.7.2" date="in SVN">\r
+                       <action dev="asmuts" type="update" due-to=""> You can configure\r
+                               the remote cache to use a custom RMI Socket Factory with socket\r
+                               timeouts.</action>\r
+                       <action dev="hchar" type="fix" due-to=""> Removed redundant\r
+                               system out logging from remote cache server.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Added additional\r
+                               stats for remote cache.</action>\r
+               </release>\r
+               <release version="1.2.7.1" date="in SVN">\r
+                       <action dev="asmuts" type="update" due-to=""> Added a JDBC disk\r
+                               cache. It has been tested with MYSql and HSQL.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Added a special\r
+                               HSQL implementation of the JDBC disk cache. This replaces the\r
+                               previous experimental HSQL implementation.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Added a new xdoc\r
+                               for the JDBC Disk Cache properties.</action>\r
+               </release>\r
+               <release version="1.2.7.0" date="in SVN">\r
+                       <action dev="asmuts" type="update" due-to=""> Removed\r
+                               dependencies on commons-lang and on commons-collections from the\r
+                               core of JCS.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Increased test\r
+                               coverage.</action>\r
+                       <action dev="asmuts" type="fix" due-to=""> Fixed entry set\r
+                               creation problem in LRUMap.</action>\r
+               </release>\r
+               <release version="1.2.6.9" date="in SVN">\r
+                       <action dev="asmuts" type="update" due-to=""> The remote cache\r
+                               now sends a byte array to the server instead of the class. This\r
+                               allows you to run the remote server without copies of your objects\r
+                               in its classpath. This makes the remote server far easier to use.\r
+                       </action>\r
+                       <action dev="asmuts" type="update" due-to=""> Created an\r
+                               interface for cache element serializers and made a default\r
+                               implementation. This will allow use to use other serialization\r
+                               mechanisms in the future. I converted the remote cache to use the\r
+                               standard serializer.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Added several new\r
+                               unit tests.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Improved Javadocs\r
+                               throughout.</action>\r
+               </release>\r
+               <release version="1.2.6.8" date="in SVN">\r
+                       <action dev="asmuts" type="fix" due-to=""> Moved synchronization\r
+                               from the client to the sorted preferential array. This solved the\r
+                               index out of bounds exception that appeared periodically on disk\r
+                               cleanup.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Improved Javadocs\r
+                               throughout.</action>\r
+               </release>\r
+               <release version="1.2.6.7" date="in SVN">\r
+                       <action dev="asmuts" type="fix" due-to="Adam Siefker @amazon.com"> Fixed shutdown for\r
+                               lateral. Added shutdown observer framework. Changed listener thread\r
+                               to a daemon. Made executor on listener use a daemon setting thread\r
+                               factory.</action>\r
+                       <action dev="asmuts" type="fix" due-to=""> Fixed abstract inner\r
+                               class references for Jikes.</action>\r
+                       <action dev="asmuts" type="update" due-to=""> Improved Javadocs\r
+                               throughout.</action>\r
+               </release>\r
+               <release version="1.2.6.6" date="in SVN">\r
+                       <action dev="asmuts" type="fix"> Properties are loaded using the\r
+                               current thread's classloader by default.</action>\r
+                       <action dev="asmuts" type="fix"> When a config file is not found a\r
+                               descriptive error message is printed to the logs.</action>\r
+                       <action dev="asmuts" type="update"> Made an interface for the cache\r
+                               manager to improve testability.</action>\r
+                       <action dev="asmuts" type="update"> Auxiliaries are assigned a cache\r
+                               manager and the lateral TCP has a settable source id, so it can be\r
+                               tested.</action>\r
+                       <action dev="asmuts" type="update"> Increased JGroups version to 2.2.8.\r
+                               It works again. The old JGroups didn't work for unknown reasons.\r
+                       </action>\r
+                       <action dev="asmuts" type="update"> Cleaned up some javadocs.</action>\r
+                       <action dev="asmuts" type="update"> Improved info level logging for TCP\r
+                               lateral.</action>\r
+                       <action dev="asmuts" type="update"> Added configuration properties\r
+                               xdocs for TCP lateral, indexed disk, and memory cache.</action>\r
+                       <action dev="asmuts" type="update"> Created concurrent tests for TCP\r
+                               lateral to verify correct region behavior.</action>\r
+                       <action dev="asmuts" type="update"> Made BDBJE work with new auxiliary\r
+                               changes.</action>\r
+                       <action dev="asmuts" type="fix"> UDP discovery no longer activates\r
+                               if the lateral type isn't TCP.</action>\r
+                       <action dev="asmuts" type="fix"> Reduced lateral get timeout to 1\r
+                               second, rather than 10. We still need to disable gets when a timeout\r
+                               occurs.</action>\r
+               </release>\r
+       </body>\r
+</document>\r