OSCache - OSCache 2.1.1

### Release Notes (1st May 2005 - by Andres March) #### Improvements: The taglib URI was changed to `http://www.opensymphony.com/oscache` in CACHE-61 The DiskPersistenceListener escapes '?' now and guarantees that the filenames will be unique based on the cache key, see CACHE-110 Session objects in cache tags are created only if necessary, see CACHE-88 The disk persistence configuration key can be accessed now, see CACHE-111 #### Bug Fixes: The CacheFilter doesn't send back a 304 (not modified) response when client cache is de-activated anymore, see CACHE-116 CacheFilter doesn't support correctly i18N by setting encoding not properly, CACHE-38 and CACHE-159 Cron expressions - leap days not always matched correctly, CACHE-157 FindBugs doesn't report that the usage of GetResource may be unsafe if class Config is extended anymore, see CACHE-108 ConcurrentModificationException on flushGroup, see CACHE-127 Exception not thrown when not serializable object is persisted instead stack trace is persisted, see CACHE-112 A few concurrency issues were fixed, see CACHE-170, CACHE-167, CACHE-127 #### Changes that may affect backwards compatibility: The improvement CACHE-88 may change the behaviour of the application, because a session object isn't created anymore even if it wasn't necessary. A web application may react different to a not existing session object. The URI change of CACHE-61 from `/oscache` to `http://www.opensymphony.com/oscache` affects all JSP's which explicit use the old URI. #### JIRA Issue List
OpenSymphony JIRA (15 issues)
T | Key | Summary | Status
--- | --- | --- | ---
| CACHE-170 | Data race handling Cache.updateStates results in Thread hangs when the blocking mode is used in concurrence | Closed
| CACHE-167 | removeEntry not synchronized | Closed
| CACHE-159 | CacheFilter does not set encoding properly | Closed
| CACHE-157 | Cron expressions - leap days not always matched correctly | Closed
| CACHE-131 | JavaDoc: Missing class description - CacheContextListener | Closed
| CACHE-127 | ConcurrentModificationException on flushGroup | Closed
| CACHE-116 | CacheFilter sends back a 304 (not modified) response when client cache is de-activated | Closed
| CACHE-112 | Exception not thrown when not serializable object is persisted instead stack trace is persisted! | Closed
| CACHE-111 | public access for disk persistence configuration key | Closed
| CACHE-110 | DiskPersistenceListener should escape '?' | Closed
| CACHE-109 | cache.blocking parameter missing in oscache.properties | Closed
| CACHE-108 | FindBugs reports: Usage of GetResource may be unsafe if class Config is extended | Closed
| CACHE-88 | Don't create session object in cache tags unless necessary | Closed
| CACHE-61 | Taglib URI Attribute | Closed
| CACHE-38 | oscache filter doesn't support correctly i18N | Closed