more diagnostics
[god.git] / History.txt
blob9f2ae10d3442126d32733ca5c72b019eace661a9
1 == 0.6.7 / 
2   * Minor Enhancements
3     * Add --no-syslog option to disable Syslog
5 == 0.6.6 / 2008-01-07
6   * Bug Fixes
7     * Redo Timer mutexing to reduce synchronization needs
9 == 0.6.5 / 2008-01-04
10   * Bug Fixes
11     * Fix Timer descheduling deadlock issue
12     * Change HttpResponseCode to use GET instead of HEAD
14 == 0.6.4 / 2008-12-31
15   * Bug Fixes
16     * Refactor Hub to clarify mutexing
17     * Eliminate potential iteration problem in Timer
18     * Add caching PID accessor to process to solve event deregistration failure
20 == 0.6.3 / 2007-12-18
21   * Minor Enhancements
22     * Output ProcessExits registration/deregistration info
24 == 0.6.2 / 2007-12-17
25   * Minor Enhancements
26     * Output registered PID for ProcessExits
27   * Bug Fixes
28     * Fix `god remove <group>` not working for unmonitored watches
30 == 0.6.1 / 2007-12-14
32 * Minor Enhancement
33   * Log when state change is complete
35 == 0.6.0 / 2007-12-4
37 * Minor Enhancement
38   * Move Syslog calls into God::Logger and clean up all calling code
39   * Remove god's pid file on user requested termination
40   * Better handling and cleanup of DRb server's unix domain socket
41   * Allow shorthand for requesting a god log
42   * Add `god check` to make it easier to diagnose event problems
43   * Refactor god binary into class/method structure
44   * Implement `god remove` to remove a Task altogether
45 * New Conditions
46   * DiskUsage < PollCondition - trigger if disk usage is above limit on mount [Rudy Desjardins]
48 == 0.5.2 / 2007-10-10
50 * Minor Enhancement
51   * Allow extra args to pass through to config file
52   
53 == 0.5.1 / 2007-10-08
55 * Bug Fixes
56   * Rescue connection refused in http response code condition
58 == 0.5.0 / 2007-10-05
60 * Major Enhancements
61   * Implement lifecycle scoped metric to allow for cross-state conditions
62   * Add TriggerCondition for conditions that need info about state changes
63   * Implement notification system
64   * Add Tasks (a generalization of Watches) to do non-process related tasks
65   * Add example init.d file in GOD_INSTALL_DIR/init/god [scott becker]
66   * Add human readable info to conditions (and make low level log lines debug)
67   * Switch DRb to use a unix domain socket for security reasons
68 * Minor Enchancements
69   * Allow EventConditions to do transition overloading
70   * Report errors during god startup instead of failing silently
71   * Make transition block optional (default to Always condition returning true)
72   * Better usage info for `god --help`
73   * Explain what's going on when attempting to rebind to an in-use port
74   * Add -b option to god binary to auto-bind to an unused port
75   * Add `god quit` to stop god without stopping any tasks
76   * Make self-daemonized Watch commands synchronous (as they should be)
77   * Allow self-daemonized Watches to specify a log (could be useful)
78   * Check for existence of config file if specified
79   * Robustify `god load` and report errors back to the command issuer
80   * Warn when `god load` tries to set global options
81   * Add Configurable.clear method and make built-in conditions clear on entry
82 * New Conditions
83   * Flapping < TriggerCondition - trigger on state change
84   * HttpResponseCode < PollCondition - trigger on http response code or timeout (thx scott becker)
85 * New Contacts
86   * Email < Contact - notify via email (smtp)
87 * Bug Fixes
88   * Fix abort not aborting problem
89   * Fix -p option not working for god binary
90   * Fix God.init not accepting block (thx _eric)
91   * Fix SIGHUP ignore (thx _eric)
92   * Fix error reporting on `god --help` (don't error report a normal SystemExit)
94 == 0.4.3 / 2007-09-10
95 * Bug Fixes
96   * fix Process#alive? to not raise on no such file (affects `god terminate`)
98 == 0.4.2 / 2007-09-10
99 * Bug Fixes
100   * fix netlink buffer issue that prevented events on Linux from working consistently [dkresge]
102 == 0.4.1 / 2007-09-10
103 * Bug Fixes
104   * require 'stringio' for ruby 1.8.5
106 == 0.4.0 / 2007-09-10
108 * Major Enhancements
109   * Add the ability for conditions to override transition state (for exceptional cases)
110   * Implement dynamic load of config files while god is running (god load <filename>)
111   * Add ability to save auto-daemonized process output to a log file
112   * Add robust default stop lambda command for auto-daemonized processes (inspired by _eric)
113   * Add status command for god binary (shows status of each watch)
114   * Create proper logger with timestamps
115   * Add log command to god binary to get real time logs for a specific watch from a running god instance
116   * Add terminate command for god binary (stop god and all watches)
117 * Minor Enhancements
118   * Enforce validity of Watches
119   * Enforce that God.init is not called after a Watch
120   * Move pid_file_directory creation and validation to God.start
121   * Remove check for at least one Watch during startup (now that dynamic loading exists)
122 * New Conditions
123   * Tries < PollCondition - triggers after the specified number of tries
124   * Add :notify_when_flapping behavior to check for oscillation [kevinclark]
125   * Add :degrading_lambda condition. [kevinclark]
126     It uses a decaying interval (1/2 rate) for 3 cycles before failing.
127 * Bug Fixes
128   * Use exit!(0) instead of exit! in god binary to exit with code 0 (instead of default -1)
129   * Command line group control fixed
130   * Fix cross-thread return problem
132 == 0.3.0 / 2007-08-17
134 * Fix netlink header problem on Ubuntu Edgy [Dan Sully]
135 * Add uid/gid setting for processes [kevinclark]
136 * Add autostart flag for watches so they don't necessarily startup with god [kevinclark]
137 * Change command line call options for god binary to accommodate watch start/stop functionality
138 * Add individual start/stop/restart grace periods for finer grained control
139 * Change default DRb port to 17165 ('god'.to_i(32))
140 * Implement command line control to start/restart/stop/monitor/unmonitor watches/groups by name
141 * Watches can now belong to a group that can be controlled as a whole
142 * Allow god to be installed (sans events) on systems that don't support events
143 * Daemonize and handle PID files for non-daemonizing scripts [kevinclark]
144 * Fix simple mode lifecycle gap
145 * Remove necessity to specify pid_file for conditions
146 * Change config file to use God.init and God.watch directly instead of God.meddle block
147 * Move god binary command logic to main library
148 * Enhance god binary with better reporting
149 * Fix synchronization bug in Timer (reported by Srini Panguluri)
150 * Add Lambda condition for easy custom conditions [Mike Mintz]
151 * Add sugar for numerics (seconds, minutes, kilobytes, megabytes, percent, etc)
152 * Add optional PID and log file generation to god binary for daemon mode
153 * Add God.load to do glob enabled loading
154 * Add -V option to god binary for detailed version/build info
156 == 0.2.0 / 2007-07-18
158 * Rewrote innards to use a state and event based lifecycle
159 * Basic support for events via kqueue (bsd/darwin) and netlink/pec (linux) [kevinclark]
160 * Added advanced syntax (simple syntax calls advanced api underneath)
161 * Condition returns have changed meaning. With simple syntax, a true return activates block
162 * Updated http://god.rubyforge.org with updated simple config and new advanced config
164 == 0.1.0 / 2007-07-07
166 * 1 major enhancement
167   * Birthday!