This file records the major changes and bugs fixed.

1.8
  - Remove handshaking.
  - Fix the bug in growing message buffer.
  - Add two functions: procno2tid() and tid2procno() to translate between 
    the process number used mainly in Adsmith and the task id used by PVM.
  - Remove unnecessary copy during making modified-set.
  - New collect accesses are provided.
  - New atomic accesses are provided.
  - Document is included.
  - Manual pages draft is included.
  - Fix the bug in MWriter + Update. (a)
  - Direct child output to stdout. (a)
  - Fix wrong allocation on semaphore. (b)
  - Port to g++ 2.7.2p (c)
  - adsm_malloc's now use bulk transfer implicitly, thus explicit
    bulk transfer for adsm_malloc is not necessary. (d)
  - Change get_seqno() in adsmutil.h to get_seqno(char *group="") such 
    that sequence numbers can be based on a specified group. (d)
  - Fix the bug in multiple allocation by single process. (d)
  - Allow the shared memory to be allocated uniquely in the system. (d)
  - Modify adsm.h such that the ambiguity of adsm_malloc can be avoided. (d)
  - Fix the bug in maintaining cachelist for atomic accesses. (f)
  - Fix the order problem in update protocol. (f)
  - Allow heterogeneous environment, by 'setenv ADSM_FLAGS Om', provided
    that data layouts are the same in the particitpating hosts. Note that
    no data conversion is done. (h)
  - Fix setting problems on porting to Solaris. (h)
  - Fix the expression length bug in adsmd_cmd_atomic(). (i)
  - Remove the buffer handling from pack.h (i)

1.7/1.07
  - Version name are changed to 1.7.x, where x is the updated number for 
    version 1.7.
  - Improve the efficiency of store operations.
  - Fix the bug on queuing of refresh requests.
  - Remove isolated master daemon. (2)
  - Fix the bug on making a modified-set. (3)
  - Fix the bug of MWriter on acquire accesses. (3)

1.06
  - Provide aggregation functions for allocation and ordinary access functions.
  - Add adsm_wait() for waiting processes finished.
  - Redesign allocation process.
  - Number of shared objects is now unlimited.
  - Add generic allocation functions, in which start index for array can
    be specified, and home node can be assigned on single object allocation.
  - Directly Implement barrier to replace using PVM's barrier.
  - Make AdsmDataUpdate implies AdsmDataCache.
  - Fix serveral bugs. Well, I am too lazy to record them down... :)

1.05
  - Create a new attribute for adsm_malloc(), AdsmDataMWriter, to distinquish
    the shared objects which use Multiple Writer Protocol from general shared
    objects.
  - Process will exit only when all its children have exited.
  - Children's message will not be tagged with their tids any more, the
    programmer must use adsm_showtid(int onoff) for this purpose; where
    onoff=1 is for on, 0 for off.

1.04
  - If PVM was not startupped on program running, start pvmd with the 
    PVM hostfile specified in the environment variable ADSM_HOSTFILE.
  - Fix the bug of recursion between AdsmSendPacket::send() and 
    shutdown() on fail sending.

1.03
  - Avoid sending unnecessary zero-size modified part.
  - Fix the bug of broken-pipe caused by processes which leave PVM before
    absorbing all write acknowledge messages.

1.02
  - On write phase, only transfer modified part of a object to the home node,
    and also to the cacher processes if write-update is used.
  - Allow Multiple Writer Protocol.
  - Fix the bug of non-proper data alignment during object allocation.
  - Fix the bug of false deallocation during adsm_malloc_array().
