Commits

Anonymous committed 0ad6db7

releasing 2.4.1

  • Participants
  • Parent commits cbe2614

Comments (0)

Files changed (6)

docs/wiki/Complete Change Log.html

 <html>
-    <head>
-        <title>OSCache - 
-        Complete Change Log
-         </title>
-	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
-        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    </head>
+<head>
+<title>OSCache - Complete Change Log</title>
+<link rel="stylesheet" href="styles/site.css" type="text/css" />
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
 
-    <body>
-	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
-		    <tr>
-			    <td valign="top" class="pagebody">
-				    <h2><a name="CompleteChangeLog-OSCache2.4"></a>OSCache 2.4</h2>
-<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
+<body>
+<table class="pagecontent" border="0" cellpadding="0" cellspacing="0"
+	width="100%" bgcolor="#ffffff">
+	<tr>
+		<td valign="top" class="pagebody">
+		<h2><a name="CompleteChangeLog-OSCache2.4.1"></a>OSCache 2.4.1</h2>
+		<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
 
-<p>(1st Mai 2007 - by Lars Torunski)</p>
+		<p>(1st July 2007 - by Lars Torunski)</p>
 
-<h4><a name="CompleteChangeLog-Newfeaturesandenhancements"></a>New features and enhancements</h4>
+		<h4><a
+			name="CompleteChangeLog-Thismaintenancereleaseof2.4.1hastwobugfixes%3A"></a>This
+		maintenance release of 2.4.1 has two bug fixes:</h4>
 
-<p>Furthermore the next major release 2.4 enhances the CacheFilter and allows a better integration with the <a href="http://www.springframework.org/" title="Visit page outside Confluence">Spring Framework</a> and <a href="JMX Monitoring.html" title="JMX Monitoring">JMX Monitoring</a>.</p>
+		<ul>
+			<li>The cacheFlushed method is not being invoked on the
+			CacheEntryEventListener</li>
+			<li>CacheFilter max-age parameter MAX_AGE_NO_INIT not set
+			properly</li>
+		</ul>
 
-<ul>
-	<li>Setting CacheFilter parameters runtime</li>
-	<li>Lazy initialization in CacheFilter in order to ease spring integration</li>
-	<li>Allow disabling cacheing for special http methods (e.g. POST/DELETE/PUT) in CacheFilter</li>
-	<li>CacheFilter allow reentrance over different filter configurations</li>
-</ul>
 
+		<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
 
-<ul>
-	<li>Hibernate 3.2 integration support</li>
-	<li>JMX Monitoring/Administration via Spring</li>
-	<li>Improve oscache.properties loading</li>
-	<li>Performance improvment for large disk persistence usage</li>
-</ul>
+		<p><a name="jiraissues">
+		<table width="100%" cellspacing="0" class="grid">
+			<tr>
+				<th colspan="4" style="text-align: left;"><a
+					href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img
+					src="/images/icons/refresh_16.png" height="16" width="16"
+					border="0" align="right" title="refresh" /></a> <a
+					href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony
+				JIRA</a> <span class="smalltext">(3 issues)</span></th>
+			</tr>
+			<tr>
+				<th style="text-align: left;">T</th>
+				<th style="text-align: left;">Key</th>
+				<th style="text-align: left;">Summary</th>
+				<th style="text-align: left;">Status</th>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-297"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-297">CACHE-297</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-297">max-age
+				parameter not set on ResponseContent object returned from cache when
+				using MAX_AGE_NO_INIT</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-296"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-296">CACHE-296</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-296">For
+				a Cache class the cacheFlushed method is not being invoked on the
+				CacheEntryEventListener.</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-279"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-279">CACHE-279</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-279">LRUCache
+				loses entries when updated by mutliple threads.</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21705&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+		</table></p>
 
 
-<h4><a name="CompleteChangeLog-UpgradeGuide"></a>Upgrade Guide</h4>
+		<h2><a name="CompleteChangeLog-OSCache2.4"></a>OSCache 2.4</h2>
+		<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
 
-<ul>
-	<li>Due to the enhancements in the CacheFilter and method signature changes, it's recommended to recompile your code.</li>
-	<li>Due to changes for CACHE-284 the handling of the listeners have been changed: Before OSCache 2.4 objects which implemented different CacheEventListener (e.g. CacheEntryEventListener and CacheMapAccessEventListener) had to be added twice, because the listeners where registrated only for one special event listener. With OSCache 2.4 only the object has to be added to the list without the 2nd parameter 'type of the listener'.</li>
-</ul>
+		<p>(1st Mai 2007 - by Lars Torunski)</p>
 
+		<h4><a name="CompleteChangeLog-Newfeaturesandenhancements"></a>New
+		features and enhancements</h4>
 
-<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
+		<p>Furthermore the next major release 2.4 enhances the CacheFilter
+		and allows a better integration with the <a
+			href="http://www.springframework.org/"
+			title="Visit page outside Confluence">Spring Framework</a> and <a
+			href="JMX Monitoring.html" title="JMX Monitoring">JMX Monitoring</a>.</p>
 
-<p><a name="jiraissues">
-    <table  width="100%" cellspacing="0" class="grid">
-        <tr>
-            <th colspan="4" style="text-align: left;">
-                                    <a href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img src="/images/icons/refresh_16.png" height="16" width="16" border="0" align="right" title="refresh"/></a>
-                                <a href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC&tempMax=30&reset=true&">OpenSymphony JIRA</a>
-                <span class="smalltext">(27 issues)</span>
-            </th>
-        </tr>
-        <tr>
-                        <th style="text-align: left;">
-                T                                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                Key                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                Summary                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                                                                                Status                                                                            </th>
-                    </tr>
-                                            <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-260"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-260">CACHE-260</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-260">NullPointerException in AbstractConcurrentReadCache</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-215"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-215">CACHE-215</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-215">Setting CacheFilter parameters runtime</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_resolved.gif" alt="Resolved" border="0" />Resolved
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-99"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-99">CACHE-99</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-99">Use lazy initialization in cache filter in order to ease spring integration</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_resolved.gif" alt="Resolved" border="0" />Resolved
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-258"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-258">CACHE-258</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-258">NullPointerException when using putCache(key, val) in LRUCache</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-273"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-273">CACHE-273</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-273">Update to Commons Logging 1.1</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-253"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-253">CACHE-253</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-253">Migrate from CVS to SVN</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-261"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-261">CACHE-261</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-261">Check javadoc of Cache.cancelUpdate on key not being updated </a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-163"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/issue_subtask.gif" alt="Sub-task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-163">CACHE-163</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-163">CacheFilter easier sub-classing via pre- and post-processes</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-162"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/issue_subtask.gif" alt="Sub-task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-162">CACHE-162</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-162">CacheFilter easier sub-classing via useCache</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-272"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-272">CACHE-272</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-272">Allow disabling of cacheing special http methods (e.g. POST/DELETE/PUT) in CacheFilter</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-277"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-277">CACHE-277</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-277">CacheFilter should allow reentrance over different filter configurations</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-283"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-283">CACHE-283</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-283">Improve oscache.properties loading</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-266"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/newfeature.gif" alt="New Feature" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-266">CACHE-266</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-266">ServletCacheAdministrator no longer a &quot;Servlet Singleton&quot;</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-267"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-267">CACHE-267</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-267">SplitServletOutputStream doesn&#39;t pass flush() on to underlying stream</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-141"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-141">CACHE-141</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-141">CacheFilter easier sub-classing</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-288"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-288">CACHE-288</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-288">Error in the HashDiskPersistenceListener byteArrayToHexString</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-264"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-264">CACHE-264</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-264">problem with not escaped group names and their filenames for disk persistence</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-255"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-255">CACHE-255</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-255"> AbstractConcurrentReadCache#put(Object key, Object value) may return a wrong value</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-249"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-249">CACHE-249</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-249">Performance improvment for large disk persistence usage</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-278"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-278">CACHE-278</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-278">Filter ignores max-age parameter when serving from cache</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-178"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/newfeature.gif" alt="New Feature" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-178">CACHE-178</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-178">JMX Monitoring/Administration via Spring</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_resolved.gif" alt="Resolved" border="0" />Resolved
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-284"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-284">CACHE-284</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-284">Cache.dispatchCacheEntryEvent and Cache.addEventListener implementations are inconsistent</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-274"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-274">CACHE-274</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-274">new method getIntialContext JMSBroadcastingListener</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-263"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-263">CACHE-263</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-263">Run FindBugs 1.1.3 against current source code</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-292"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-292">CACHE-292</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-292">CacheFilter max-age default and error-case initialisation are wrong</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-290"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-290">CACHE-290</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-290">Bad Practice</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-252"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-252">CACHE-252</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-252">Log warning if user tries to set max entries on an unlimited cache</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-            </table>
-</p>
+		<ul>
+			<li>Setting CacheFilter parameters runtime</li>
+			<li>Lazy initialization in CacheFilter in order to ease spring
+			integration</li>
+			<li>Allow disabling cacheing for special http methods (e.g.
+			POST/DELETE/PUT) in CacheFilter</li>
+			<li>CacheFilter allow reentrance over different filter
+			configurations</li>
+		</ul>
 
 
+		<ul>
+			<li>Hibernate 3.2 integration support</li>
+			<li>JMX Monitoring/Administration via Spring</li>
+			<li>Improve oscache.properties loading</li>
+			<li>Performance improvment for large disk persistence usage</li>
+		</ul>
 
 
-<h2><a name="CompleteChangeLog-OSCache2.3.2"></a>OSCache 2.3.2</h2>
-<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
+		<h4><a name="CompleteChangeLog-UpgradeGuide"></a>Upgrade Guide</h4>
 
-<p>(23rd July 2006 - by Lars Torunski)</p>
+		<ul>
+			<li>Due to the enhancements in the CacheFilter and method
+			signature changes, it's recommended to recompile your code.</li>
+			<li>Due to changes for CACHE-284 the handling of the listeners
+			have been changed: Before OSCache 2.4 objects which implemented
+			different CacheEventListener (e.g. CacheEntryEventListener and
+			CacheMapAccessEventListener) had to be added twice, because the
+			listeners where registrated only for one special event listener. With
+			OSCache 2.4 only the object has to be added to the list without the
+			2nd parameter 'type of the listener'.</li>
+		</ul>
 
-<h4><a name="CompleteChangeLog-Thismaintenancereleaseof2.3.1hasoneenhancement%3A"></a>This maintenance release of 2.3.1 has one enhancement:</h4>
 
-<ul>
-	<li>The removeEntry method in the Cache removes the entry from its groups now</li>
-</ul>
+		<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
 
+		<p><a name="jiraissues">
+		<table width="100%" cellspacing="0" class="grid">
+			<tr>
+				<th colspan="4" style="text-align: left;"><a
+					href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img
+					src="/images/icons/refresh_16.png" height="16" width="16"
+					border="0" align="right" title="refresh" /></a> <a
+					href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC&tempMax=30&reset=true&">OpenSymphony
+				JIRA</a> <span class="smalltext">(29 issues)</span></th>
+			</tr>
+			<tr>
+				<th style="text-align: left;">T</th>
+				<th style="text-align: left;">Key</th>
+				<th style="text-align: left;">Summary</th>
+				<th style="text-align: left;">Status</th>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-260"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-260">CACHE-260</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-260">NullPointerException
+				in AbstractConcurrentReadCache</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-295"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/newfeature.gif"
+					alt="New Feature" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-295">CACHE-295</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-295">Hibernate
+				3.2 integration support</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-215"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-215">CACHE-215</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-215">Setting
+				CacheFilter parameters runtime</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-99"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-99">CACHE-99</a></td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-99">Use
+				lazy initialization in cache filter in order to ease spring
+				integration</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-258"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-258">CACHE-258</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-258">NullPointerException
+				when using putCache(key, val) in LRUCache</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-273"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif"
+					alt="Task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-273">CACHE-273</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-273">Update
+				to Commons Logging 1.1</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-253"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif"
+					alt="Task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-253">CACHE-253</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-253">Migrate
+				from CVS to SVN</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-261"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif"
+					alt="Task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-261">CACHE-261</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-261">Check
+				javadoc of Cache.cancelUpdate on key not being updated </a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-163"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/issue_subtask.gif"
+					alt="Sub-task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-163">CACHE-163</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-163">CacheFilter
+				easier sub-classing via pre- and post-processes</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-162"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/issue_subtask.gif"
+					alt="Sub-task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-162">CACHE-162</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-162">CacheFilter
+				easier sub-classing via useCache</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-272"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-272">CACHE-272</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-272">Allow
+				disabling of cacheing special http methods (e.g. POST/DELETE/PUT) in
+				CacheFilter</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-277"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-277">CACHE-277</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-277">CacheFilter
+				should allow reentrance over different filter configurations</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-283"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-283">CACHE-283</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-283">Improve
+				oscache.properties loading</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-266"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/newfeature.gif"
+					alt="New Feature" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-266">CACHE-266</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-266">ServletCacheAdministrator
+				no longer a &quot;Servlet Singleton&quot;</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-267"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-267">CACHE-267</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-267">SplitServletOutputStream
+				doesn&#39;t pass flush() on to underlying stream</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-141"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif"
+					alt="Task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-141">CACHE-141</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-141">CacheFilter
+				easier sub-classing</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-288"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-288">CACHE-288</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-288">Error
+				in the HashDiskPersistenceListener byteArrayToHexString</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-264"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-264">CACHE-264</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-264">problem
+				with not escaped group names and their filenames for disk
+				persistence</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-255"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-255">CACHE-255</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-255">
+				AbstractConcurrentReadCache#put(Object key, Object value) may return
+				a wrong value</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-249"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-249">CACHE-249</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-249">Performance
+				improvment for large disk persistence usage</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-293"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-293">CACHE-293</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-293">Allow
+				to specify a different oscache.properties file for Hibernate</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-278"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-278">CACHE-278</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-278">Filter
+				ignores max-age parameter when serving from cache</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-284"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-284">CACHE-284</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-284">Cache.dispatchCacheEntryEvent
+				and Cache.addEventListener implementations are inconsistent</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-274"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-274">CACHE-274</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-274">new
+				method getIntialContext JMSBroadcastingListener</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-263"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/task.gif"
+					alt="Task" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-263">CACHE-263</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-263">Run
+				FindBugs 1.1.3 against current source code</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-292"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-292">CACHE-292</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-292">CacheFilter
+				max-age default and error-case initialisation are wrong</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-290"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-290">CACHE-290</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-290">Bad
+				Practice</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-178"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/newfeature.gif"
+					alt="New Feature" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-178">CACHE-178</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-178">JMX
+				Monitoring/Administration via Spring</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-252"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-252">CACHE-252</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-252">Log
+				warning if user tries to set max entries on an unlimited cache</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21660&sorter/field=priority&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+		</table></p>
 
-<h4><a name="CompleteChangeLog-Bugfixes%3A"></a>Bug fixes:</h4>
 
-<ul>
-	<li>Method addGroupMappings leads to inconsistent memory cache if a persistent cache group exists</li>
-	<li>Cache group is updated if entry is removed (duplicate)</li>
-</ul>
 
 
-<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
+		<h2><a name="CompleteChangeLog-OSCache2.3.2"></a>OSCache 2.3.2</h2>
+		<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
 
-<p><a name="jiraissues">
-    <table  width="100%" cellspacing="0" class="grid">
-        <tr>
-            <th colspan="4" style="text-align: left;">
-                                    <a href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img src="/images/icons/refresh_16.png" height="16" width="16" border="0" align="right" title="refresh"/></a>
-                                <a href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony JIRA</a>
-                <span class="smalltext">(3 issues)</span>
-            </th>
-        </tr>
-        <tr>
-                        <th style="text-align: left;">
-                T                                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                Key                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                Summary                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                                                                                Status                                                                            </th>
-                    </tr>
-                                            <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-244"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-244">CACHE-244</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-244">Cache group is not updated if entry is removed</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-188"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-188">CACHE-188</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-188">removeEntry should update group mappings</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-181"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-181">CACHE-181</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-181">addGroupMappings leads to inconsistent Memory-Cache</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-            </table>
-</p>
+		<p>(23rd July 2006 - by Lars Torunski)</p>
 
+		<h4><a
+			name="CompleteChangeLog-Thismaintenancereleaseof2.3.1hasoneenhancement%3A"></a>This
+		maintenance release of 2.3.1 has one enhancement:</h4>
 
-<h2><a name="CompleteChangeLog-OSCache2.3.1"></a>OSCache 2.3.1</h2>
-<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
+		<ul>
+			<li>The removeEntry method in the Cache removes the entry from
+			its groups now</li>
+		</ul>
 
-<p>(19th June 2006 - by Lars Torunski)</p>
 
-<h4><a name="CompleteChangeLog-Thismaintenancereleaseof2.3hasoneenhancement%3A"></a>This maintenance release of 2.3 has one enhancement:</h4>
+		<h4><a name="CompleteChangeLog-Bugfixes%3A"></a>Bug fixes:</h4>
 
-<ul>
-	<li>CacheFilter: Default initialization of the Cache-Control max-age</li>
-</ul>
+		<ul>
+			<li>Method addGroupMappings leads to inconsistent memory cache
+			if a persistent cache group exists</li>
+			<li>Cache group is updated if entry is removed (duplicate)</li>
+		</ul>
 
 
-<h4><a name="CompleteChangeLog-Bugfixes%3A"></a>Bug fixes:</h4>
+		<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
 
-<ul>
-	<li>Cache.flushAll(Date flushDate) won't throw NeedsRefreshException when flush date is not yet reached anymore</li>
-	<li>No NoSuchElementException at Cache.putInCache() anymore</li>
-</ul>
+		<p><a name="jiraissues">
+		<table width="100%" cellspacing="0" class="grid">
+			<tr>
+				<th colspan="4" style="text-align: left;"><a
+					href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img
+					src="/images/icons/refresh_16.png" height="16" width="16"
+					border="0" align="right" title="refresh" /></a> <a
+					href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony
+				JIRA</a> <span class="smalltext">(3 issues)</span></th>
+			</tr>
+			<tr>
+				<th style="text-align: left;">T</th>
+				<th style="text-align: left;">Key</th>
+				<th style="text-align: left;">Summary</th>
+				<th style="text-align: left;">Status</th>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-244"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-244">CACHE-244</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-244">Cache
+				group is not updated if entry is removed</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-188"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-188">CACHE-188</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-188">removeEntry
+				should update group mappings</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-181"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-181">CACHE-181</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-181">addGroupMappings
+				leads to inconsistent Memory-Cache</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21651&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+		</table></p>
 
 
-<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
+		<h2><a name="CompleteChangeLog-OSCache2.3.1"></a>OSCache 2.3.1</h2>
+		<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
 
-<p><a name="jiraissues">
-    <table  width="100%" cellspacing="0" class="grid">
-        <tr>
-            <th colspan="4" style="text-align: left;">
-                                    <a href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img src="/images/icons/refresh_16.png" height="16" width="16" border="0" align="right" title="refresh"/></a>
-                                <a href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony JIRA</a>
-                <span class="smalltext">(3 issues)</span>
-            </th>
-        </tr>
-        <tr>
-                        <th style="text-align: left;">
-                T                                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                Key                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                Summary                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                                                                                Status                                                                            </th>
-                    </tr>
-                                            <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-246"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-246">CACHE-246</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-246">java.util.NoSuchElementException during at com.opensymphony.oscache.base.Cache.putInCache()</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-241"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-241">CACHE-241</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-241">Cache.flushAll(Date flushDate) throws NeedsRefreshException when flush date is not yet reached</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-240"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-240">CACHE-240</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-240">Default initialization of the Cache-Control max-age</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-            </table>
-</p>
+		<p>(19th June 2006 - by Lars Torunski)</p>
 
+		<h4><a
+			name="CompleteChangeLog-Thismaintenancereleaseof2.3hasoneenhancement%3A"></a>This
+		maintenance release of 2.3 has one enhancement:</h4>
 
+		<ul>
+			<li>CacheFilter: Default initialization of the Cache-Control
+			max-age</li>
+		</ul>
 
 
+		<h4><a name="CompleteChangeLog-Bugfixes%3A"></a>Bug fixes:</h4>
 
-<h2><a name="CompleteChangeLog-OSCache2.3"></a>OSCache 2.3</h2>
-<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
+		<ul>
+			<li>Cache.flushAll(Date flushDate) won't throw
+			NeedsRefreshException when flush date is not yet reached anymore</li>
+			<li>No NoSuchElementException at Cache.putInCache() anymore</li>
+		</ul>
 
-<p>(6th March 2006 - by Lars Torunski)</p>
 
-<h4><a name="CompleteChangeLog-ThisreleaseincludesadditionalimprovementstotheCacheFilter%3A"></a>This release includes additional improvements to the CacheFilter:</h4>
+		<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
 
-<ul>
-	<li>CRON expressions to expire content at specific dates and/or times</li>
-	<li>Pluggable EntryRefreshPolicy</li>
-	<li>Reduced memory consumption</li>
-</ul>
+		<p><a name="jiraissues">
+		<table width="100%" cellspacing="0" class="grid">
+			<tr>
+				<th colspan="4" style="text-align: left;"><a
+					href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img
+					src="/images/icons/refresh_16.png" height="16" width="16"
+					border="0" align="right" title="refresh" /></a> <a
+					href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony
+				JIRA</a> <span class="smalltext">(3 issues)</span></th>
+			</tr>
+			<tr>
+				<th style="text-align: left;">T</th>
+				<th style="text-align: left;">Key</th>
+				<th style="text-align: left;">Summary</th>
+				<th style="text-align: left;">Status</th>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-246"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-246">CACHE-246</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-246">java.util.NoSuchElementException
+				during at com.opensymphony.oscache.base.Cache.putInCache()</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowAlternate">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-241"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif"
+					alt="Bug" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-241">CACHE-241</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-241">Cache.flushAll(Date
+				flushDate) throws NeedsRefreshException when flush date is not yet
+				reached</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+			<tr class="rowNormal">
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-240"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif"
+					alt="Improvement" border="0" /></a></td>
+				<td nowrap="true"><a
+					href="http://jira.opensymphony.com/browse/CACHE-240">CACHE-240</a>
+				</td>
+				<td><a href="http://jira.opensymphony.com/browse/CACHE-240">Default
+				initialization of the Cache-Control max-age</a></td>
+				<td nowrap="true"><img
+					src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21630&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif"
+					alt="Closed" border="0" />Closed</td>
+			</tr>
+		</table></p>
 
 
-<h4><a name="CompleteChangeLog-Diskpersistence%3A"></a>Disk persistence:</h4>
 
-<ul>
-	<li>Faster disk persistence</li>
-	<li>Avoid DiskPersistenceListener deadlocks if process has no rights to delete cache file</li>
-</ul>
 
 
-<h4><a name="CompleteChangeLog-Furtherchangesare%3A"></a>Further changes are:</h4>
+		<h2><a name="CompleteChangeLog-OSCache2.3"></a>OSCache 2.3</h2>
+		<h3><a name="CompleteChangeLog-ReleaseNotes"></a>Release Notes</h3>
 
-<ul>
-	<li>new JSP tag <em>addgroups</em></li>
-	<li>interface to get a list of the cache event listeners</li>
-	<li>commons collection dependency removed</li>
-	<li>Java 1.3 support dropped</li>
-</ul>
+		<p>(6th March 2006 - by Lars Torunski)</p>
 
+		<h4><a
+			name="CompleteChangeLog-ThisreleaseincludesadditionalimprovementstotheCacheFilter%3A"></a>This
+		release includes additional improvements to the CacheFilter:</h4>
 
-<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
+		<ul>
+			<li>CRON expressions to expire content at specific dates and/or
+			times</li>
+			<li>Pluggable EntryRefreshPolicy</li>
+			<li>Reduced memory consumption</li>
+		</ul>
 
-<p><a name="jiraissues">
-    <table  width="100%" cellspacing="0" class="grid">
-        <tr>
-            <th colspan="4" style="text-align: left;">
-                                    <a href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img src="/images/icons/refresh_16.png" height="16" width="16" border="0" align="right" title="refresh"/></a>
-                                <a href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony JIRA</a>
-                <span class="smalltext">(14 issues)</span>
-            </th>
-        </tr>
-        <tr>
-                        <th style="text-align: left;">
-                T                                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                Key                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                Summary                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                                                                                Status                                                                            </th>
-                    </tr>
-                                            <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-235"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-235">CACHE-235</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-235">Pluggable EntryRefreshPolicy for CacheFilter</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-230"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-230">CACHE-230</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-230">CacheFilter Tutorial</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-229"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-229">CACHE-229</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-229">Tomcat 5.5.12 throws IllegalStateException on getId() / fixed Servlet Spec 2.4</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-228"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/newfeature.gif" alt="New Feature" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-228">CACHE-228</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-228">Add CRON expressions to CacheFilter to expire content at specific dates and/or times.</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-227"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-227">CACHE-227</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-227">Remove commons collections from distribution</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-226"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-226">CACHE-226</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-226">Drop Java 1.3 support</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-222"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/newfeature.gif" alt="New Feature" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-222">CACHE-222</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-222">Add new JSP tag addGroups</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-217"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-217">CACHE-217</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-217">Avoid DiskPersistenceListener deadlocks if process has no rights to delete cache file</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-216"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-216">CACHE-216</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-216">Review CacheFilter against Servlet 2.4 spec.</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-214"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-214">CACHE-214</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-214">Reduce memory consumption of ResponseContent</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-200"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/newfeature.gif" alt="New Feature" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-200">CACHE-200</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-200">add &#39;getCacheEventListenerList()&#39; to Cache class</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-197"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-197">CACHE-197</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-197">Speed up disk persistence</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-183"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-183">CACHE-183</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-183">HashDiskPersistenceListener / MessageDigest not thread safe</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-136"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-136">CACHE-136</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-136">SequencedHashMap is deprecated in commons collections 3.1</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21570&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-            </table>
-</p>
 
+		<h4><a name="CompleteChangeLog-Diskpersistence%3A"></a>Disk
+		persistence:</h4>
 
-<h2><a name="CompleteChangeLog-OSCache2.2Final"></a>OSCache 2.2 Final</h2>
-<h3><a name="CompleteChangeLog-ReleaseNotesFinal"></a>Release Notes - Final</h3>
+		<ul>
+			<li>Faster disk persistence</li>
+			<li>Avoid DiskPersistenceListener deadlocks if process has no
+			rights to delete cache file</li>
+		</ul>
 
-<p>(6th November 2005 - by Lars Torunski)</p>
 
-<h4><a name="CompleteChangeLog-Additionallytothe2.2RCOSCache2.2RCimprovements%2Cthefinalreleasewasenhancedby%3A"></a>Additionally to the <a href="OSCache 2.2 RC.html" title="OSCache 2.2 RC">2.2 RC</a> improvements, the final release was enhanced by:</h4>
+		<h4><a name="CompleteChangeLog-Furtherchangesare%3A"></a>Further
+		changes are:</h4>
 
-<ul>
-	<li>Allow cache group definition in CacheFilter</li>
-	<li>Option to specify when to send Expires-Header</li>
-	<li>Allow disabling initial set of the last modified header</li>
-	<li>Continuous Integration and Dependency Management with Ivy</li>
-	<li>Update to JGroups 2.2.8</li>
-</ul>
+		<ul>
+			<li>new JSP tag <em>addgroups</em></li>
+			<li>interface to get a list of the cache event listeners</li>
+			<li>commons collection dependency removed</li>
+			<li>Java 1.3 support dropped</li>
+		</ul>
 
 
-<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
+		<h4><a name="CompleteChangeLog-JIRAIssueList"></a>JIRA Issue List</h4>
 
-<p><a name="jiraissues">
-    <table  width="100%" cellspacing="0" class="grid">
-        <tr>
-            <th colspan="4" style="text-align: left;">
-                                    <a href="/spaces/doexportspace.action?key=CACHE&macro.refresh=true#jiraissues"><img src="/images/icons/refresh_16.png" height="16" width="16" border="0" align="right" title="refresh"/></a>
-                                <a href="http://jira.opensymphony.com/secure/IssueNavigator.jspa?&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&">OpenSymphony JIRA</a>
-                <span class="smalltext">(12 issues)</span>
-            </th>
-        </tr>
-        <tr>
-                        <th style="text-align: left;">
-                T                                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                Key                                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                Summary                                                                                                                                            </th>
-                        <th style="text-align: left;">
-                                                                                                                Status                                                                            </th>
-                    </tr>
-                                            <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-223"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-223">CACHE-223</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-223">completeUpdate never being called after startUpdate() has been called, OSCache hangs for that key</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-211"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-211">CACHE-211</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-211">Create check sums for the distribution files</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-210"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-210">CACHE-210</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-210">Review: If last test-base and last test-web overwrite previous unit test reports</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-204"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-204">CACHE-204</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-204">Allow disabling initial set of the last modified header</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-203"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-203">CACHE-203</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-203">Change JSP tag URI in pages of example war</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-202"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-202">CACHE-202</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-202">Expires header should not be inital set in fragments</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-201"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/bug.gif" alt="Bug" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-201">CACHE-201</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-201">Defined interface for ICacheKeyProvider not used in CacheFilter</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-199"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-199">CACHE-199</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-199">Continuous Integration and Dependency Management with Ivy</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-198"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-198">CACHE-198</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-198">Update to JGroups 2.2.8</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-196"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-196">CACHE-196</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-196">Option to specify when to send Expires-Header</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowNormal">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-195"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/improvement.gif" alt="Improvement" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-195">CACHE-195</a>
-                                    </td>
-                                <td >
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-195">Allow cache group generation in CacheFilter</a>
-                                    </td>
-                                <td nowrap="true">
-                                            <img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/status_closed.gif" alt="Closed" border="0" />Closed
-                                    </td>
-                            </tr>
-                                    <tr class="rowAlternate">
-                                                            <td nowrap="true">
-                                            <a href="http://jira.opensymphony.com/browse/CACHE-194"><img src="http://jira.opensymphony.com/secure/IssueNavigator.jspa?reset=true&pid=10001&fixfor=21550&sorter/field=issuekey&sorter/order=DESC/images/icons/task.gif" alt="Task" border="0" /></a>
-                                    </td>
-                                <td nowrap="true">