== 0.4.0 * Major Enhancements * Add the ability for conditions to override transition state (for exceptional cases) * Implement dynamic load of config files while god is running (god load <filename>) * Add ability to save auto-daemonized process output to a log file * Add robust default stop lambda command for auto-daemonized processes (inspired by _eric) * Add status command for god binary (shows status of each watch) * Create proper logger with timestamps * Add log command to god binary to get real time logs for a specific watch from a running god instance * Add terminate command for god binary (stop god and all watches) * Minor Enhancements * Enforce validity of Watches * Enforce that God.init is not called after a Watch * Move pid_file_directory creation and validation to God.start * Remove check for at least one Watch during startup (now that dynamic loading exists) * New Conditions * Tries < PollCondition - triggers after the specified number of tries * Add :notify_when_flapping behavior to check for oscillation [kevinclark] * Add :degrading_lambda condition. [kevinclark] It uses a decaying interval (1/2 rate) for 3 cycles before failing. * Bug Fixes * Use exit!(0) instead of exit! in god binary to exit with code 0 (instead of default -1) * Command line group control fixed * Fix cross-thread return problem (use exit instead) == 0.3.0 / 2007-08-17 * Fix netlink header problem on Ubuntu Edgy [Dan Sully] * Add uid/gid setting for processes [kevinclark] * Add autostart flag for watches so they don't necessarily startup with god [kevinclark] * Change command line call options for god binary to accommodate watch start/stop functionality * Add individual start/stop/restart grace periods for finer grained control * Change default DRb port to 17165 ('god'.to_i(32)) * Implement command line control to start/restart/stop/monitor/unmonitor watches/groups by name * Watches can now belong to a group that can be controlled as a whole * Allow god to be installed (sans events) on systems that don't support events * Daemonize and handle PID files for non-daemonizing scripts [kevinclark] * Fix simple mode lifecycle gap * Remove necessity to specify pid_file for conditions * Change config file to use God.init and God.watch directly instead of God.meddle block * Move god binary command logic to main library * Enhance god binary with better reporting * Fix synchronization bug in Timer (reported by Srini Panguluri) * Add Lambda condition for easy custom conditions [Mike Mintz] * Add sugar for numerics (seconds, minutes, kilobytes, megabytes, percent, etc) * Add optional PID and log file generation to god binary for daemon mode * Add God.load to do glob enabled loading * Add -V option to god binary for detailed version/build info == 0.2.0 / 2007-07-18 * Rewrote innards to use a state and event based lifecycle * Basic support for events via kqueue (bsd/darwin) and netlink/pec (linux) [kevinclark] * Added advanced syntax (simple syntax calls advanced api underneath) * Condition returns have changed meaning. With simple syntax, a true return activates block * Updated http://god.rubyforge.org with updated simple config and new advanced config == 0.1.0 / 2007-07-07 * 1 major enhancement * Birthday!