This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jcs.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b5775a9 Bump actions/cache from 3.0.2 to 3.0.3
3b5775a9 is described below

commit 3b5775a950ff2bbb4fda25c5089ddb6ee1d7a960
Author: Gary Gregory <ggreg...@rocketsoftware.com>
AuthorDate: Tue May 31 16:36:32 2022 -0400

    Bump actions/cache from 3.0.2 to 3.0.3
---
 .github/workflows/maven.yml |  106 +--
 src/changes/changes.xml     | 1596 +++++++++++++++++++++----------------------
 2 files changed, 851 insertions(+), 851 deletions(-)

diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 9d4b78c3..cdaeb917 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -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
+# 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.3
+      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
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9d74dacb..39f07aaa 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,798 +1,798 @@
-<?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="d...@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"?>
+       <!--
+               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="d...@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.3 #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>

Reply via email to