                         How to Upgrade Monit
                         --------------------

   @author Christian Hopp, <chopp@iei.tu-clausthal.de>
   @version \$Id: UPGRADE.txt,v 1.1 2003/06/20 16:55:08 chopp Exp $

This document describes how to change the configuration files of monit
in case monit is upgraded.  Further changes and addition are described
in CHANGES.txt.

From monit 3.2 to monit 4.0:
===========================

* The DEPENDS statement has been changed.  The services are from now
  on comma separated:

   Old syntax: DEPENDS service [service [...]]

   New syntax: DEPENDS service[, service [,...]]
 

* Monit 4.0 supports file, device and directory checks in addition to
  process checks. Thus, the CHECK statement has been changed:

   Old syntax: CHECK servicename

   New syntax: CHECK [PROCESS|DEVICE|DIRECTORY|FILE] servicename

  The old CHECK syntax without "PROCESS" token is still usable but
  depreciated.  Future versions might not support it anymore. 



* The CPU and memory check syntax has been simplified.  The new syntax
  has only the tokens CPU and MEM:


   Old syntax: CPUUSAGE value [cycles] action
               MEMUSAGE value [cycles] action
               MEMKBYTE value [cycles] action

   New syntax: CPU operator value unit [cycles] action
               MEM operator value unit [cycles] action

  The "operator" token is still a choice of {<|>|==|!=} or in words
  {less|greater|equal|notequal}; value is a choice of an integer
  number or a real number (using a dot); unit is {%|PERCENT} for CPU
  and a choice of {%|B|KB|MB|GB} or in words {PERCENT|BYTE|KILOBYTE|
  MEGABYTE|GIGABYTE}; "cycles" refers still the number of cycles the
  statement has to be true in order to start the "action".  Example:
    
    MEM > 2.5 MB 5 RESTART
    MEM > 25% 3 RESTART

  The old syntax using CPUUSAGE, MEMUSAGE, MEMKBYTE is obsolete and
  no longer supported.


* $PROGRAM tag of statement mail-format was renamed to $SERVICE
  without changing its meaning.  $PROGRAM is still usable but
  depreciated.  Future versions might not support it anymore.  


