forked from mojombo/god
-
Notifications
You must be signed in to change notification settings - Fork 2
/
History.txt
261 lines (219 loc) · 10.2 KB
/
History.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
== 0.7.9 / 2008-08-06
* Major Enhancements
* Use a psuedo-priority queue for more efficient driver loop [Darrell Kresge]
* Bug Fixes
* Fix file_writable? when using chroot [github.com/eric]
== 0.7.8 / 2008-07-09
* Bug Fixes
* Catch all Exceptions from HttpResponseCode condition [github.com/rliebling]
* Don't error out if the process went away in SlashProcPoller [Kevin Clark]
* Correction of Task#handle_poll to prevent crash under event registration failure conditions. [github.com/raggi]
* Cleaned up logging of failed e-mail sends. [github.com/raggi]
* Listen on 127.0.0.1 when using God as a client. [github.com/halorgium]
* New Behaviors
* clean_unix_socket [github.com/gma]
* New Contacts
* jabber [github.com/jwulff]
* email via sendmail [github.com/monde]
* Minor Enhancements
* chroot support [github.com/eric]
* Added God.log_file for the main god log, overridden by command line option. [github.com/raggi]
* Print groups from `god status` command if present [github.com/pdlug]
* Allow headers to be specified for http_response_code condition [github.com/pdlug]
== 0.7.7 / 2008-06-17
* Bug Fixes
* Fix detection of proc file system [raggi]
== 0.7.6 / 2008-05-13
* Major Enhancements
* Implement System::Process methods for Linux based on /proc [Kevin Clark]
* Minor Enhancements
* Allowing directories to be loaded at start [Bert Goethals]
* Bug Fixes
* Don't leak events on error in the kqueue handler [Kevin Clark]
== 0.7.5 / 2008-02-21
* Bug Fixes
* Remove Ruby's Logger and replace with custom SimpleLogger to stop threaded leak
== 0.7.4 / 2008-02-18
* Bug Fixes
* Introduce local scope to prevent faulty optimization that causes memory to leak
== 0.7.3 / 2008-02-14
* Minor Enhancements
* Add --bleakhouse to make running diagnostics easier
* Bug Fixes
* Use ::Process.kill(0, ...) instead of `kill -0` [queso]
* Fix pid_file behavior in process-centric conditions so they work with tasks [matias]
* Redirect output of daemonized god to log file or /dev/null earlier [_eric]
== 0.7.2 / 2008-02-04
* Bug Fixes
* Start event system for CLI commands
* Up internal history to 100 lines per watch
== 0.7.1 / 2008-02-04
* Minor Enhancements
* Add --no-events option to completely disable events system
== 0.7.0 / 2008-02-01
* Minor Enhancements
* Better default pid_file_directory behavior
* Add --attach <pid> to specify that god should quit if <pid> exits
* Bug Fixes
* Handle ECONNRESET in HttpResponseCode
== 0.6.12 / 2008-01-31
* Minor Enhancements
* Allow log file output for non-daemonized god
* Switch to SIGTERM from SIGHUP for default lambda killer
== 0.6.11 / 2008-01-31
* Major Enhancements
* HUGE refactor of timer system to simplify scheduling
* Minor Enhancements
* Check for a truly working event system and disallow event conditions if none is present
== 0.6.10 / 2008-01-24
* Bug Fixes
* Fix ensure_stop nil pid no local variable bug
== 0.6.9 / 2008-01-23
* Bug Fixes
* Fix Timer condition dedup behavior
== 0.6.8 / 2008-01-23
* Minor Enhancements
* Warn if a command returns a non-zero exit code
* Ensure that stop command actually stops process
== 0.6.7 / 2008-01-22
* Minor Enhancements
* Add --no-syslog option to disable Syslog
* Allow contact redeclaration (dups are ignored)
== 0.6.6 / 2008-01-07
* Bug Fixes
* Redo Timer mutexing to reduce synchronization needs
== 0.6.5 / 2008-01-04
* Bug Fixes
* Fix Timer descheduling deadlock issue
* Change HttpResponseCode to use GET instead of HEAD
== 0.6.4 / 2008-12-31
* Bug Fixes
* Refactor Hub to clarify mutexing
* Eliminate potential iteration problem in Timer
* Add caching PID accessor to process to solve event deregistration failure
== 0.6.3 / 2007-12-18
* Minor Enhancements
* Output ProcessExits registration/deregistration info
== 0.6.2 / 2007-12-17
* Minor Enhancements
* Output registered PID for ProcessExits
* Bug Fixes
* Fix `god remove <group>` not working for unmonitored watches
== 0.6.1 / 2007-12-14
* Minor Enhancement
* Log when state change is complete
== 0.6.0 / 2007-12-4
* Minor Enhancement
* Move Syslog calls into God::Logger and clean up all calling code
* Remove god's pid file on user requested termination
* Better handling and cleanup of DRb server's unix domain socket
* Allow shorthand for requesting a god log
* Add `god check` to make it easier to diagnose event problems
* Refactor god binary into class/method structure
* Implement `god remove` to remove a Task altogether
* New Conditions
* DiskUsage < PollCondition - trigger if disk usage is above limit on mount [Rudy Desjardins]
== 0.5.2 / 2007-10-10
* Minor Enhancement
* Allow extra args to pass through to config file
== 0.5.1 / 2007-10-08
* Bug Fixes
* Rescue connection refused in http response code condition
== 0.5.0 / 2007-10-05
* Major Enhancements
* Implement lifecycle scoped metric to allow for cross-state conditions
* Add TriggerCondition for conditions that need info about state changes
* Implement notification system
* Add Tasks (a generalization of Watches) to do non-process related tasks
* Add example init.d file in GOD_INSTALL_DIR/init/god [scott becker]
* Add human readable info to conditions (and make low level log lines debug)
* Switch DRb to use a unix domain socket for security reasons
* Minor Enchancements
* Allow EventConditions to do transition overloading
* Report errors during god startup instead of failing silently
* Make transition block optional (default to Always condition returning true)
* Better usage info for `god --help`
* Explain what's going on when attempting to rebind to an in-use port
* Add -b option to god binary to auto-bind to an unused port
* Add `god quit` to stop god without stopping any tasks
* Make self-daemonized Watch commands synchronous (as they should be)
* Allow self-daemonized Watches to specify a log (could be useful)
* Check for existence of config file if specified
* Robustify `god load` and report errors back to the command issuer
* Warn when `god load` tries to set global options
* Add Configurable.clear method and make built-in conditions clear on entry
* New Conditions
* Flapping < TriggerCondition - trigger on state change
* HttpResponseCode < PollCondition - trigger on http response code or timeout (thx scott becker)
* New Contacts
* Email < Contact - notify via email (smtp)
* Bug Fixes
* Fix abort not aborting problem
* Fix -p option not working for god binary
* Fix God.init not accepting block (thx _eric)
* Fix SIGHUP ignore (thx _eric)
* Fix error reporting on `god --help` (don't error report a normal SystemExit)
== 0.4.3 / 2007-09-10
* Bug Fixes
* fix Process#alive? to not raise on no such file (affects `god terminate`)
== 0.4.2 / 2007-09-10
* Bug Fixes
* fix netlink buffer issue that prevented events on Linux from working consistently [dkresge]
== 0.4.1 / 2007-09-10
* Bug Fixes
* require 'stringio' for ruby 1.8.5
== 0.4.0 / 2007-09-10
* 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
== 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!