$Id: Changelog.txt,v 1.15.2.1 2004/12/14 08:19:06 starksm Exp $


Release 1.2 (Dec 2004)
===============================

Features
--------
* JndiName now allows remote (e.g. RMI) clients to access the cache (use
  of Remoting)
* Changed CacheLoaderConfig from string to properties (needed by JDBCCacheLoader)
* Added Version ("java org.jboss.cache.Version" prints version)
* Added LockInterceptor (merged TransactionInterceptor into it)
* Support for TreeCacheAop Collection classes (Set, List, and Map).
* Support of runtime swapping of Collection class reference with the proxy
  reference counterpart.
* Added JDBCCacheLoader (Alex Loubyansky), allows for DB persistence for cache
* Added DelegatingCacheLoader. Allows for creation of hierarchical multi-level caches
  (e.g. first-level delegates to second-level delegates to Sleepycat CacheLoader)
* Moved creation of node if not exists into CreateIfNotExistsInterceptor
* Moved cache loading code into CacheLoaderInterceptor, and cache storing into CacheStoreInterceptor
* JNDI binding is now supported ("JndiName" attribute)
* Isolation level now can be specified as per cache instance instead of per VM
* Added "TRACE" log level for very verbose output.
* Renamed element name in EvictionConfig from TimeToIdelSeconds to
  TimeToLiveSeconds. It is backward compatible with old configuration
  though, meaning old name still work in this release.
* Added FIFO eviction policy (contributed by a user).
* Document update.

Bug Fixes
---------
* Added additional libarary jboss-minimal.jar to support jndi under aop
* Fixed bug for incorrect eviction policy start up sequence in release 1.1
* Bug fixes for node lock synchronization
* Bug fixes in RegionManager for create and get region
* Bug fixes for locking without transaction
* Bug fixes for getObject, putObject, and removeObject locking in aop.

XML changes between 1.1 and 1.2
-------------------------------
* CacheLoaderConfig is now a list of elements (java.util.Properties) rather than a string, e.g. in 1.1

  <attribute name="CacheLoaderConfig">c:\tmp</attribute>

  has to be changed to

  <attribute name="CacheLoaderConfig">
     location=c:\\tmp
  </attribute>

  The contents of the elements depends on the type of CacheLoader used. See the documentation for details.

* JndiName is now a list of elements (java.util.Properties) rather than a string, e.g. in 1.1

  <attribute name="JndiName">MyCache</attribute>

  has to be changed to

  <attribute name="JndiName">
      name=MyCache
      locatorURI=socket://myhost:12345
  </attribute>




Release 1.1 (Aug 2004)
======================

Features
--------
* Added CacheLoader support (store/read from secondary storage). Supports both
  shared and unshared backend stores
* 2 CacheLoader implementations: Sleepycat Berkeley DB (BdbjeCacheLoader) and file
    based (FileCacheLoader)
* Partly refactored implementation to use interceptors (will be completed in 2.0)

Bug Fixes
---------
* Refactored the eviction policy to fix synchronizing bug and also
  handle the EvictionException from EvictionTimerTask.
* Updated build.sh and build.bat scripts for Ant1.6.1 version
* Added UpgradeException when UpgradeLockAtempt fails
* Bug fix for config xml parsing error in some platforms
* Updated documentation and tutorial
* Added OrderedSynchronizationHandler, allows for ordered calls into ReplicationInterceptor and
  TransactionInterceptor in TX commit (afterCompletion()) (bela Aug 14 2004)




Release 1.02
============

Features
--------
* Bug fix for LRU policy queue under heavy load




Release 1.01
============

Features
--------
* Upgraded JGroups library that uses the apache common logging package

Bug Fixes
---------
* Renamed the sample xml configuration file name to *-service.xml
* In isolation level of Repeatable_READ, multiple fixes for concurrent
  read and upgrade, multiple read lock release, etc.
* More unit test cases have been added for isolation levels.
* Bug fix for during replication mode with eviction policy, if a new
  cache is started, it will throw exception during state transfer
  due to cache notification sequence is incorrect.
* LRUAlgorithm generated null pointer when taking event from queue.
* LRUPolicy could not handle "/" as an added node.
* TreeCacheAop MBean service is not deployed correctly
* TreeCacheAop collection classes (map, list, etc) has a bug in
  recursive remove




Release 1.0
===========

Features
--------
* Eviction policy for both TreeCache and TreeCacheAop
* TreeCacheAop "object-oriented" features: inheritance,
  aggregation, and object graph (in local and replication mode)
* Support JBossAop1.0 beta
* support aopc, pre-compiling aop
* Support TreeCache as a JBoss MBean service (both jboss4.0 and 3.2)
* documentation updates

Bug Fixes
---------
* If an object is not declared "advised", it will be stored as
  is (e.g., treated as a "primitive" type), providing it is serializable
* Key object used to require to implement "Comparable". The restriction
  is now removed
* Fix InvokeTransactionlessMethod to exclude myself when replicating
  changes via synchronous mode. The solves the problem when an object
  has transient fields that will disappear within the originating vm.
* Fixed syncrhonization bugs in transaction isolation levels.

