20010716: - 0.38
20010715: - new dest syntactic sugar: you can explicitly say "CATEGORY".
          - INCOMPATIBLE CHANGE: config_version is now mandatory
          - linux kernel firewall categories now don't print source port
20010714: - new dest: UNIQUE category, ie. method to handle "unique" counts
20010713: - cleanup: let changes to catch-22 variables take immediate effect
20010712: - document per-category config, sort, filter, derive
20010711: - STATE dest
          - more per-category filters: and, or, none
          - default_filter
20010710: - derivable categories: add, subtract, remove
20010709: - per-category config
          - per-category filters: >=, <=, <, >, =, !=, top N, bottom N, 
            top_strict N, bottom_strict N, top_strict N%, etc.
          - per-category sorting: reverse, value, number/string/funky, none
	  - default_sort is more flexible (ie. reverse, value, etc.)
          - @@error, @@warn: directives to send the user a message
          - filename_ignore_patterns: patterns of filenames to ignore when 
            including dirs
20010709: - patch from Nicolas Chuche to allow full use strict mode
20010701: - INCOMPATIBLE CHANGE: date_format defaults to %Y_%m_%d
          - INCOMPATIBLE CHANGE: -o should not output to standard out (see -O).
          - -O (or output_file_and_stdout): also output to standard out
          - cleanup: replace range detection with explicit $in_multiday 
            variable
	  - allow simple days-ago in a range (ie. -d7-1 for last week's logs).
20010630: - cleanup: treat version as a string, compare using funky_cmp
20010629: - 0.37
20010326: - cleanup: don't update count in real_mode; memory leak
20010325: - real mode log rollover detection
          - new variables real_mode_sleep_interval, real_mode_check_interval
          - funky sort: sort numbers separately to handle IP address better
          - new global variable: default_sort.  Can be set to string,
            funky, or numeric, defaults to funky
          - INCOMPATIBLE CHANGE: new default sort is "funky"
20010324: - -r: continuous, tail -f style output
          - real_output_format: new global for the output in real_mode
          - field widths (optional) for tags (ie. %10n, %-10n)
20010321: - preprocessor directives a la aide: @@define, @@undef, @@ifdef, 
            @@ifndef, @@ifhost, @@else, @@endif, @@ifhost, @@{VAR}
          - INCOMPATIBLE CHANGE: replace end with @@end
          - implement and allow: -d range with -a
          - new required config variable: output_message_all_days_in_range
20010318: - -I patterns
          - -I help
          - -I log_types
20010315: - 0.36
          - document -o
          - make -I internal_config and -v run before any config is looked at
          - -I log_files: show actual log files to be parsed
20010313: - BUG: syslog server with exactly one logging host and none of its
            own log messages doesn't get noticed as multiple hosts
          - complete code review
          - -I config_versions
          - change in multiple-host message
          - file_version: declares the file version for config files
	  - support for a range of days, ie. -d 2001_02_01-2001_02_28
          - internally merge old and new configs
20010310: - -I categories: list all categories (ie. from configs and implicit)
	  - pipe_decompress_to_open: don't use a tempfile
          - document decompression + open_command interaction (ie. tempfile)
	  - minor rule updates
	  - localize hostnames/nodenames relative to domain
          - domain: allow either manual setting, or use /etc/resolv.conf domain
          - leave_FQDNs_alone: don't localize hostnames/nodenames
20010309: - BUG: 3rd field in raw_rules defined as false should not be an error
	  - Support for -d as absolute date, ie. 2001_03_02; tested 1902-2037.
          - INCOMPATIBLE CHANGE: change -F to -I internal_config
	  - INCOMPATIBLE CHANGE: change -D to -I evals
20010111: - 0.35
20010108: - more elegant solution to making local user configs higher priority
20010103: - make local user configs higher priority
20010101: - document: new config, SKIP, LAST, multiple categories,
	    word_pat, use_sprintf, counts
	  - make new config rules implicitly end with \s*$
20001220: - replace all /usr/local instances with prefix
20001219: - modified my local copy of automake to do chmod 755 instead of 777.
            What's up with that?
20001217: - implement SKIP in new framework
          - implement LAST in new framework
	  - optional use_sprintf for format
	  - implement counts
	  - logging to mutiple categories
	  - convert old internal config to new framework
20001208: - INCOMPATIBLE CHANGE: no more 4th field code hook for raw_rules.  
	    If you were using it, let me know why and if I can't think of a
	    workaround, I'll add it back in.
          - added in various fancy config options
	  - added in word_pat
	  - took care of last message issues
20001207: - document SIGINT stuff
20001206: - fixed bug: repeating internal config gives errors, found by 
            Paul Jakma
20001129: - -S: suppress output footer
20001031: - 0.34
          - minor rules updates
20000828: - catch SIG_INT for early output
          - priority support, with new "priority" variable
20000827: - make -U output the type 
          - -u unknownsdir: trick to make writing rules easier 
	  - INCOMPATIBLE CHANGE: take required_log_file out of the config; 
            it wasn't playing nicely with everything else.  If you were
            using it, please revert to the old version and let me know.
          - minor rule updates
20000819: - 0.33 
          - autoconf support to autodetect perl location 
          - minor rule updates 
20000616: - 0.32 
20000612: - sendmail 8.10 queue IDs
          - allow whitespace at the beginning of config lines 
20000418: - 0.31
          - more documentation, samples 
20000416: - 0.29
          - fixed "-" vs. "_" sloppiness in old config, standardizing on "_"
          - make -p only be legal when mail_address or -m
          - assorted documentation
          - strip leading whitespace from blocks, vars
20000412: - pgp_rules, -p
20000119: - mail_user_pat
20000114: - umask bugfix
20000113: - decompression_rules
          - do proper temp files
          - umask
          - skip old files
20000112: - include version info in standard output
          - fix -U
          - change -U to *only* output unknowns
          - document problem with % in crontab
20000106: - -v
          - allow_nodenames
          - check patterns
          - reorganize docs
20000105: - -o to generate an output file
          - show_all, days_ago, output_file in config
          - base unknowns on types rather than files
          - merge unknowns into count
          - -N for process all nodenames
20000104: - strftime for date_format (global and extension)
          - sort categories
          - document catch-22
20000103: - ignore_categories
          - priority_categories
20000102: - tag substitution for mail_comand
          - include, and include_if_exists
          - include_dir, include_dir_if_exists
20000101: - import PATH
          - import nodename, osname, osrelease
19991231: - process_tags
          - cleaned up implied ^
          - open_command
          - pre_date_hook
19991230: - implemented "remove arr"
          - fixed a bug where optional scalars would be default to a null value
          - documentation
          - redid config_version into its own keyword
19991229: - sendmail handler
          - a bit of error checking when building the config
19991228: - generic config mechanism for arbitrary log types
          - show elapsed time
          - usage function
          - -D to dump default config
          - -s to suppress running extra commands
          - version check
          - wrote sulog handler
          - added an "eval code" item
          - got "last message repeated" working
          - include files
19991227: - added huge amounts of capability; not even recognizable
19991223: - converted to perl (from sh), renamed to log_analysis (from do_log)
19990607: - original version
