File: History.txt

# History.txt

Path: | History.txt
Last Update: | Mon Mar 08 04:56:01 -0700 2010

## 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`
        * Fix pid_file behavior in process-centric conditions so they work with tasks
        * Redirect output of daemonized god to log file or /dev/null earlier

## 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 god.rubyforge.org with updated simple config and new advanced config

## 0.1.0 / 2007-07-07

- 1 major enhancement
  - Birthday!

[Validate]