Karma - Changelog

- NAME
- DESCRIPTION
- Prerelease
  - 07.15.99
  - 09.02.99
  - 09.03.99
- Version 0.5.0
  - 09.04.99
- Version 0.7.0
  - 09.06.99
  - 09.09.99
  - 09.10.99
  - 09.11.99
  - 09.12.99
  - 09.20.99
  - 09.21.99
  - 09.23.99
  - 09.29.99
  - 09.29.99
- Version 0.9.0
  - 11.04.99
  - 11.14.99
  - 11.15.99
  - 11.17.99
  - 11.22.99
  - 11.25.99
  - 11.27.99
  - 11.29.99
- Version 0.9.1
  - 11.30.99
  - 12.02.99
- Version 0.9.2
  - 12.08.99
- Version 0.9.3
  - 12.09.99
  - 12.11.99
  - 12.12.99
- Version 0.9.4
  - 12.18.99
- Version 0.9.5
  - 1.3.00
  - 1.19.00
- Version 0.9.6
  - 3.16.00
- Version 0.9.7
  - 6.23.00
  - 6.25.00
  - 6.26.00
- Version 0.9.8
  - 07.01.00
  - 07.01.00
- Version 0.9.9

# NAME

Karma - Changelog

# DESCRIPTION

I've tried to keep track of version by version changes, and you'll find most of them here.

# Prerelease

## 07.15.99

o karmaclientd runs as daemon
o cleaned up some globals

## 09.02.99

o finished web graphics

## 09.03.99

o finished installation, configuraiton, quickstart guides
o finished download website

# Version 0.5.0

## 09.04.99

o First release

# Version 0.7.0

## 09.06.99

o fixed so logging messages are not buffered until program quits

## 09.09.99

o added mail notification routine (Thanks Dennis)
o added signal handling (Thanks Mike)
o added karmactl routine
o added signal handlers for:
  - HUP reread config file
  - USR1 return status
  - TERM exit gracefully

## 09.10.99

o revamped karma.conf
  - added preference groups
  - added warning and alert notification
  - added settings for blinking/noblinking icons

## 09.11.99

o got email notification working fairly well

## 09.12.99

o setup karma-user, karma-dev, karma-announce email lists
o setup factory defaults (valid defauls if a service isn't specified in karma.conf file)
o if no karma.conf file but DBI_DSN, DBI_USER, DBI_PASS are set, uses those, and monitors that database
o replaced standard perl open and filehandles with new IO::File calls

## 09.20.99

o got readConfig working on HUP signal
o using new preference hierarchy (factory, default, and user defined)
o services specified, but with no values use factory defaults

## 09.21.99

o karmactl getting status via named pipe
o karmad creates pid file while running
o karmactl now looks for pid file to control running karmad

## 09.23.99

o checking for Mail::Send package before using it
o exit with useful message if DBI not installed
o exit with useful message if DBD::Oracle not installed
o reread config file from karmactl working
o karmactl cleanup dynamic files option
o karmactl stop option working
o karmactl status has last updated times, service status
o KARMA_HOME default location for karma.pid, karmafifo
o added logfile to karmagentd
o better error logging to karmagentd

## 09.29.99

o fixed problem with notification and intervals
o fixed problem time truncation problem (intervals)
o karmagentd cleans up &amp; exits with TERM signal

## 09.29.99

o released

# Version 0.9.0

## 11.04.99

o fixed time updating problems
o handle autoextend datafiles (set to no_status)

## 11.14.99

o karmactl status returns correct start time

## 11.15.99

o added deftran queue monitoring
o added deftran error monitoring

## 11.17.99

o got repqueue, reperror working, info pages etc
o finally got use strict working
o created karma.pm for common code

## 11.22.99

o added preference group sections on generated karma monitor page
o on/off flag in config file

## 11.25.99

o when multiple pref groups have different services enabled, unmonitored services get "-" in table
o karmactl -f forces a refresh of all monitored services against all monitored databases
o cleaned up pref_groups datastructures
o bkgd karmad, karmagentd automatically with fork ()

## 11.27.99

o fixed services updating after db shutdown
o moved full/short option to email_notify config
o cleaned up notification
o created basic config file

## 11.29.99

o added help pages for repqueue, reperror
o created prefgroups config file
o repqueue, reperror help files

# Version 0.9.1

## 11.30.99

o credits.html, bugs.html docs

## 12.02.99

o debugging with -d option
o finds KARMA_HOME even after daemonize moves home dir to "/"
o if KARMA_HOME directory can't be found, a message is logged

# Version 0.9.2

## 12.08.99

o various Win32 fixes
o calling Win32::IsWin95, Win32::IsWinNT
o signal handling unix only
o daemonize which uses fork () only called on unix
o backgrounding job on Win32 (from karmactl) with system ("start perl karmad -opts");
o handling delimiter '/' on unix, '\\' on Win32

# Version 0.9.3

## 12.09.99

o cleaned up file/directory name setting code

## 12.11.99

o converted all html and text documents to pod including credits, todo, changelog, bugs, config, contribute, futuredev, install, quickstart, readme, release, security, license, and services
o created a script to generate html and text docs in the appropriate directories, MAJOR LABOR-SAVER

## 12.12.99

o fixed up color contrast problems, using light-blue background, black text
o if no valid tnsnames are found, karma exits with message to logfile
o fixed a major bug which was leaving the db handle screwed up after the fork in daemonize... moved daemonize to earlier place in code and also check dbh more often with ping, cleanup, and reconnect if necessary. This forced me to add lots of checking, for valid $sth statement handles, to add $sth->finish calls, and sprinkled debugMessage calls throughout the code.
o fixed bug when no karma.conf file found, and karma uses DBI_USER, DBI_PASS, DBI_DSN...

# Version 0.9.4

## 12.18.99

o added Makefile.PL, tested
o info column titles moved to $main::titles at top
o reviewed factory defaults
o a tbsp with an autoextend datafile is always green
o fixed bug with min_wakeup time (refresh interval)

# Version 0.9.5

## 1.3.00

o handling karmagentd win32 conditions
o karmagentd logging messages
o karmagentd checking for valid dbh, sth, reconnecting when necessary
o karmagentd handling term, hup signals
o karmagentd handles reset alertlog (reread from beginning)
o slowsql defaults to OK status

## 1.19.00

o fixed problem where down DBs didn't respect unmonitored services
o fixed misc "use of unitialized values" errors
o karmagentd exits if can't find or open alert.log
o cleaned up some "" where '' are better

# Version 0.9.6

## 3.16.00

o fixed big email notification bug
o blinking icons config directive fixed, warn_blink=[false|no|0], alert_blink=[false|no|0], otherwise blinking icons are used
o list of valid service names if debug_level = 2
o karma returns error if ORACLE_HOME set to invalid directory
o fragmentation checks only first 100 fragmented objs

# Version 0.9.7

## 6.23.00

o added support for configuring doc_root in karma.conf file
o fixed bugs with config file from karmactl, karmad etc...
o updated links page

## 6.25.00

o added threshold warn and alert values to more info page
o changed extents checking to >=
o alertlog monitoring verifiable even when not running, or tables not created
o password entered without echoing
o various unitialized values errors fixed

## 6.26.00

o docs explain services, how to tune, instead of karma config info

# Version 0.9.8

## 07.01.00

o fixed serious bug with karmagentd not starting, failed to read password needed to chomp() password after ReadKey
o karmagentd now checks for karma_agent, karma_os_stats, karma_alertlog_errors tables, exits if they don't exist
o fixed -a option, sometimes working directory would get prepended to absolute path
o fixed -t option, also specifying DBI_DSN environment variable supported now, and take precedence over command line options

## 07.01.00

o fixed short emails so they use shortened service names
o added configuration information in status output (karmactl -t)
o fixed uptime display in status output
o tested for short and full email addresses, and notification worked fine
o added -a option to karmactl, checks to see if karmad is running, returns status via $? (0 ok, 1 not ok)
o a bug surfaced where redolog errors generated 1000+ emails, however there were a number of bugs I fixed in there, especially in relation to accessing those data structures. The bug has not resurfaced, and I so far cannot reproduce it. =back

  # Version 0.9.9