update history and announce for 0.4.0
[god.git] / History.txt
blobdf636b1a50364a0c9e094862cd2b10c0284cfd0a
1 == 0.5.0
3 * Major Enhancements
4   * Implement lifecycle scoped metric to allow for cross-state conditions
5   * Add TriggerCondition for conditions that need info about state changes
6   * Implement notification system
7 * Minor Enchancements
8   * Allow EventConditions to do transition overloading
9 * New Conditions
10   * Flapping < TriggerCondition - trigger on state change
11 * New Contacts
12   * Email < Contact - notify via email (smtp, sendmail)
13 * Bug Fixes
14   * Fix abort not aborting problem
16 == 0.4.0 / 2007-09-13
18 * Major Enhancements
19   * Add the ability for conditions to override transition state (for exceptional cases)
20   * Implement dynamic load of config files while god is running (god load <filename>)
21   * Add ability to save auto-daemonized process output to a log file
22   * Add robust default stop lambda command for auto-daemonized processes (inspired by _eric)
23   * Add status command for god binary (shows status of each watch)
24   * Create proper logger with timestamps
25   * Add log command to god binary to get real time logs for a specific watch from a running god instance
26   * Add terminate command for god binary (stop god and all watches)
27 * Minor Enhancements
28   * Enforce validity of Watches
29   * Enforce that God.init is not called after a Watch
30   * Move pid_file_directory creation and validation to God.start
31   * Remove check for at least one Watch during startup (now that dynamic loading exists)
32 * New Conditions
33   * Tries < PollCondition - triggers after the specified number of tries
34   * Add :notify_when_flapping behavior to check for oscillation [kevinclark]
35   * Add :degrading_lambda condition. [kevinclark]
36     It uses a decaying interval (1/2 rate) for 3 cycles before failing.
37 * Bug Fixes
38   * Use exit!(0) instead of exit! in god binary to exit with code 0 (instead of default -1)
39   * Command line group control fixed
40   * Fix cross-thread return problem
42 == 0.3.0 / 2007-08-17
44 * Fix netlink header problem on Ubuntu Edgy [Dan Sully]
45 * Add uid/gid setting for processes [kevinclark]
46 * Add autostart flag for watches so they don't necessarily startup with god [kevinclark]
47 * Change command line call options for god binary to accommodate watch start/stop functionality
48 * Add individual start/stop/restart grace periods for finer grained control
49 * Change default DRb port to 17165 ('god'.to_i(32))
50 * Implement command line control to start/restart/stop/monitor/unmonitor watches/groups by name
51 * Watches can now belong to a group that can be controlled as a whole
52 * Allow god to be installed (sans events) on systems that don't support events
53 * Daemonize and handle PID files for non-daemonizing scripts [kevinclark]
54 * Fix simple mode lifecycle gap
55 * Remove necessity to specify pid_file for conditions
56 * Change config file to use God.init and God.watch directly instead of God.meddle block
57 * Move god binary command logic to main library
58 * Enhance god binary with better reporting
59 * Fix synchronization bug in Timer (reported by Srini Panguluri)
60 * Add Lambda condition for easy custom conditions [Mike Mintz]
61 * Add sugar for numerics (seconds, minutes, kilobytes, megabytes, percent, etc)
62 * Add optional PID and log file generation to god binary for daemon mode
63 * Add God.load to do glob enabled loading
64 * Add -V option to god binary for detailed version/build info
66 == 0.2.0 / 2007-07-18
68 * Rewrote innards to use a state and event based lifecycle
69 * Basic support for events via kqueue (bsd/darwin) and netlink/pec (linux) [kevinclark]
70 * Added advanced syntax (simple syntax calls advanced api underneath)
71 * Condition returns have changed meaning. With simple syntax, a true return activates block
72 * Updated http://god.rubyforge.org with updated simple config and new advanced config
74 == 0.1.0 / 2007-07-07
76 * 1 major enhancement
77   * Birthday!