# Changelog

    2015-11-25 Michael Medin
     * Fixed #199 yet memory leak this time in check_eventlog

    2015-11-22 Michael Medin
     * Added post option to do only post install action on build
     * Fixed installer upgrade issue when upgrading from build revisions #164
     * Fixed #206 Added support for checking multiple times with check_pdh and rrd buffers
     * Fixed drive letters with single character
     * Fixed certificate creation in webserver (and removed dependency on applink)
     * Fixed building on visual studio 2015
     * Added showing location using nscp settings --show
     * Fixed services showing twice in service list
     * Added noop as channel target to discard message
     * Fixed memory and resource leaks #199

    2015-11-09 Michael Medin
     ! released 0.4.4.12
     * Readded accidental removal of setting arbitrary keys in installer

    2015-11-02 Michael Medin
     ! released 0.4.4.10
     * Set missing conf_can_change property
     * removed unused property
     * Moved feature selection to apply logic
     * Fixed include issue for non op5 install
     * Added CA for managing MONITORING_TOOL to allow setting all properties from command line using a MONITORING_TOOL=op5 options

    2015-10-26 Michael Medin
    * added so typical wont select config type
    * Defaulted registry for op5

    2015-10-18 Michael Medin
     * Added signing of exe/msi

    2015-10-16 Michael Medin
     * Update op5.ini
     * Fixed brakepad (using new bundled cmake code)
     * Added support for uploading all resources to github (removed old scp upload)
     * Swapped build folder
     * Added support for wix 3.1
     * Fixed postbuild script
     * Fixed paths in for op5 scripts
     * cleaned up the installer and fixed lots of bugs and issues with silent instal as well as options and such
     * Fixed migrating over the same store wont update it
     * Fixed issue with save updating "child keys" when reading included files.
     * Fixed comments with \n in ini files
     * Added op5 installer
     * Fixed build with new boost

    2015-05-02 Michael Medin
     * Updated some libs to work on centos 6.x

    2015-04-29 Michael Medin
     * Improved handling around connection failures
     * #142 Improved security when external scripts fails
       command lines which may contain password are no longer returned

    2015-04-27 Michael Medin
     * Improved the logging around connection failures
     * Improved the reporter syntax:
       reporter.exe send b1438ab2-20a3-4b2d-bc30-7c3033c084e1.dmp

    2015-04-08 Michael Medin
     * #139 Added support for showing file dates in local time (not just UTC)
     * Added check_ping command and CheckNet module
     * Fixed a few potential crashes with check_nt

    2015-03-24 Michael Medin
     * #123 fixed CheckAllOthers
     * #124 Fixed problem count variable
     * #131 Added support for service=<service description> to check_service
     * A lot of infrastructure changes and build fixes

    2015-02-23 Michael Medin
     * Fixed check_files empty  message to say files not drives.
     * #114 Fixed issue with empty-state which was ignored
     * A lot of infrastructure changes and build fixes

    2015-02-14 Michael Medin
     * Fix incorrect variable in check_page_filter()
     * Add pct to check_pagefile
       This is basically a clone of f90ab0bf which added pct to check_memory.

    2015-02-14 Michael Medin
     * #110 Added support for using units in check_cpu
     * added error handling for invalid states on checkservice
     * Fixed compiler warning
     * #103 Improved error messages and logging related to settings

    2015-02-11 Michael Medin
     * #105 Fixed issue with parsing legacy style checkservice comamnds
     * improved error handling is service check parsing failes

    2015-02-06 Michael Medin
     * #102 fixed check_os_version default filter

    2015-02-04 Michael Medin
     * Tweaked build a bit to resuse some code
     * added postbuild.bat to work around using the wrong python.exe
     * Fixed so specified python is found before path python (i.e 32-bit python on 64 bit machines)
     * #100 Fixed check_pdh not picking up warn short hand options.
     * Added option to rebuild without bumping version
     * Changed symbol paths
     * bumped versions and updated docs
     * Fixed crash upload properties to work with new collector
     * Fixed crash upload configuration
     * Added support for creating github releases
     * Added documentation for chiper strings
     * Fixed some issues with crash reporter
     * Fixed crashdump folder

    2015-01-31 Michael Medin
     * Fixed check_process issues
     * Fixed all check_always_xxx commands so they work again...
     * Added support for arrays and rendering invalid columns
     * #81 Fixed so check_wmi will work without warn/crit and changed so default formatting displayes all rows
     * #98 Fixed so ok syntax is not used if you have customized the regular output to contain all data

    2015-01-30 Michael Medin
     * tried to fix floating point plattforma independent issues a but ugly...
     * Fixed some inconsistencies with the installer NRPE configurator
     * Fixed some issues with nrpe installer and ssl options

    2015-01-29 Michael Medin
     * #91 Added new command xform_perf which can transform performance data (currently only supports extracting maximum/minimum from int/float values)
     * #96 Fixed pagefile size block conversion using the actual architecture value

    2015-01-28 Michael Medin
     * #49 Fixed issue with rounding performance data (take 2)
     * #94 Fixed so log file is reverted to real default is the wrong one is used.

    2015-01-27 Michael Medin
     * #94 Fixed default log file location
     * #49 Fixed issue with rounding performance data
     * Added test cases for rounding performance data
     * #83 Fixed issue with invalid packet type (the default for extended response is now disabled in "insecure mode")
     * Improved error message for ssl errors (which are now likely due to the insecure option)

    2015-01-27 Michael Medin
     * #91 Added documentation about perf-config (Updated docs)
     * Fixed selector filtering so all names are trimmed for spaces.
     * Changed so perf config selectors use dot notation instead of no notation.
     * Added support for parsing expressions with '' in performance config as well as . and some such in the keywords
     * Added new utility function render_perf to render performance data in the message.
     * Added new option to all commands show-default to show the default command line used when a command is invoked.

    2015-01-26 Michael Medin
     * Perfdata units (and others) are no longer case sensitive
     * #92 Fixed so triggered services are ignored.
     * refactored fetch delayed into a function
     * Added trigger start support (for real this time, honest... i promise!!!)
     * Fixed missing return statement
     * Fixed compiler warning about unused variable

    2015-01-23 Michael Medin
     * Fixed unix checks to work with new arguments

    2015-01-22 Michael Medin
     * Implemented empty syntax as a proper syntax string (i.e replacement variables)
     * Added support for empty-state (should work now)
     * Implemented ok-syntax in most checks to make the ok message a bit nicer...
     * #78 removed the delayed() from ok message

    2015-01-20 - MilanDadok
     * 0.4.3.88 flags property of PDH counter can be specified as check_pdh argumnet, but not in INI
     * 0.4.3.88 PDH counter with rrd buffer will return oldest value from buffer as current/actual value
     * 0.4.3.88 Cannot add second PDH counter to INI

    2015-01-20 - brunoqc
     * Fix typo in create_plugin_module.py
     * Return result from check_nrpe

    2015-01-20 Michael Medin
     * removed --format from docs.py since there is only one format

    2015-01-11 Michael Medin
     * Added new options to disable sslv2 and sslv3 (enabled by default in secure/safe mode)

    2015-01-07 Michael Medin
     * #74 Fixed check_process empty list returns ok status
     * #72 Fixed issue with rate counters not working.
     * #75 Fixed so modules have a version block
     * Fixed so version use . not ,
     * #75 Fixed error reporter information and improved the icon
     * #75 Changed icon name to something more sensible

    2015-01-06 Michael Medin
     * #73 set legacy performance data suffix to empty.
     * Added option to set suffix/prefixes to empty using perf-config.
       check_pdh ... perf-config=*(suffix:none)
     * Fixed missing sample from documentation
     * Use the same name/desc for password (common key)

    2015-01-05 Michael Medin
     * #71 service name is now nsclient on both redhat/centos el6 and el7
     * #70 config file no longer replaced when upgrading on linux
     * Fixed issue when upgrading/reinstalling the service and certificate was already generated
     * #69 service should now be compatible with chkconfig command

    2015-01-04 Michael Medin
     * #68 fixed spelling mistakes in command line help
     * Removed json settings output as it is kind of pointless (will be readded in the form of json settings in 0.4.4)
     * Removed filter (command line option) as it no longer used
     * #67 Fixed command line missing from check_process
     * Fixed segv when file was missing from checkfilesize realtime check
     * #66 Fixed spelling mistake in build script
     * #65 fixed init.d script missing on centos/redhat 6el6(.5) rpm:s
     * Improved error reporting when service fails
     * Removed modern commands flag since there are only modern commands in 0.4.3

    2014-12-29 Michael Medin
     * added ok syntax to allow having a separate message for ok states
     * Versions now include linux release on redhat
     * Copy all packages
     * disable teston older boost versions
     * Fixed redhat vagrant build issue (puppet dependency)
     * Added Centos 6.5 vagrant

    2014-12-13 Michael Medin
     * #63 Fixed missing space in syntax
     * Fixed compatibility with older version of boost

    2014-12-11 Michael Medin
     * Adde dependency on tcpip to service
     * #50 Added _pct free to check_memory and check_drivesize
     * #50 removed "ok" prefix from detail_list
     * Change Checkmem legacy syntax to include details
     * #50 Added %:es to CheckDriveSize

    2014-12-09 Michael Medin
     * #62 Fixed exception when unloading DotNEt plugin (and quite possibly a bunch of other issues as well)
     * #50 Fixed CheckMem MinWarn/Crit not using free as before
     * #34 Fixed issue with check_multi returning the wrong status code
     * #46 Fixed issue with check_drivesize and size not accepting units.
     * Change compatibility layer to use show-all instead of replicating the logic of show-all
     * Fixed so "ok" hits are counted towards ok list (not just matched)
       This breaks how "ok" was handled before but makes more sense I think
     * Change RPM package name
     * Added detail_list which shows a list with statuses to all filters
     * Changed so show-all use the new detail_list instead of list.
     * #50 Added option to seed extra perf data keys using perf-config:

    2014-12-08 Michael Medin
     * #38 Attempt to fix non upgradable installer
     * Changed vagrant build script to copy packages out of VM
     * Fixed debian init script
     * Fixed version bump script
     * Improved debian packages
     * Added init.d init script (which seems to not work BTW)

    2014-12-07 Michael Medin
     * Tinkered a bit with process elevation tokens
     * added new field error to show any error messages associated with check_process
     * removed some travis deps no longer required (I think)
     * removed TODO return message from py scripts
     * updated docs
     * Fixed some restructured syntax bugs

    2014-12-06 Michael Medin
     * updated docs
     * Some linux package improvments
     * Added support of validating counters (and loading other counters if validation fails of a single one)
     * #43 improved error message when English counters fails.

    2014-12-05 Michael Medin
     * #45 Fixed missing %total% conversion in check_file

    2014-12-04 Michael Medin
     * #47 Fixed so totals are caluclated correctly when drives are not in the filter
     * #47 Fixed so total is not affected by filtering
     * Moved function to parse arguments into a shared function
     * #59 Fixed so check_memory (both unix/win) supports both % and KMBG units.
       i.e. check_memory "warn=used>30M" now works

    2014-12-03 Michael Medin
     * #60 Fixed no response for unknown file extensions in web server
     * Whoops, wrong syntax in spec file
     * Cleaned up web install output a bit #58
     * added self signed cert generation to spec file
     * Added command line interface to generate the self signed certificates:   nscp nrpe make cert
     * Fixed so self signed certificates are not CA certs....
     * Merge pull request #29 from historicbruno/evtquery-error-fix
     * Merge branch 'master' of https://github.com/mickem/nscp
     * Fixed threading issue in registry (which was single threaded by proxy before)
     * Merge pull request #57 from palli/fix-typo-critcal

    2014-12-02 Pall Sigurdsson
     * Fix typo CRITCAL > CRITICAL

    2014-09-04 Ben Brian
     * Fixes CheckEventLog error handling if EvtQuery fails

    2014-11-23 MickeM
     * Fixed issue with arguments on some (primarily external scripts) command definitions (thank you #osmc)
     * Fixed annyoing login bug in webserver
     * Added caching to javascripts
     * Fixed invalid date in syslog messages (now use current)
     * Fixed accidental TODO in registry settings name (thank you #osmc)
     * Fixed boost compatiblity issues with 1.53 (windows) and 1.48 (linux)

    2014-11-16 MickeM
     * Added help to command line client
     * Changed so averages are used if polling failes
     * Fixed installer issues
     * Fixed extern script command line interface
     * Fixed issue with total and check_pagefile
     * Fixed some command line bugs
     * Added password header for rest API

    2014-11-09 MickeM
     * Fixed help issues for ext-scr
     * Added --wrapped to add wrapped script with ext-scr command line

    2014-10-31 MickeM
     * Major improvements to web UI
     * Fixed issue mutex issue with predefined coutners

    2014-09-23 MickeM
     * Fixed annoying cmake issue
       note to self: dont use macros in cmake!
     * Fixed some exceptions when certificates cannot be created
     * Added --define to set config options on command line
     * Refactored so all paths and such are defines (and not hard coded strings)
     * Started to move things to sensible places on linux
     * Fixed web server install (no longer installed NRPE)
     * Loading case-insensetive modules now works on cli on linux

    2014-09-08 MickeM
     * More build tweaks (does it ever end?)
     * Fixed performance data rounding issue

    2014-09-08 MickeM
     * Added SSL support for mongoose and WEBServer
     * Removed options when nscp <context> is used (to make -- less necessary)
     * improved documentation

    2014-09-06 MickeM
     * Added keyword rendering to settings key descriptions

    2014-09-05 MickeM
     * Fixed NRPE mode selector in the installer
     * Fixed installer not reading old config

    2014-09-03 MickeM
     * Fixed so warn/crit can be set to none
     * Fixed "funky logging" if log file could not be opened
     * Fixed #730 check_tasksched / most_recent_run_time not working
     * Fixed debug option for filters

    2014-08-24 MickeM
     * Cleaned up cmake files and added internal gtest distribution
     * Added support for building with shared runtime

    2014-08-14 MickeM
     * Fixed some documentaion issues (not using crlf on windows, lookups were wrong, alias handling was wrong, settings keys were broken, settingks keys were scoped wrong)
     * Fixed so alias descriptions in external scripts are render better

    2014-08-13 MickeM
     * Fixed installer issues
     * Added firewall exception as a separate component

    2014-08-12 MickeM
     * Reworked the dot-net API
       Now actually works and is much much improved.
     * Change the dotnetplugin.dll name to NSCP.Core.dll
     * Removed all "helpers" from the API and added a separate NSCP.Helpers.dll
     * All C# code is now built using cmake
     * CSharpSample plugin is now included in cmake build
     * Added protobuf_net and a compiled proto file to NSCP.Protobuf.dll
     * Much bugfixing and tweaks and changes to dot-net plugin
     * Change the directory structure of various components to make things easier to find
     * Cleaned up the cmake build a bit
     * Removed some old stale artifacts
     * Changed name of nscapi_plugin_interface.hpp to nscapi_helper_singleton.hpp to better reflect what it is
     * Fixed build on apple osx

    2014-08-01 MickeM
     * Major refactoring of json handling
       now uses exact same messages as protobuf (compiled from protobuf)
     * Added json-protobuf (library to compile protobuf to json spirit)
     * Added help-pb to get help as protobuf from commands
     * Removed help-csv since help-pb is better (and built-in to inventory)
     * Clenaedup protobuf file and removed some unesseceary fields.
     * migrated "test" client into a separate moduile (CommandClient)
     * greatly extended the client interfaces (both web and console) to have new and improved commands

    2014-07-19 MickeM
     * Extensive additions to the WEB UI
     * Console can be used much like nscp tesat
     * Log view is enhaned
     * Modules view added

    2014-07-14 MickeM
     * Fixed so all files are copied for WebServer

    2014-07-13 MickeM
     * Improved reload handling.
       Plugins are now reloaded and if they support reload messages can do whatever they want.
     * Added retry command line option to clients
     * Unwrapped the macros from plugins.?pp
     * Added error messages when saving HTTP settings

    2014-07-10 MickeM
     * Changed so plugin generator uses jinja (instead of strings)

    2014-07-10 MickeM
     * A rollup of all changes over the last month
     * Refactored and removed precompiled headers
     * Linux: referenced path is the exe file (not the current folder)
     * Split documentation into a separate projects
     * Bumped openssl version
     * Fixed check_drivesize
     * Fixed multiple return packets patch
     * Fixed buffer overflow in external scripts
     * Added option to install script from comand line
         nscp ext --script scripts\foo.bat
         nscp ext --script scripts\foo.bat --alias bar ..arguments test1
     * Added command line interface to setup NRPE server
      nscp nrpe -- install --help
      nscp nrpe -- install --port 1234 --allowed-host foo.com --insecure
      ...
     * Fixed some test failing and spli NSCA test into multiple ones
     * Meged in some changes from 0.4.2
     * Added support for generating certificates
     * Added new option insecure which sets defaults to "legacy insecure NRPE"
     * Fixed registry bug
     * Much improved HTTP settings
     * HTTP Settings will now refresh/reload whenever the remote file is changed (will poll every x minutes)
     * HTTP Settings can now download attached files (scripts etc.)

    2014-04-23 MickeM
     * Added initial WebServer module
     * Fixed issue with check_nt INSTANCES
     * Fixed documentation bugs
     * Fixed issue with checking values without units

    2014-04-16 MickeM
     * Added filter functions to documentation
     * Fixed issue with conversion of CheckServiceState #707

    2014-04-15 MickeM
     * Fixed issue with aveerages and performance check_pdh #710
     * Fixed issue with converting empty exclude statements for CheckService
     * Fixed issue with check_taskshced and most_recent_run_time

    2014-04-xx MickeM
     * Added testcase for powershell scripts #709

    2014-03-10 MickeM
     ! 0.4.2 RELEASE
     * Fixed server restarting listeners on errors

    2014-03-08 MickeM
     * Added total object to check_files
     * Fixed registry issues

    2014-03-06 MickeM
     * Fixed performance config order
     * Fixed external script alias and support for help-csv

    2014-03-05 MickeM
     * Fixed crash dump issue
     * Fixed memory leak in NSCA

    2014-03-04 MickeM
     * Fixed issue with CheckTaskSched and status #702
     * Improved rendering of status #702
     * Added some debug logging to eventlog to help diagnose issues
     * Fixed default crash dump folder config issue

    2014-02-23 MickeM
     * Changed so uniq is default for eventlog checks (if no arguments are given)
     * Fixed drives so they are more sensible
     * Added drive_or_id and drive_or_name to configure the default "id" of drives.
     * Fixed so legacy MaxWarn/MinWarn/MaxCrit/MinCrit are treated like >= and <= (which is the original behaviour)
     * Changed so default "help" if invalid syntax is the short version.
     * Removed erronouse logging when shutting down sockets
     * Tweaked console output a bit
     * Fixed check_uptime overflow issue

    2014-01-25 MickeM
     * Fixed FILEAGE check_nt command #480, #636, #642, #39 (and others)
     * Fixed delayed start issue in check_service #681
     * Fixed not regexp issue #651
     * Fixed default service name
     * Fixed issue with scan-range #683
     * Fixed uptime performance alias (and added unit s) #688
     * Fixed issue with CkeckCPU show-all: #687
     * Fixed issue with check_ping.bat #635
     * Fixed documentation for nsca hostname #690
     * Fixed validation issues with lists #605
     * Fixed so external script errors are reported againast the alias not the command #677

    2014-01-04 MickeM
     * Numerous bugfixes and compatiblity fixes
     * Gone over all unit tests to make sure they run

    2013-12-23 MickeM
     * Added support for unique
     * Fixed unique and debug flags in CheckEventLog

    2013-12-20 MickeM
     * Fixed issue with check_nt and units beeing reounded to nearest bg, mg, kb, etc)
     * Added support for configuring performance data

    2013-12-18 MickeM
     * Fixed source in new eventlog
     * Added truncate-message option to check eventlog to truncate the message
     * Added filtering of cr,lf in eventlog messages
     * Fixed performance data naming in event log

    2013-12-10 MickeM
     * renamed "full config" sample to reduce confusion.
     * Fixed numerous issues with check_files and CheckFiles (now all CheckFiles unit test work as expected)

    2013-12-09 MickeM
     * Fixed a crash in handling ${status} in some filters.
     * Added check_nrpe to the installer
     * Changed symbol paths (in zip) now correspond to what breakpad expects

    2013-12-05 MickeM - RC3
     * Added suport for instances (new keyword instances) to check_pdh
     * Fixed more compatiblity issues

    2013-12-04 MickeM
     * Added check_cpu_ex.lua script to return top consumers for check_cpu command.
     * Harmonized the compatiblity layer so all commands "work the same"

    2013-12-03 MickeM
     * Added new command: filter_perf to filter the returned performance data
     * Fixed some issues (API changes) in Lua script module

    2013-11-29 MickeM
     * Fixed issue with logger

    2013-11-28 MickeM
     * Added %() for all expressions to make esacping in nagios simpler.
     * Fixed crash in check_nscp
     * CheckDriveSize (compatiblity) fixed support for multiple bounds will only use "one of them" though.
     * Fixed some regression issues for check_nt (disk, memory uptime, services)
     * Added $ARGS$ to CheckExternalScript to add scripts with variable argument lists
     * Added $ARGS"$ to CheckExternalScript to add scripts with qouted variable argument lists

    2013-11-27 MickeM
     * Fixed _user arguments for check:drivesize (which can be used for drives with qouta)

    2013-11-26 MickeM
     * Improved compatiblity for CheckDriveSize
     * Added total (option) to check_drive to get/check the total size of all (matching) drives
     * Fixed bounds calculation for check_drivesize
     * Fixed issue with the show-all flag beeing on by default.
     * Fixed issue with converting to byte units for very large/small numbers

    2013-11-22 MickeM
     * Updated documentation
     * Added sample for most commands
     * Fixed syntax issues with online help
     * Fixed so PDF documentation builds correctly
     * Fixed check_uptime to be more sensible (i.e. uptime is just a value not a strange date thingy)
     * Added compatiblity for CheckTaskSched

    2013-11-21 MickeM
     * Fixed some check_drivesize perfdata issues
     * Fixed check_drivesize type filter keyword
     * Fixed CheckDriveSize compatiblity issues

    2013-11-20 MickeM
     * Added support for setting source in schedules to override hostname
     * Fixed real-time eventlog defaults

    2013-11-19 MickeM
     * Fixed links in documentation
     * Fixed bugs in documentation generator (missing sections)
     * Fixed hostnames for NSCA/NRDP

    2013-11-17 MickeM
     * Fixed CheckEventLog compatiblity

    2013-11-08 MickeM
     * Improved check_nt compatiblity
     * Added back lines as alias for list in top syntaxes.

    2013-11-08 MickeM
     * Finally fixed broken unit test on "linux" (Which was a case error as always, damn you ntfs!!)
     * Fixed some dependencies in the vagrant puppet conf
     * Added oracle linux vagrant profile (but doesn't seem to work :(
     * Added support for external script (Linux side)
       WARNING: No timeout handling (yet)
     * Added test cases for external script to ctest

    2013-11-07 MickeM
     * Fixed issue with NSCA hostname (NSCAClient load).
     * Fixed check_nt commands
     * Added vagrant files to load-up machines and build NSClient++ (ubuntu)

    2013-11-03 MickeM
     * Fixed so lua script are now loaded with a missing .lua extension
     * Fixed Lua some remaining invalid lua functio issues.
     * Fixed unit test for Lua scripts.
     * Fixed forwarding (for clients)
     * Fixed test_nrpe (lua)

    2013-10-29 MickeM
     * Added json_sprit as a submodule to see if this works better.
     * Changed so json_sprit now builds using their own cmake file which means it should hopefully be better ready for future versions.

    2013-10-28 MickeM
     * Compatiblity layer added for most "old" checks.
       The way this works is that CheckCpu is the old check and check_cpu is the new.
     * Fixed a lot of check related bugs
     * Added a bunch of check related options such as exclude and so on and so forth.

    2013-10-20 MickeM
     * Added real-time checks for cpu and memory (CheckSystem)
     * Refactored client handling a bit to make it simpler to create stand alone clients.
     * Added check_nrpe client

    2013-10-17 MickeM
     * A lot of Linux fixes
     * Refactored real-time stuff to make it easier to add in new places
     * NSCA/NRPE fixes

    2013-10-10 MickeM
     * Added back CheckWMI based on new filters.
     * Fixed issues with building on Linux
     * Added support for WMI and float types (type 4 and 5)

    2013-09-24 MickeM
     * Fixed issue with performance data and byte based units
     * Added total to check_pagefile

    2013-09-23 MickeM
     * Removed page (since it often is wrong)
     * Added check_pagefile (to check pagefile usage)
     * removed nobp (wince it was for NT4 and we dont support nt4)
     * Removed debug symbols (since breakpad symbols work)

    2013-09-19 MickeM
     * Fixed issue with skipping registry
     * Added page (commited - physical) memory metric

    2013-09-17 MickeM
     * Added support for new eventlog API.
       This means NSClient++ can FINALLY! check all eventlogs on windows 2008 and windows 2012!

    2013-09-16 MickeM
     * Fixed NRPE issue

    2013-09-09 MickeM
     * Fixed check_multi
     * added new options to check_multi (suffic, prefix and separator) to better control the output
     * starting services (auto-start) is now a warning state.

    2013-09-08 MickeM
     * Brand new filters
     * Modernised check_cpu
     * Modernised check_process
     * Modernised check_service
     * Modernised check_uptime
     * Modernised check_tasksched
     * Merged CheckTaskSched1 and CheckTaskSched2 into CheckTaskSched
     * Added check_os_version

    2013-05-05 MickeM
     * Fixed a bug in the check_logfile which made filtering bail-out after the first hit.
     * Added default column-split as \t

    2013-04-30 MickeM
     * Fixed issue with negative performance data
     * Added unit test for arguments and external script
     * Fixet truncation issue with performance data (#624)

    2013-04-27 MickeM
     * Fixed bug added in build 95 regarding allowing nasty characters

    2013-04-24 MickeM
     * Added auto-uc to get hostname as upper case

    2013-04-23 MickeM
     * Added encoding option to external scripts
     * Added encoding option to NSCAClient
     * Added NSCPDOTNET.dll for making dot-net plugins

    2013-04-22 MickeM
     * Fixed an issue with % in warn and crit thresholds for CheckCPU

    2013-04-21 MickeM
     * Fixed issue with eventlog reset (will not rescan from the beginning if an error is encountered)

    2013-04-16 MickeM
     * re-added check_nt FILEAGE option.

    2013-04-13 MickeM
     * Fixed issue with binding to multiple interfaces (ie. machines with both ipv6 and ipv4 addresses).
     * Fixed some missing documentation from core settings keys such as /settings/log and /includes.
     * Added debug message warning about having $ARG??$ in external scripts wehn allowe arguments is false.
     * Removed need to escape and qoute commands for external scripts (command line will now be used as-is)
     * Fixed qouting issues with external scripts

    2013-01-21 MickeM
     * Fixed two include files issues

    2013-01-19 MickeM
     * Fixed Wix 3.7 and added wix to dependencies

    2013-01-17 MickeM - 0.4.1 RELEASE (2)
     * Added nsclient-full.ini with "all" (non advanced) available options.
     * Fix for reloading settings from file from script: core:reload('settings') will not work.
       Notice it still will onlya reload the settings not the modules so modules have to be reloaded manually.
     * Fixed return code issue in nsclient-ini full generator.
     * Added support for delayed reloading

    2013-01-15 MickeM
     * Rewrote so dll subsystem is not using wstrings
     * Workaround for Visual Studio 2012 debugger crash
     * Fixed issues with path handling in dll subsystem
     * x64 build fixes as well as improvments to build protocol buffers and patch for google test

    2013-01-14 MickeM
     * Fixed os it builds with visual studio 2012 as well as latest version of boost

    2013-01-13 MickeM
     * Fixed crash when collector thread is not started.

    2013-01-02 MickeM
     * Fixed message dialog when loading PythonScript module without python installed.
     * (re)add check_fiulesize which was accidentally removed.
     * Fix for http settings
     * fix for --version command line option

    2012-12-28 MickeM
     * Reverted default NRPE encoding to "system" (not UTF-8).
     * Added new option to configure NRPE encoding:
        [/settings/NRPE/server]
        encoding = utf8
       Valid values are currently system and utf8 (and strangely enough utf7). If you need something else let me know.

    2012-12-25 MickeM
     * Added option scan-range to CheckEventLog.
       This new option reduces the entries scanned a *lot* and can help solve memory, time and CPU issues.
       The idea is that is negative we start scanning from the end and once we hit something outsiden the range we stop scanning.
       There is a chanse that entries reported are "outside" the range so set range bigger then generate/written date/times (to reduce this risk).
         CheckEventLog file=application file=system MaxWarn=1 MaxCrit=1 "filter=generated gt -1h AND level eq 'info'" truncate=800 unique descriptions "syntax=%severity%: %source%: %message% (%count%)"
       Executes in 7 seconds adding scan-range=-5h executes in 0 seconds (yields the same result).
     * Added error message when overriding a commad (ie. when alias check_cpu overrides the new command check_cpu).
       Wont work (for technical reasons) for duplicate aliases ie.- alias x=foo and x=bar

    2012-12-18 MickeM - 0.4.1 RELEASE (1)
     * Fixed path issues in the installer
     * Fixed shortcuts in the installer
     * Fixed so clients can understand no prefixed arguments ie.
         ... -c nrpe_query -a command=check_ok host=129.168.0.1

    2012-12-03 MickeM
     * Started to refactor to use newinternal structures for all legacy checks.
     * Fixed issue in the installer
     * Added support for not using -- for options to clients (nrpe_query)
     * Merged in 0.4.1 into master (0.4.2)
     * Fixed issue in settings key registration
     * Started to improve descriptions a bit

    2012-12-02 MickeM
     * Added option to disable new alias check_cpu and only register old ones CheckCPU
       [/settings/default]
       modern commands=false

    2012-11-29 MickeM
     * Improved exception handling in server threads

    2012-11-28 MickeM
     * Fixed crash in NRPE server when payload was to large (#585 #582)
     * Fixed issue with lua unit test
     * Added payload length simulation in lua unit tests (so it returns various payload sizes)
     * Added nscp.sleep to Lua scripts (but dont use as I will implement coroutines in 0.4.2)
     * Fixed registry settings bug
     * Fixed issue with parsin performance data with leading spaces
     * Fixed issue with rendering filters

    2012-11-18 MickeM
     * Created nscpnobp.exe which is a version without break pad for older machines (windows 2000 and nt4).
       This can only be foundin the zip file (not the msi)
     * Added some missing file to zip
     * Removed counters.defs since it is not used anymore

    2012-11-17 MickeM
     * CheckEventLog: Added debug message lisgin all loaded filters to make it simpler to detect missing once
     * SimpleCache: Added keywords not-found-msg and not-found-code option to configure the outcome of "item not found".
        check_cache index=foobar "not-found-code=Doch! item was not found" not-found-code=critical
     * CheckProcess is no longer case sensetive
     * CheckServiceState: added support for pending states

    2012-11-16 MickeM
      * CheckDriveSize now supports regular expressiion filtering:
        CheckDriveSize ShowAll MaxWarn=1M MaxCrit=2M CheckAll=volumes matching=.*[CD].*

    2012-11-15 MickeM
     * CheckFiles filter is now optional (not specifying a filter will find all files matching)
     * CheckFiles no longer matching . and ..

    2012-11-14 MickeM
     * Added perf-unit to allow for stable performance data units (if not specified it will guess which is the current solution).
        checkmem type=paged MaxWarn=80% perf-unit=M
         => 'paged bytes %'=34%;80;0 'paged bytes'=8454.04M;19629.84;0;0;24537.3
        checkmem type=paged MaxWarn=80% perf-unit=K
         => 'paged bytes %'=34%;80;0 'paged bytes'=8655200K;20100963.19;0;0;25126204
        checkmem type=paged MaxWarn=80% perf-unit=B
         => 'paged bytes %'=34%;80;0 'paged bytes'=8872108032B;20583386316;0;0;25729232896
        checkmem type=paged MaxWarn=80%
         => 'paged bytes %'=34%;80;0 'paged bytes'=8.25G;19.1;0;0;23.96
     * Fixed threadding issue related to servers (ie. check_nt causing a crash)
        Dont know what I was thinking when I designed that, pretty stupid bug :(

    2012-11-11 MickeM
     * Fixed issue with loading performance counters (check_cpu)
     * Fixed default service name (nscp)
     * CheckWMI: Added support for lists of integers

    2012-11-11 MickeM
     * Created json module information blocks (and generators)

    2012-10-25 MickeM
     * Merged in changes from 0.4.1
     * Fixed installer in preparation of 0.4.1

    2012-10-15 MickeM
     * Added support for lists in targets/destination (passive checks/channels)
     * Added new --remove-defaults option when generating settings files.
       nscp settings --remove-defaults --generate
     * Added new module SimpleFileWriter for writing passive check results to files.
     * Fixed issues here and there (mainly new filtering for CheckLogFile)

    2012-10-14 MickeM
     * Added support for real-time log file checks (Linux)

    2012-10-07 MickeM
     * Added support for real-time log file checks (Windows)

    2012-09-28 MickeM
     * Fixed NRPE and NSCA buffer issue: Invalid packet length: 1059 != 1036 configured payload is: 1024

    2012-09-27 MickeM
     * Much improved CheckLogFile with warn/crit/filter concepts (currentl no real-time support)
       check_logfile debug "file=c:\\test.txt" "column-split=\\t" "filter=column1 eq '123' OR column(2) like 'bar' or column3 like 'foo'" "warn=column3 like 'foo'" "crit=column1 eq '123'"
       Use "check_logfile help" for more details

    2012-09-25 MickeM
     * Initial version of CheckLogFile added (currentl no real-time support)

    2012-09-23 MickeM
     * Fixed a centos (?) linkage issue with PythonScript module

    2012-09-22 MickeM
     * Fixed performance data parsing for empty sections such as f=1;;;;1 will now work (and not become f=1;0;0;0;1)
     * Added unit test for perfoamnce data parsing
     * Added gtest unit test to ctest

    2012-09-11 MickeM
     * Added NSCP uptime to check_nscp

    2012-09-08 MickeM
     * Fixed log matching in CheckEventLog when no log was specified
     * Improved command line syntax for eventlog
     * Fixed return code issue in SimpleCache module

    2012-09-08 MickeM
     * Improved command line help texts and added global --version option.
       Running nscp without options now lists all context and their use.
     * settings: bool options are now case insensetive so TrUe will now evaluate to true...
     * Improved clients command line interface adding support for default command
     * Improved command line syntax removing som extra printouts
     * Added support for lists (int and string) to wmi checks and commands.

    2012-09-07 MickeM
     * Full SSL support for all server (NRPE, NSCA, check_mk, NSCP) by full I mean certificate based authentication

    2012-09-06 MickeM
     * Full SSL support for all clients (NRPE, NSCA, check_mk, NSCP) by full I mean certificate based authentication

    2012-09-05 MickeM
     * Full SSL support for NRPE (meaning certificate based authentication)
    2012-08-08 MickeM
     * Initial merge of 0.4.1 into 0.4.2

    2012-09-04 MickeM
     * Fixed config parser issue for inheriated fields
     * Changed so ports in clients/servers are strings (so smtp and such should work)

    2012-09-03 MickeM
     * New module SimpleCache which acts as a brdge between passive and active monitoring (and other use cases)
       Enables storing of results for later use
       Replaces check_eventlogcache (since it does the same)
     * REMOVED cache from check eventlog (use SimpleCache instead)

    2012-08-26 MickeM
     * Added google test and the first (of many) google test unit case
     * Added SimpleCache module
     * Removed caching from CheckEventLog (use SimpleCache instead)

     2012-08-26 MickeM
     * REMOVED global maximum age from real-time eventlog
     * Added per-filter maximum age option to real-time eventlog
     * Added per-filter log option to real-time eventlog (this can be set to "any" to make this match recoreds from all checked logs)
     * Improved fetchdeps script which now takes an option (--msver) to set target visual studio version (currently 2005 and 2008)
     * Added initial support for real certificates

    2012-08-30 MickeM
     * Fixed issue with NSCA and AES encryption (still broken, but broken the way it was before)
     * Fixed issue with aliases in upperaase not working (#554)
     * Fixed (yet more) performance data parsing issues.

    2012-08-25 MickeM
     * Added initial check_mk server CheckMKServer

    2012-08-25 MickeM
     * Added initial check_mk client CheckMKClient
     * Added sample check_mk lua script

    2012-08-23 MickeM
     * Added initial proof of concept for the check_mk client

    2012-08-21 MickeM
     * Refactoring and cleanup of the lua scripting wrappers

    2012-08-14 MickeM
     * New experimental way to build things automagically as well as new cleanedup build scripts.
       http://nsclient.org/nscp/wiki/build/04x#Automatic

    2012-08-07 MickeM
     * Fixed issue with perfoamnce data overflowing 32-bit integers (#550)
     * Fixed issue with CheckUptime and time rendering beein wrong (#549)

    2012-08-04 MickeM
     * Re implemented INSTANCES command via the new pdh exec subsystem.

    2012-08-04 MickeM
     * Fixed exception with "nscp service"
     * Improved nscp settings so help is displayed.
     * Improved nscp settings so default action (no arguments) also lists all installed services.
     * Improved nscp settings to default list service nscp as well as legcy nsclientpp
     * Added initial retry (default 3) when sending data.
     * Fixed protocol issue in NSClientServer (should now work again)

    2012-08-03 MickeM
     * Hopefully fixed the "cant load counter" issue by reowrking how counters are handled.

    2012-08-02 MickeM
     * major improvments to the CheckSystem command line syntax:
       Run: "nscp sys" to get help.
       A good way to validate your CheckSystem issues are running the following:
         nscp sys --validate

    2012-08-02 MickeM
     * Added so commandline parser will stop at .. and pass along all extra options to the module.
        So now you can do: (Notice the double --log where the first is a log arg and the second is a module arg)
          nscp lua --log debug .. --script foo.lua --log this-is-a-lua-argument
        But perhaps more importantly you can do:
          nscp lua .. --help
        Which previously would always give you "command line help" and not lua help.

    2012-08-01 MickeM
     * Resolved issue with crypto++ on linux (introduced by buildspeedups)
     * Added so running "nscp settings" will list all loaded settins context (as a tree).
       Quick way to see where your settings are stored.

    2012-07-31 MickeM
     * Fixed issue with files not copied by default build
     * Swapped graphite client to use UTC instead of local time

    2012-07-30 MickeM
     * Restructured settings a bit removing dead code
     * Added nscp settings --validate to validate a given settings file listing all invalid (unregistered) keys.
     * Added SamplePluginSimple which currently is not very rich but at least has some comments to explain some of the things.

    2012-07-29 MickeM
     * Tracked down a few memoryleaks when connections time-out.
     * Added testcases for connection timeouts in lua NRPE test suite
     * Improved the LUA module a bit

    2012-07-26 MickeM
     * Fixed some memoryelaks in LUAModule
     * Extracted the test functions into a library
     * Added lib folder as search path for lua scripts
     * Tweaks and improvments all around
     * Improved the build scripts a lot making files work on linux (still need to manually build the targets though)

    2012-07-23 MickeM
     * Added support for LUAScripts to linux enviornments (still a few warnings to sort out)
     * Improved lua unit test scripts
     * Added support for using member functions as handlers in Lua scripts

    2012-07-17 MickeM
     * Performance enhancements to build time

    2012-07-11 MickeM
     * LUAScript: Improved lua scripting module a lot
     * LUAScript: Added protocol buffer support to lua scripts
     * tests: Rewrote (halfway there) test_nrpe python script as a lua script.
     * CheckEventLog: Fixed command name when submitting real-time "no action checks"

    2012-07-03 MickeM
     * Improved settings API with new protocolbuffers commad (available from python)
     * Improved registration API with new protoclbuffers commad (available from python)
     * Created new python documentation module docs.py
     * Improved command line syntax so executable commands now take an optional module prefix

    2012-06-21 MickeM
     * Added plugin_id to settings API to allow generating documentation based on module names.
     * Added option --filter <module name> to filter generation based on module name.
       You can now do this to generate documentation for a given module.
       nscp settings --settings dummy --generate trac --filter ExternalScripts --load-all --add-defaults --log error

    2012-06-20 MickeM
     * Removed some legacy settings API code
     * Changed logging API to allow settings "modules"
     * Removed filename from console logger (making it easier to read)

    2012-06-18 MickeM
     * Fixed issue with parsing in test mode
     * Fixed Graphite client using wrong time for datestamp
     * Added so debug NSCA logs host name

    2012-06-16 MickeM
     * Initial (rather crude) NRDP support.

    2012-06-16 MickeM
     * Merged in master branch
     * Fixed almost all -Wall warnings (the rest are probably not getting fixed in the near future due to their nature)

    2012-06-12 MickeM
     * Improved error handling in performance counters #436
     * Improved parsing of "legacy command lines"

    2012-06-12 MickeM
     * Added log level = off to disable logging.
     * Added option in NSCAClient to hostname (auto-lc) to use lower case version of hostname. #533
     * Reworked how commands are read.
       If a command is defined without a section (default) no section will be added and instead a comment will be addded on how to add the section.
       This should (I hope) resolve the "missing command" for good.
     * Improved error messages for missing commands
     * Fixed scientific notation on performance data (#)

    2012-06-11 MickeM
     * Fixed some gcc compile issues
     * Fixed a lot of gcc -Wall warnings

    2012-06-08 MickeM
     * Fixed some issues with real time eventlog.
     * Extended the event log unit tests to encompass the new real-time checks.

    2012-06-01 MickeM
     * Tweaked all servers to use the new internals and added first testcase for NSCP socket

    2012-05-24 MickeM
     * Reworked real time event log support to be a lot more flexible
       You can now specify all options on a "filter" level.
     * WARNING*
       Old syntax NOT supported (and will not upgrade) but hopefully not to many will be affected.
     * Added support for ipv6 allowed hosts validation

    2012-05-21 MickeM
     * Sofia Born (My second daughter)

    2012-05-19 MickeM
     * Fixed issue with checking rate counters (such as disk idle %)
     * Fixed (I think) the negative denominator counter issue
     * Fixed so indexes are only converted on \\123\\ and not also \\123 hello world\\ which caused some issues with numeric counter variables.

    2012-05-13 MickeM
     * Take 2 on fixing the empty command parsing.
     * Refactored (same as with server) client internals to be more uniform (Again, next up are NSClient Server and NRDP)

    2012-05-07 MickeM
     * Fixed parsin of empty sections (CheckExternalScripts) - #524
     * Fixed so duplicate command are not created when both sections and shorthands are used (CheckExternalScripts)
     * Added a test to see if I can resolve the negative denominator issue.

    2012-05-06 MickeM
     * Refactored server internals to be more uniform (This is the first step to adding more protocols like NRDP and unittests for check_nt)

    2012-05-03 MickeM
     * Fixed issue with parsing size-type (usch as MinCritFree=10G)

    2012-05-01 MickeM
     * Release 0.4.0

    2012-04-26 MickeM
     * Fixed issue with check-cpu sampling interval being 10seconds and not 1/10 second.

    2012-04-23 MickeM
     * Fixed issue with missing performance data via NSCA
     * Fixed issue with hostnames beeing lowercase

    2012-04-28 MickeM
     * Changed how files are generated to reduce number of projcts

    2012-04-12 MickeM
     * Fixed so keys with parents are advanced (in favour of the parent)
     * Fixed so NSClientServer uses the correct default path for its parents (ie. /settings/default)

    2012-04-10 MickeM
     * Fixed crash in new logger
     * Fixed a few command line parsing issues (most notably test and --log-to-file)
     * Changed default location for process dumps to be a non-elevated location (under common-appdata).
     * Fixed (ish) check_nt issue (check_nt really really is broken... this will probably cause problems with people sending large payloads though)

    2012-04-06 MickeM
     * Easter break!

    2012-04-04 MickeM
     * Fixed issue with empty filters in active eventlog

    2012-04-04 MickeM
     * Resolved some issues with loggingin default set to debug.
     * Fixed so --debug actually works
     * Added --log-to-file and set "nscp test" to not log to file.
     * Fixed typo related to allow arguments option
     * Added levels to comment for log level in config.

    2012-04-01 MickeM
     * Fixed issue with default port for NSCA/NRPE/* clients

    2012-03-31 MickeM
     * Rewritten log implementation from ground up without using crappy boost library which requires DNS :(

    2012-03-27 MickeM
     * Removed some annoying "error" messages
     * Tweaked FileLogger a bit to be more "modern"
     * Changed so file-name expansion is more efficient
     * Changed so modules are defaulted to 0 in config.
     * Log levels are case sensitive
     * Fixed so log level is not read from ini file
     * improved plugin processing from ini files

    2012-03-26 MickeM
     * Fixed perfoamcen data parsing issue
     * Fixed external scripts performance data issue
     * Fixed boolen flag handling in settings (default generated as false regardless of actual state)
     * Fixed so "advanced properties" are not generated with --update-defalts
     * Added some "advanced properties" here and there
     * Fixed path handling for object

    2012-03-25 MickeM
     * Added last few features to the GraphitePlugin (which is now usable)
     * Tweaked nscp settings command line syntax a bit to be more flexible and usable...

    2012-03-20 MickeM
     * Fixed alias/service name for real-time event log filters
     * Added smtp/syslog and graphite clients to installer
     * Fixed so eventlog wont crahs on invalid messages

    2012-03-19 MickeM
     * Fixed issue in installer and "Make file writable" by everyone now uses Users SID.
     * Fixed issue in installer and "Default plugins" now correctly sets them to 1.

    2012-03-18 MickeM
     * Removed dependency on tcpip from the service and the installer
     * Added new command to EventLog CheckEventlogCached which checks result caught by the real-time process.
       CheckEventLogCACHE warn=gt:1 crit=gt:5
       Requires a configured real-time checker to work.
     * Added a series of keywords to EventLog check to facilitate better checking
     * Added a set of aliases to make EventLog behave more like Wdinwos Eventlog viewer.
     * Added a lot of unit test cases to the Eventlog checker.
     * Fixed issue with default schedule beeing added as an item and not a template

    2012-03-11 MickeM
     * Fixed a lot of issues with the installer
     * Added so the installer can generate a config file for you
     * Fixed so installer uses the correct path for password and allowed hosts

    2012-03-08 MickeM
     * Major improvments to the WMI command line syntax.
       You can now: list namespaces, list classes, list instances as well as run queries.
       Means you can use NSCLient++ as a almost full featured WMI command line client.
       For details use: nscp wmi --help
     * Added sample python WMI script to list all classes in all namespaces
     * Fixed so if python scripts does not expose init and shutdown they will not be called
     * Added new option --simple to CheckWMI wmi commands to return a simple list without formatting.

    2012-03-06 MickeM
     * Added "back" WMI Query command line exec like so:
        nscp wmi --exec wmi-query
    	CheckWMI Command line syntax:
    	Allowed options:
    	  -h [ --help ]                        Show help screen
    	  -w [ --wmi-query ] arg               Query to execute
    	  -l [ --limit ] arg                   Limit number of rows
    	  -n [ --namespace ] arg (=root\cimv2) Namespace
    	nscp wmi --exec wmi-query --query="Select * from Win32_Process" --limit 2

    2012-03-05 MickeM
     * Fixed so time/date comparissons are actually done in UTC (fixed for real this time!)
     * Added a series of testcases for CheckFiles (test_w32_file)

    2012-03-04 MickeM
     * Added new dot-net API (Which does not require any strange wrappers)
     * Added brand new sample C# plugin
     * Fixed issue with python unit script loading usig the wrong default options

    2012-02-21 MickeM
     * Added new module CauseCrash which has a single command CrashClient to allow the service to be crashed remotly
       *WARNING* Dont use this command, it is for debugging and testing purpouses only
     * Fixed issue with BreakPad which was disabled
     * Fixed some unix issues (sorry but hudson's stopped emailing me again:( )
     * Fixed service --install (now sets correct options)
     * Fixed service --install (now sets description correctly)
     * Fixed log level defined in protobuf (now same as rest of the system)
     * Fixed some issues with the check_nscp command

    2012-02-20 MickeM
     * Fixed NRPE buffer issue
     * Added test case for 65K NRPE buffer length as well as 1Mb
     * Added support for not regexp as operator to filters (Eventlog) (#463)
     * Added support for computer as filter keyword and format keyword in EventLog (#442)
       "filter=computer = 'foo'" syntax=%computer%
     * Improved messages rendering of eventlog messages a bit

    2012-02-19 MickeM
     * Added new unit context on command line for running simple unit test cases:
       nscp unit --language python --script test_nsca
     * Added dependency on Tcpip
     * Dropped OS bit-match requirement so now you can install any version on x64 plattform.
     * Added so you can specify multiple counters for CheckCounter and poll them all in one go (#387)
     * Added test cases (a bit flaky) for counters.
     * Added ${host} and ${domain} to hostname settings option which might be used to construct your own hostname. (#428)
       Not 100% sure about domain as on my box the "hostname" is only a name ie. has no domain...

    2012-02-18 MickeM
     * Fixed so too long log messages are trunacated instead of discarded
     * Added option to truncate logfile if to large (#358)
       [/settings/file logger]
       max size = 1000
     * Added keyword to reload (settings) to reload settings store (ie. flushing the cache) (#249).
     * Added ability to load all files in a given directory (#366)

    2012-02-17 MickeM
     * Tweaked a bit in regards to ExternalScripts so it works better and handles errors better (#367)
     * Fixed default report mode in 0.4.0 (#290)
     * Made NSCA Client handle timestamps like send_nsca (ie. ignoring local time)

    2012-02-16 MickeM
     * Replaced command reader with object handler
     * Added support for running commands as other users (#131)
     * Improved pseed oflarge buffers for external commands (ie. when you return very large outputs) (#481)
     * Added limit to test interface message length (when messages are to long only first 4k are displayed)

    2012-02-15 MickeM
     * Fixed missing icon on nscp.exe
     * Fixed missing version info on nscp.exe (#294)

    2012-02-13 MickeM - 0.4.0 RC2
     * Fixed installer issue (could not start service)

    2012-02-12 MickeM
     * Added support for specifying targets on schedules:
       [/settings/scheduler/schedules/foo]
       target = foo-host
       Will re-target the NSCA (or whatever you use) towards a given target.
     * Fixed is schedule manager uses new standard object reader
     * Fixed some issues with reading schedule

    2012-02-05 MickeM
     * Added test cases for targets to NRPE
     * Added test cases for targets to NSCA
     * Added test cases for lenghts to NSCA
     * Changed to python API sleep uses milliseconds (not seconds as before)
       Makes NSCA unittests go much faster (as I can wait much less)
     * Fixed a lot of bugs related to target handling.
     * implemented target refactoring on all Client modules.

    2012-02-05 MickeM
     * Refactored the targets concept internally to be simpler to use (less code)
     * Fixed issue with reloading plugins
     * Fixed target handling in NRPE Client, will add NSCA client tomorrow...

    2012-02-02 MickeM
     * Implemented full API for LuaScript
    	Now "everything" (ish) works including channels, exec and query (via moderna API)
    	Still no protocol buffer support but not sure how to play that yet so will not be available in 0.4.0.

    2012-02-01 MickeM
     * Implemented full settings API for LuaScript (next RC will have to wait till next weekend)

    2012-01-31 MickeM1
     * Fixed issue with parsing "invalid external commands".
       If parsing falies it will notify you but use the legacy split string method instead.
     * LuaScript module is now modern (ie. works with 0.4.0)
       Should be 99% compatbile (function needs to be defined before registration) but all old scripts should work now (I think)
     * LuaScript module has been modernized
       The new API is very similar to Python
       Concepts are working but not all commands have beenh implementes (and no testcases either)
       The old API will still work
     * Fixed issue with

    2012-01-27 MickeM
     * Changed CheckCounter format option to take a coma separated list of keyword from the below list:
    	 nocap100: Counter values above 100 (for example, counter values measuring the processor load on multiprocessor computers) will not be reset to 100. The default behavior is that counter values are capped at a value of 100.
    	 1000: Multiply the actual value by 1000.
    	 noscale: Do not apply the default scaling factor.
    	 So format=nocap100,noscale would combine the two aspects above.

    2012-01-26 MickeM
     * Fixed issue with parsing multiple performance data items (internally)
     * Added option to CheckCounter format=nocap100 to not cap counters at 100% (for multi cpu machines)

    2012-01-22 MickeM
     * Fixed help when specifying invalid options on command line
     * Eradicated a potential memoryleakin the NSCA encryption library

    2012-01-22 MickeM
     * Fixed so NSCAClient parses address correctly
     * setings exception is now derived from exception meaning it will show up more with details (instead of unknown)
     * Added API for handling log level (replaces older debug flag)
     * Added options for settings debug level
     * Changed to --settings is a global argument (meaning you canuse it in any mode)
     * Added arguments parsing to test: so you can use global arguments such as --log and --settings.
     * Removed memory leak in settings parsing interface

    2012-01-20 MickeM
     * Fixed a race condition in the python unit test script

    2012-01-19 MickeM
     * Fixed some NSCA encryption bugs (of the random nature)
       These are probably inherited in 0.3.x as well so if you have issues you might wannan try to upgrade

    2012-01-18 MickeM
     * Improved unit tests so they can be run all in sequence
     * Fixed various bugs in the unit tests
     * Improved the syntax and output of running unit tests
     * Refactored unit tests to be slightly nicer
     * Fixed error state propagation
     * Added unit tests to cmake (ie make test will now run unit tests)

    2012-01-16 MickeM
     * Added option to both execute and query item (with a reload in the middle for installing/running unittests)
     * Fixed issue in python unittest framework to handle "unload" (ie. reload)
     * Fixed NRPE certificate path lookup issue
     * Fixed some minor issues here and there
     * Fixed issue in loader to allow loading dummy as dummy (and not only dummy://)

    2012-01-15 MickeM
     * Fixed installer "back" issues
     * Fixed payload truncation for NRPe and NSCA
     * Improved the installer target tagging functions in the python installer

    2012-01-13 MickeM
     * Fixed some issues with the trac configuration generator

    2012-01-12 MickeM
     * Fixed issue with --submit command line option erroneusly reported missing optien (when it is not supported)
     * Added settings store "dummy" for people who dont want to store settings (long term use is for unit tests)
     * Added new option to NSCClient --source-host for settings the host name of the caller (your machine).
     * Change so enryption algorithms are case insensitevie (ie. 3DES and 3des both work)

    2012-01-09 MickeM
     * Fixed hostname issue in NSCAClient (hostname = auto now auto detects hostname
     * Fixed some minor issues in NSCA and CLI api
     * Added CLI based (exec) APIs to NSCA unit tests (now 697 test for NSCA)

    2012-01-08 MickeM
     * Fixed some issues in the NRPE decoder
     * Added support for forwarding queries (ie. xxx_forward) mainly usefull for python(?) scripts where we can now handconstruct messages for delivery
     * Added NRPE unit tests (52 of them)

    2011-12-08 MickeM
     * Fixed so non custom installers gets configuration UI (meaning you can configure it)
     * Added WarnCount/CritCount exact bounds to CheckProcState so:
       CheckProcState CritCount=gt:50 WarnCount=ne:45 svchost.exe=started
     * Added embryo for Graphite plugin (https://launchpad.net/graphite)
     * Added WarnHungCount/CritHungCount exact bounds to CheckProcState so:
       CheckProcState CritHungCount=gt:50 WarnHungCount=ne:45 svchost.exe
     * Changed so Count takes presedence meaning if you specify: CheckProcState CritCount=gt:50 svchost.exe=stopped it will be treated
       as (CheckProcState CritCount=gt:50 svchost.exe) hence the stopped/started is meaningless if you specify a count.
     * Fixed so perfoamnce data parsin handled non escaped \:es (ie. using stupiud parsing)
     * Added a lot of unittests to CheckProcState to verify that many features work properly.
        nscp python --script test_w32_system.py --install
        nscp client --query py_unittest
        ...
        OK: 121 test(s) successfull|

    2011-12-06 MickeM
     * Fixed so command line client wont try to run commands in modules which does not support it.
     * Changed to when no settings is found a default one is created
     * Removed old "location" key from switch context and changed so it use the new number scheme

    2011-12-06 MickeM
     * Added python unittests to make sure threading is working properly
     * Simpliefied and cleaned up the command line syntax a bit
     * Now --exec is the default option for client mode (but it will notify you it thought so)
     * Added "command-less" execution to PythonScript so you can do --exec --script ... (without having --exec run)
     * Fixed an issue related to python threading
     * Fixed Scheduler header propgation
     * Fixed so all Client module use "complex" API meaning headers are propagated correctly
     * Fixed scheduler alias issue

    2011-11-27 MickeM
     * Fixed some NSCA issues (reading from new conf)
     * Fixed some linux build issues (related to refactoring)

    2011-11-27 MickeM
     * Major refactoring in the command line interface
     * Added support for alias to many common module (command line)
       so: nscp eventlog (is the same as nscp client --module CheckEventLog)
     * Fixed issue with CheckEventLog message rendering and eventid
     * Refactored all Client modules to all support command line, commands and submissions.
     * Added uniform handling of "everything" to all Client plugins
     * Fixed SyslogClient to work "as advertised" (ie. all hardcoded stuff is removed)
     * Fixed utf8 issue with text strings (now have a working concept which needs to be implementd "all over the place")
     * Many issues and fixes related to clients.
     * Fixed so CheckEvent log (insert) works much better (added new options)

    2011-11-14 MickeM
     * Fixed issue with installer not saving nsc.ini when upgrading from 0.3.9

    2011-11-09 MickeM
     * Added initial SyslogClient module to allow syuslog forwarding (of passive checks ish)
       Still requires template support and configuration options (mainly PoC right now).
     * Added initial SMTPClient to allow sending messages via SMTP.
       Still requires template support and configuration options (mainly PoC right now).
     * Fixed unicode log issue (still not sure message format is correct)
     * Renamed Message to log in internal wrapper API
     * Fixed issue in settings old (regarding readin new keys, not 100% supported yet)

    2011-11-06 MickeM
     * Had some "vacation" so no updates for a while
     * A lot of fixes to the NSCA parts (now 100% compatible with old settings file)
     * Added option to read sections (to plugin API)
     * Fixed issues in settings wrapper so child paths are also mapped (not just keys)
     * Many fixes related to NRPE/NSCA/*
     * "RC quality" expect RC within the week (only need to fix default config file somehow)
     * Upgraded all unit test to use the simplified API
     * Fixed a some unicode issues in PythonScript module
     * Improved threading a bit
     * Fixed CheckSystem (service check)
     * Fixed duplicate keys (when replacing) in old settings client

    2011-10-21 MickeM
     * Some more threading issues in Python (works perfectly(?) now)
     * Refactored the tests a bit making test suites runable from a central hub
     * Fixed soo everything builds and works on Linux

    2011-10-19 MickeM
     * Fixed some threadding issues in PythonScript
     * Still working on refactoring the unittest helpers a bit

    2011-10-16 MickeM
     * Fixed issue with loading zero-byte UTF-8 config files
     * Fixed some issues with settings subsystem (debug log as well as createing instances for --generate)
     * Added ability to set event log to real-time
     * Added support for multiple eventlogs in real-time

    2011-10-09 MickeM
     * Real-time CheckEventLog working (still only for one, and I think application log)
     * Added python tests to validfate that Real-time eventlog is working.
     * Fixed som defects here and there (now builds on Linux again)
     * Fixed so it builds in "debug mode"
     * Fixed issue in grammar which caused infiniate loop in som cases
     * Fixed so error rendering in eventlog works with "infininate number of argumnets"
     * Added support for targeting execs (in API)
     * Fixed some invalid return messages
     * Streamlined submissions wrappers to be more inline with "other wrappers"
     * Fixed a myrriad of minor python script bugs
     * Added sleep command (which sometimes causes issues so use with care)

    2011-10-06 MickeM
     * Initial command for createing eventlog records
     * Initial real-time eventlog checker
     * Fixed obscure c-tor issue with filters

    2011-09-27 MickeM
     * Fixed many many issues all over the place as I tried to make things working for my pressention at nwc.

    2011-09-24 MickeM
     * Started on NSCA unit-tests in python
     * Refactored channel API a bit to better suite NSCA (and how it actually works)
     * Changed how headers are created (nothice this might have broken NSCP stuff, havent checked)
     * Created helper lib for Python Unittests

    2011-09-21 MickeM
     * Renamed NSCAAgent to NSCAClient (to be consistant)
     * Created a NSCAServer module (again for consistancy)
       This will be the defenition of the new "channels" so keep a lookout in the next few weeks

    2011-09-18 MickeM
     * Implemented first version of DistributedClient and DistributedSServer which work so now we have a proper message based transport.
       Still a lot of rough edges such as cookie and authentication support is hard coded.
       We also need a proper two way distributed server as well as implement "all" payload types.

    2011-09-11 MickeM
     * Massive overhaul here and there
     * Added new helper for handling "targets" (so they are the same)
     * Extracted "command line handling" so all clients will work the same
     * Extracted command processor to a common class to make all clients work the same
     * Added initial zeromq stuff (nothing usable)
     * Added an implementation layer for NSCP protocol parsing (so zeromq stuff can reuse it)

    2011-09-05 MickeM
     * Cleaned up some dependencies (on config.h)
     * Fixed invalid data in config.h.in

    2011-09-03 MickeM (0.4.0.93)
     * Created a protcol buffer free version of the python test script
     * Upgraded to new version of simpleinin class
     * Added new component for python protocol buffer library to installer
     * Added installer for unittests to test.py run like so:
       nscp --client --module PythonScript --command execute-and-load-python --script test.py
     * Fixed so settings are created if not existing
     * Fixed so plugins are not loaded in client mode
     * Fixed so core is booting correctly in client mode
     * Added new option --settings --switch <context> to allow switching context without migrating data
     * Fixed unicode error on linux (settings file)

    2011-09-02 MickeM
     * Fixed several issues in PythonScript
     * PythonScript supports loading multiple instances as well as scripts
     * Added some basic channel test to test.py script (the idea is that this will become "unit tests" eventually)

    2011-09-01 MickeM
     * Implemented registration of channels (so no longer faked)
     * Added settings key to change the NSCAAgent channel name
     * Addded proper channel handling to PythonScript module
     * Improved error handling in channels API
     * Rewrote wrapper API to use templates and classes instead of macros (ish)
     * Improved the internal plugin wrapping API to support multiple plugin load
     * Fixed so PythonScript module supports multiple plugin load (with new argument for plugin_id)
     * Added API for registrying routers and handling routing (almost there now)

    2011-09-01 MickeM
     * Fixed issue with messages due to new API

    2011-08-31 MickeM
     * Added support for loading same plugin twice (in different sessions)
     * Added preliminary support for routing passive checks

    2011-08-30 MickeM
     * Fixed uncaught exception in test client
     * Added protocol buffers to source (needs to be added to installer as well)
     * Added example python protocol buffer handler
     * Added lib folder to python scripting (and automagicall load)

    2011-08-29 MickeM
     * Fixed some *nix build issues...

    2011-08-25 MickeM
     * Fixed some issues in the NSCPClient
     * Fixed debug log issue in core
     * Added support for "pushing" passive checks via NSCP

    2011-08-24 MickeM
     * Sever refactoring of the new API (there is now two pb files ipc for NSCP protocol and plugin for plugin communication)
     * Cleaned up API helper functions
     * Fixed client argument for "client mode" to allow arbitrary arguments
     * Cleaned up the argument processor code now requires "mode" to be first argument

    2011-08-23 MickeM
     * Fixed issue in the NSCP server

    2011-08-22 MickeM
     * Added initial NSCP protocol implenmentation (very vrude and not really usefull yet)
     * Fixed so it builds on linux
     * Fixed so automagic plugin renaming add lib<LIB name> on *nix.
     * Fixed so it works on linux (fixed issues with timeout)

    2011-08-16 MickeM (0.4.0.85)
     * Added support for remote WMI checking using target/username/password options like so:
        CheckWMI target=192.168.0.123 user=\\foobar password=foobar namespace=root\\cimv2 MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor"
     * Added support for looking up targets to CheckWMI
       CheckWMI target=my_test_xp MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor"
       Where <target> is defined under /settings/targets as well as /settings/targets/my_test_xp

    2011-08-15 MickeM
     * Readded allowed hosts function
     * Moved default socket options to /settings/default/socket
     * Added more default socket options
     * Added support for target in default plugin helpers
     * Added remote WMI commands
     * Added target section under /settings/targets

    2011-08-14 MickeM
     * NRPEClient now works on linux
     * Added "portable" settings map file to installer (so it will work with old installed versions)
     * Rename Function to Registry in PythonScript API as well as some other function renames
     * Started to clean up the helpers around the API
     * Added support for execute to PythonScripts to execute commands
     * BUG: just realised that static plugin instances prevent multiple instances :)
       Will fix but not now as it is not important (for me)...
     * Added initial support for channels to PythonScript
       Core still lacks support for subscribing to arbitrary channels

    2011-08-13 MickeM
     * Added support for command line execution to PythonScript module
     * Readded support for specifying module on command line with --client mode
     * Fixed some issues with the NRPEClient module

    2011-08-12 MickeM
      * Finnished (rough) adding back command line exec (with modern API)
      * Fixed so installer uses correct name for dll:s (now Server not Listsener)

    2011-08-11 MickeM
      * Started to add back command line exec (with modern API)

    2011-08-10 MickeM
     * Fixed linus issues and defect
     * Fixed some issues in the test python script regarding how prefix is handled
     * Fixed PythonScript module to actually use the correct function map :)
     * Fixed so it builds and runs on linux (but parser had issues so disabled som grammar rules whichneeds to be enabled again)
     * Added a lot of freatures and cleand up the PythonScript module
     * Started to merge som features from PythonScript back to Lua script

    2011-08-07 MickeM
     * Fixed a lot of issues with PythonScript module adding suport for alias and "raw command processing"
     * Fixed issue with loading plugins and aliases as well as duplicate plugin detection

    2011-08-01 MickeM
     * Added new module: PythonScript

    2011-07-25 MickeM
     * merged in all 0.3.9 changes
     * refactored where filter to be "non template" to drastically reduce compile time (as well as potentially size if I ever go dll instead of static link)
     * streamlined checkeventlog toi be same as "the other" where filters as well as dropped support of "old" syntax.

    2010-02-05
     * Multiple fixes all over the place
     * Availible modules: CheckExternalScripts, CheckHelpers, FileLogger, NRPEClient, NRPEServer, Scheduler
     ! Performance data is still missing (will be for a while yet)

    2010-01-31 MickeM
     + Added google protocol buffers
     ! Changed internal handle command logic (now uses protocol buffers)
     - Removed (temporarily) performance data (due to protocol buffer changes)

    2010-01-19 MickeM
     + Rename NRPEListener to NRPEServer
     + Added NRPEServer to CMake build

    2010-01-xx MickeM
     + Added Scheduling module

    2009-10-11 MickeM
     + Added argument support to NRPE Client
       This is temporarily enabled by the same options under the NRPE section. BUT this will change int he future so be ware when using them.

    2009-09-20 MickeM
     * Fixed alias in CheckWMI (now works)
     + Added columnSyntax to CheckWMI to allow formating of returned data (default is %column%=%value%)
     + Added columnSeparator to CheckWMI to allow formating of returned data (default is ", ")

    2009-09-13 MickeM
     * Fixed some more issues with the installer should not "work" on Windows 2008 as well as slightly simpler to configure.

    2009-09-06 MickeM
     + Added new option to [NSCA Agent] string_length=<size> of the NSCA_MAX_PLUGINOUTPUT_LENGTH option on the NSCA server.
     * Readded all the "installer configuration" crap which I accidentaly removed when I fixed the installer... *sigh*

    2009-08-30 MickeM
     + Added -c and -d command line options like so:
       NSClient++ -c CheckFile2 path=c:\test pattern=*.txt MaxCrit=1 filter+written=gt:2h
       NSClient++ -c <command> <argument 1> <argument 2> ...
       -d Is the same thing but with debug enabled.
     + Added uninstall of old client (sort of broken but works)

    2009-08-29 MickeM
     * Fixed issue with CheckFile (directory)
     * Rewrote the CA:s in the installer to work "better" (hopefully) in general it should be have more like a propper installer.

    2009-07-18 MickeM
     * Fixed issue with no loggers available and "memory leak"
     * Added "firewall exception" to installer
     * Fixed an issue with the socket data buffer
     * Added new option to NSC.ini [NSCA] socket_timeout=30 (timeout in seconds when reading from NSCA sockets)
     * Fixed issue with NSCA socket.

    2009-07-05 MickeM
     * Fixed issue with CheckExternalScripts and script_dir: not adding the commands properly.
     * Fixed issue with CheckExternalScripts and script_dir: not using relative paths (#310).

    2009-06-20 MickeM
     * Fixed issue with CheckDisk and paths not working out properly

    2009-06-10 MickeM - 0.3.6
     ! Release the new version

    2009-06-10 MickeM
     * Fixed so CheckEventLog only reports invalid buffersizes once

    2009-06-07 MickeM
     * Fixed issue with CheckFileAge incorrectly working in recursive mode.
     * Finalized the installer

    2009-05-22 MickeM
     * Fixed time_delay option in NSCA config (now uses the correct base was 1000 times to large before)

    2009-05-21 MickeM
     * Fixed issue with eventlog parsing and 64 bit machines (descriptions option)
     * Fixed issue with "modern windows" and installing the service (should not have the correct privlaiges)

    2009-05-17 MickeM
     * Changed default buffer size for process enumeration (64K now instead of 1K should I hope work better on 64bit OS:es)

    2009-05-10 MickeM
     + Added write support for modules to installer

    2009-05-03 MickeM
     * Fixed another quite serious memory leak!
       And this was a hard one, took me hours and hours and hours (read weeks) to track down, but here we are!
     * A lot of other fixes as I have been through much of the code looking for the memmory leak above.

    2009-03-30 MickeM
     + Added new option to NSCA module for specifying report options.
    	report=all (report=warning,critical) etc etc to specify which kind of return datat to get default value is all.
     + Added so password and host ate stored in the installer (if changed)

    2009-03-29 MickeM
     * Fixed a lot of issues with the installer and added a start on exit (and donate) on the finnish dialog.

    2009-03-15 MickeM
     * New service name (displayname)
     * New service description

    2009-03-14 MickeM
     * Rebuilt installer UI (still missing write config function)
     * Added debug entry to log filename used by debug log metrics.
     * Fixed so alias will not require the allow_nasty_metachars option set under external sripts module.

    2009-03-02 MickeM
     * Added catch handlers and error logging to NSCA Thread
     * Fixed issue with CheckProcState and administrator login!
     + Added debug module to installer
     + Added option max-dir-depth to CheckFile and CheckFile2 like so:
       CheckFile "file=c:\test\*.txt" filter-size=<24g "syntax=%filename%: %size%" MaxCrit=1 max-dir-depth=0
       Will only find files on the "first level" where as max-dir-depth=1 would find all parents and children etc. (-1 is the default and means find all)
     * Fixed issue with finding sub-folders and *.txt now it will always look for subfolders if they are present

    2009-02-26 MickeM
     * Fixed issue with debug logging (not it can be disabled again)

    2009-02-23 MickeM
     * Fixed build issues so NSCA now has all cryuptos available (verify with nsclient++ /about)

    2009-02-11 MickeM
     * Fixed so that performance data is always(?) renderd regardless of if we have bounds or not.
       This was primarily to fix issues where we have might not "unexpectedly" get performance data (might still be some issues here so let me know).

    2009-02-06 MickeM
     * Fixed so that arguments ($ARG1$) are parsed properly for alias in CheckExternalScript

    2009-02-05 MickeM
     * Fixed so the error message for "to small eventlog buffer" specifies the required size.
     * Changed so that event log buffer problems are "ignored in the result" (still logged in the error log).

    2009-02-03 MickeM
     * Added support for changing the time when using NSCA with the time_delay in NSC.ini
       time_delay=+4h or time_delay=-1h etc should can now be used when system time not the same as NSCA time.

    2009-01-30 MickeM
     * Added support for changing name and description of service from the /install command line
       NSClient++ /install [gui] [start] [service name] [description]
       NSClient++ /uninstall [gui] [stop] [service name]
       NSClient++ /start [gui] [service name]
       NSClient++ /stop [gui] [service name]

    2009-01-28 MickeM
     * Slightly improved error handling around socket creation
     * Fixed some pretty minor issues with the SysTray module (uncreation as well as new boost build).

    2009-01-25 MickeM
     * Fixed issue with checkVersion (#242)
     * Fixed spelling error (#244)
     * Fixed crash in CheckFile when a file was locked in exclusive mode (#254)
     + Improved error handling in all CheckDIsk/CheckFile checks. Should report errors better now.
     * Updated the config file a bit: remving "beta" from a bunch of modules no longer in beta.  (#270)
     + Added more filter operatos to all numeric filters so they accept eq:, ne:, gt:, lt: in addition to =, >, <, <>, !, !=, in: (#269)

    2009-01-23 MickeM
     + Added better support for numerical hit matching in the eventlog module. You can now use exact and detailed matching.
        You can now use the following syntax:
        CheckEventLog ... warn=ne:1 crit=eq:0 ...
        To generate a warning if the number of hits are != 1 and a critical if the number of hits are = 0.
        Other operators available are: =, >, <, <>, !, !=, eq:, ne:, gt:, lt:

    2009-01-23 MickeM
     * Cleaned up the checkProcState code and it is not a lot better.
       - Removed race conditions (crashes?) as well as improved perfoamnce and better error handling.
     + Added new option 16bit to checkProcState. When set checkProcState will enumerate all 16 bit processes found running under NTVDM.
     * Fixed NRPE version reported "incorrectly". (Version is now takedn from NSClient++)

    2009-01-21 MickeM
     + Added experimental 16 bit process support to checkProcState

    2009-01-20 MickeM
     * Fixed issue with CheckWMI when no filter was specified.

    2009-01-17 MickeM
     + Added new command line option pdhlookup (to CheckSystem) to lookup index from names.
       Probably not usefull to anyone but me :) Usage: "nsclient++ -noboot CheckSystem pdhlookup Antal bindningsreferenser"
     * Fixed so PDH Collectors use the same exception as the rest of the PDH stuff (might give better errors when PDH breaks, but I doubt it)
     * removed debug output from -noboot
     + Added new command line pdhmatch option to use pattern matching on PDH queries
       Usage: nsclient++ -noboot CheckSystem pdhmatch \Process(*)\Antal trådar
     * Improved error reporting in the PDH subsystem.
     + Added new module A_DebugLogMetrics.dll which can be used to generate debug info.
       Enable the module and a file called process_info.csv will be created under %APP_DATA%/nsclient++/process_info.csv which contains metrics.
     * Fixed handle leak in CheckExternalProcess and NRPEListsner (executing commands).

    2009-01-13 MickeM
     * Fixed issue with 64-bit installer (now installs under Program Files (and not x86)
     + Brand new build enviornment based upon boost build!!!
       Use batch file to build (release-build.bat or modify to make your own)
     * Modified /about so it now shows a lot of usefull(?) info.

    2008-11-13 MickeM
     + Added truncate option to checkServiceState

    2008-09-24 MickeM
     * Imroved the installer (now auto-updates the version when built)

    2008-09-24 MickeM - 0.3.5
     * Fixed issue with CheckServiceState and CheckAll (it now works)
     + Added new check: CheckFile2 which has the same syntax as the event log filtering.
        Usage: CheckFile2 file=c:\test\*.txt filter=in filter+creation=<24h "syntax=%filename% was created %creation%" MinWarn=0 MinCrit=0

    2008-09-18 MickeM - 0.3.4
     * Changed so "missing services" are treated as stopped.
        CheckServiceState missing=stopped ShowAll
    	OK: missing: not found
     * Fixed issue with : in service name.
     + Added some "reasonable default cheks" under [External Alias] for the CheckExternalScripts.dll module.

    2008-09-17 MickeM - 0.3.4 RC-6
     * Added option [EventLog] lookup_names=0 to disable the evetlog name lookup (default is on)

    2008-09-17 MickeM
     * Fixed issue on all filters so == takes the "usual" 2 equalsigns (old still works).
     * Added so tray icon can get "propper" name from core for "description".
     * Added lookup of "long" eventlog names (you can now use the alias used in the event viewer)

    2008-09-16 MickeM - 0.3.4 RC-5
     * Fixed an issue with the session launcher

    2008-09-15 MickeM
     * Fixed so NSCLient++ can load with "broken plugins" (before it printed an error and exited)
     + Added a very basic simple .net plugin (and a wrapper)

    2008-09-14 MickeM - 0.3.4 RC-4
     * Fixed an issue with the session launcher
     * Fixed an issue with the uninstaller (should not "fail" when problems uninstalling)

    2008-09-14 MickeM - 0.3.4 RC-4
     * Fixed issue with OS detection (again)
     * Fixed issue with plugin unloading (again)
     * Fixed issue with SSL socket not unloading properly
     * Fixed issue with "login" and "no session" (should work now I hope) (#222)
     * Changed so all projects build under "tmp" instead of under respecitve directory. (simpler to remove all "tmp" files now)

    2008-09-12 MickeM
     * Thanks to everyone who listened in on my session at NETWAYS Nagios Konferenz 2008!

    2008-09-09 MickeM - 0.3.4 RC-3
     * Improved error handling for the WMI checks.
     + CheckWMI: Added support for extracting numbers from strings
     * Fixed performance data for "large float values" to be rendered without scientific notation. (#151)
     * Fixed issue with & and some commands via check_nt.
     * Fixed a crash on exit (which I added in Rc1).
     * Added 10 "bytes" the CPU buffer: (#174)
     + Added new option to [EventLog] section buffer_size to change the size of the buffer used when scanning the evenlotg (defaults to 64k).
     * Fixed error handling in CHeckEventLog so errors are repoorted properly (#184)

    2008-09-08 MickeM - 0.3.4 RC-2
     * Fixed issue in windows 2008 with system tray (shared_session).
     * Fixed installer issue (should run (i hope) service installer on install now on 64 bit os)
     * Fixed issue with unloading plugins and log (causing "timeouts" when exiting some times)

    2008-09-07 MickeM
     + Added sample powershell script as well as a workaround for making them run.
     * Fixed an issue making powershell scripts (and possibly others) not timeout properly.
     + Added upgrade support to the installer (still need to add support for keeping .ini file so be ware)

    2008-09-06 MickeM
     * Improved error reporting in the eventlogchecker
     * *BREAKING CHANGE* filter=new is now the default so unless you use the new filtering you need to specify filter=old instead!
       I Recomend everyone to stop using the "old" filtering.

    2008-09-04 MickeM
     * Fixed issues with new service stuff on NT4 and W2K (should work fine now)
     + Added some DebugOutput to service handling features so if you experience tropubel try using sysinternals DebugView too se logging before the agent startes.
     * Fixed a memory leak in the error formating code

    2008-08-24 MickeM
     * Changed NSCA "general problem" error message to be more descriptive.
     * Fixed issue with CheckCPU not returning a valid performance unit (%) see issue #219 for details.

    2008-08-16 MickeM
     * *WARNING* THIS IS VERY VERY UNSTABEL (possibly)
     * *WARNING* A lot of new untested code here so dont run in production enviornments :)
     + Added shared session so system tray can communicate with master
     + Added new system tray handlig (via TS so FUS should work with it)
     + Added new option [System] / shared_session=0 (or 1) to enable / disable the new shared memory framework (it is for now disabled by default)
       If you want to try this remember to change that option but also beware! it is dagerous and not finnished and and also there is as of now no security at all.

    2008-08-09 MickeM
     + Added ChangeWindowMessageFilter so systray should maybe work on vista and beyond!

    2008-07-28 MickeM
     * Improved the error handling for the check proc state.
     * Removed all (I think) asserts replacing them with exceptions (should I hope reduce crashes and instead leave some form of errors)

    2008-07-25 MickeM
     + Built a garage at the summer house
     * cut down all the reeds and shrubbs at the summer house.

    2008-07-03 MickeM
     * Fixed (again) issue with performance data and CheckDriveSize (when using "Min" bounds)
     + Added some more error messages for when counters are not found.
     * Fixed an issue with the new namespace option

    2008-07-02 MickeM
     ! 0.3.3 Released (take 2)
     + Added new option alias to controll the name for performance counters when using checkfile use like so:
        checkfile alias=foo file=C:\boot.ini filter-written=>1000d syntax=gurka MaxCrit=1
     * Fixed issue with performance data and CheckDriveSize (when using "Min" bounds)
     ! 0.3.3 Released (take 1)
     * Fixed some issues (?) with the installer the w32 and x64 are now different components (GUIDs).

    2008-07-02 MickeM
     + Fixed some issues (?) with the installer the w32 and x64 are now different components (GUIDs).

    2008-07-01 MickeM
     + Added new option (namespace) to CheckWMI and CheckWMIValue use like so:
       CheckWMI namespace=root\\cimv2 MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor"

    2008-06-30 MickeM
     * Fixed issue with CheckFile and performance data ( #156 )
     + Added option (InvalidStatus) to CheckCounter to allow other then UNKNOWN return state when counters are missing ( #167 ).
       *NOTICE* this is all reasons (so if the counter is missing or some such the same will happen not just when the instance is missing)
       Message will reflect reason.
     * Fixed issue in the arraybuffer (one of the plit functions had a problem with multiple chars of the same) ( #190 )

    2008-06-25 MickeM
     * Fixed issue with CheckDriveSize and CheckAllOthers (#188)

    2008-06-24 MickeM
     + Added new check (to CheckHelpers): CheckOK: Just return OK (anything passed along will be used as a message).
     + Added new check (to CheckHelpers): CheckWARNING: Just return WARN (anything passed along will be used as a message).
     + Added new check (to CheckHelpers): CheckCRITICAL: Just return CRIT (anything passed along will be used as a message).
     + Added new check (to CheckHelpers): CheckVersion: Just return the nagios version (along with OK status).
     * Better error messages in the check service thingy.

    2008-06-18 MickeM
     * Fixed an issue in regards to reading the return packet in the in the NRPEClient (now it works).
       Before only the first 1024 bytes were used.

    2008-06-15 MickeM
     * Applied patches from Jeff Goldschrafe <goldschr AT cshl.edu>
       + CheckDriveSize now uses "all drives" when no drive is specified.
       * Fixed misspellt Container

    2008-06-14 MickeM
     * Fixed error message from external commands (better reporting now)

    2008-05-14 MickeM
     * Fixed memoryleak in the service checker.
         I am really sorry I usualy write better code then this.
     + Added some "reasonable default cheks" under [External Alias] for the CheckExternalScripts.dll module.

    2008-09-17 MickeM - 0.3.4 RC-6
     * Added option [EventLog] lookup_names=0 to disable the evetlog name lookup (default is on)

    2008-09-17 MickeM
     * Fixed issue on all filters so == takes the "usual" 2 equalsigns (old still works).
     * Added so tray icon can get "propper" name from core for "description".
     * Added lookup of "long" eventlog names (you can now use the alias used in the event viewer)

    2008-09-16 MickeM - 0.3.4 RC-5
     * Fixed an issue with the session launcher

    2008-09-15 MickeM
     * Fixed so NSCLient++ can load with "broken plugins" (before it printed an error and exited)
     + Added a very basic simple .net plugin (and a wrapper)

    2008-09-14 MickeM - 0.3.4 RC-4
     * Fixed an issue with the session launcher
     * Fixed an issue with the uninstaller (should not "fail" when problems uninstalling)

    2008-09-14 MickeM - 0.3.4 RC-4
     * Fixed issue with OS detection (again)
     * Fixed issue with plugin unloading (again)
     * Fixed issue with SSL socket not unloading properly
     * Fixed issue with "login" and "no session" (should work now I hope) (#222)
     * Changed so all projects build under "tmp" instead of under respecitve directory. (simpler to remove all "tmp" files now)

    2008-09-12 MickeM
     * Thanks to everyone who listened in on my session at NETWAYS Nagios Konferenz 2008!

    2008-09-09 MickeM - 0.3.4 RC-3
     * Improved error handling for the WMI checks.
     + CheckWMI: Added support for extracting numbers from strings
     * Fixed performance data for "large float values" to be rendered without scientific notation. (#151)
     * Fixed issue with & and some commands via check_nt.
     * Fixed a crash on exit (which I added in Rc1).
     * Added 10 "bytes" the CPU buffer: (#174)
     + Added new option to [EventLog] section buffer_size to change the size of the buffer used when scanning the evenlotg (defaults to 64k).
     * Fixed error handling in CHeckEventLog so errors are repoorted properly (#184)

    2008-09-08 MickeM - 0.3.4 RC-2
     * Fixed issue in windows 2008 with system tray (shared_session).
     * Fixed installer issue (should run (i hope) service installer on install now on 64 bit os)
     * Fixed issue with unloading plugins and log (causing "timeouts" when exiting some times)

    2008-09-07 MickeM
     + Added sample powershell script as well as a workaround for making them run.
     * Fixed an issue making powershell scripts (and possibly others) not timeout properly.
     + Added upgrade support to the installer (still need to add support for keeping .ini file so be ware)

    2008-09-06 MickeM
     * Improved error reporting in the eventlogchecker
     * *BREAKING CHANGE* filter=new is now the default so unless you use the new filtering you need to specify filter=old instead!
       I Recomend everyone to stop using the "old" filtering.

    2008-09-04 MickeM
     * Fixed issues with new service stuff on NT4 and W2K (should work fine now)
     + Added some DebugOutput to service handling features so if you experience tropubel try using sysinternals DebugView too se logging before the agent startes.
     * Fixed a memory leak in the error formating code

    2008-08-24 MickeM
     * Changed NSCA "general problem" error message to be more descriptive.
     * Fixed issue with CheckCPU not returning a valid performance unit (%) see issue #219 for details.

    2008-08-16 MickeM
     * *WARNING* THIS IS VERY VERY UNSTABEL (possibly)
     * *WARNING* A lot of new untested code here so dont run in production enviornments :)
     + Added shared session so system tray can communicate with master
     + Added new system tray handlig (via TS so FUS should work with it)
     + Added new option [System] / shared_session=0 (or 1) to enable / disable the new shared memory framework (it is for now disabled by default)
       If you want to try this remember to change that option but also beware! it is dagerous and not finnished and and also there is as of now no security at all.

    2008-08-09 MickeM
     + Added ChangeWindowMessageFilter so systray should maybe work on vista and beyond!

    2008-07-28 MickeM
     * Improved the error handling for the check proc state.
     * Removed all (I think) asserts replacing them with exceptions (should I hope reduce crashes and instead leave some form of errors)

    2008-07-25 MickeM
     + Built a garage at the summer house
     * cut down all the reeds and shrubbs at the summer house.

    2008-07-03 MickeM
     * Fixed (again) issue with performance data and CheckDriveSize (when using "Min" bounds)
     + Added some more error messages for when counters are not found.
     * Fixed an issue with the new namespace option

    2008-07-02 MickeM
     ! 0.3.3 Released (take 2)
     + Added new option alias to controll the name for performance counters when using checkfile use like so:
        checkfile alias=foo file=C:\boot.ini filter-written=>1000d syntax=gurka MaxCrit=1
     * Fixed issue with performance data and CheckDriveSize (when using "Min" bounds)
     ! 0.3.3 Released (take 1)
     * Fixed some issues (?) with the installer the w32 and x64 are now different components (GUIDs).

    2008-07-02 MickeM
     + Fixed some issues (?) with the installer the w32 and x64 are now different components (GUIDs).

    2008-07-01 MickeM
     + Added new option (namespace) to CheckWMI and CheckWMIValue use like so:
       CheckWMI namespace=root\\cimv2 MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor"

    2008-06-30 MickeM
     * Fixed issue with CheckFile and performance data ( #156 )
     + Added option (InvalidStatus) to CheckCounter to allow other then UNKNOWN return state when counters are missing ( #167 ).
       *NOTICE* this is all reasons (so if the counter is missing or some such the same will happen not just when the instance is missing)
       Message will reflect reason.
     * Fixed issue in the arraybuffer (one of the plit functions had a problem with multiple chars of the same) ( #190 )

    2008-06-25 MickeM
     * Fixed issue with CheckDriveSize and CheckAllOthers (#188)

    2008-06-24 MickeM
     + Added new check (to CheckHelpers): CheckOK: Just return OK (anything passed along will be used as a message).
     + Added new check (to CheckHelpers): CheckWARNING: Just return WARN (anything passed along will be used as a message).
     + Added new check (to CheckHelpers): CheckCRITICAL: Just return CRIT (anything passed along will be used as a message).
     + Added new check (to CheckHelpers): CheckVersion: Just return the nagios version (along with OK status).
     * Better error messages in the check service thingy.

    2008-06-18 MickeM
     * Fixed an issue in regards to reading the return packet in the in the NRPEClient (now it works).
       Before only the first 1024 bytes were used.

    2008-06-15 MickeM
     * Applied patches from Jeff Goldschrafe <goldschr AT cshl.edu>
       + CheckDriveSize now uses "all drives" when no drive is specified.
       * Fixed misspellt Container

    2008-06-14 MickeM
     * Fixed error message from external commands (better reporting now)

    2008-05-14 MickeM
     * Fixed memoryleak in the service checker.
         I am really sorry I usualy write better code then this.

    2008-05-?? MickeM
     * BREAKING CHANGE! -- THe API function NSCLoadPlugin has been changed to take an integer to define the load-status

    2008-06-?? MickeM
     * BREAKING CHANGE! -- New settings API as well as new WEBConfiguration UI (nothing is finnished yet but I wanted to check things into the SVN since it is a lot of changes now :)

    2008-05-14 MickeM
     * Fixed memoryleak in the service checker.
         I am really sorry I usualy write better code then this.

    2008-05-11 MickeM
     * BREAKING CHANGE! -- Changed PDH options to a more uniform design:
         auto_detect_pdh and dont_use_pdh_index has been removed and instead there is a new method option that takes various values.

    2008-04-03 MickeM
     * Moved COM init to "core" (from WMI module)
     + Added new Check command: CheckTaskSched Use like so:
         CheckTaskSched +filter-exit-code==1 ShowAll MaxWarn=1 MaxCrit=1

    2008-03-21 MickeM
     + Added command line support for process checks
       New option: cmdLine will toggle so full command lines are used instead of just process names.
     + Added regular expression matching to process checks
       New option: match=regexp (match=strings is the default and "old" way)
     + Added substring matching to process checks
       New option: match=substr (match=strings is the default and "old" way)
       This is *NOT* case blind so might be hard to use, plan to add case blindness to it in the future.
     : Sample command: check_nt ... -v PROCSTATE -l cmdLine,match=regexp,.*exp.* -d SHOWALL
     * Ohh yeah... it is 2008 this year... not 2007, fixed a few entries in the change log :)
     - BREAKING CHANGE! -- Removed TOOLHELPER API as PSAPI is simpler and toolhelp is really only useful on w9x (which I don't officially support)

    2008-03-20 MickeM
     + Added host-lookupos for NSCA server (#149)
     + Added option (cache_hostname=1|0) to cache the NSCA host name (Ie. only lookup once)
     * Fixed service check: check_nt -v SERVICESTATE -l CheckAll so it works as advertised (#150)
     * Fixed issue with check_nt MEMUSE/CPULOAD/UPTIME if something is "broken" they will now return an error instead of "0". (#134)
       Added option debug_skip_data_collection to simulate this (just for kicks)

    2008-03-18 MickeM
     * Added some more error messages to the NSCA module
     * Added support for arguments to LUA module.
       syntax: function debug (command, args) -- args is a table with all arguments

    2008-03-11 MickeM
     ! 0.3.1 Released

    2008-03-08 MickeM
     * Changed so log is now in Unicode format
       Hopefully this will make it simpler to diagnose PDH issues in "strange locales".
       If anyone hates this let me know and I will add an option to use "old ansi log".
     * Fixed so the console is logged as ANSI (properly) and all Unicode's are discarded.
       This means "strangeness" in Unicode and non-us-ascii chars on the console,
        so for details refer to the log-file which is proper Unicode.
     + Since log module is loaded "after" the client has booted I added a "hello" message that prints the current version
        (if you find this annoying let me know, I will make it optional :)
     * Fixed some issues in the registry handling

    2008-03-06 MickeM
     * Fixed silly ordering bug with the <> syntax.

    2008-03-05 MickeM
     + Added debug to new section [Eventlog], when enabled it will (log) what lines matched what, this is a pretty big performance overhead so don't run with this one.
     + Added syntax to new section [Eventlog] used as a shorthand for the syntax to use as "default" (when no syntax=... option is given)
     * Fixed an issue with eventlog and . matching.
     + Added shorthand ! for != in "all" numeric filters (eventlog)
     + Added <> (same as ! and !=) as NRPE breaks the use of ! (in "all" numeric filters (eventlog))
       Try using: filter-eventType=<>warning to remove everything that is not a warning
     * Fixed two spelling mistakes in the SysTray module.
     * Fixed 64-bit issues with installer
     * Fixed so installer uninstalls/installs the service

    2008-02-26 MickeM
     + Added installer

    2008-02-22 MickeM
     * Fixed issues in the NRPE module (now returns the correct status)
     + Added a lot of "error log" for when the packet size in NRPEListener is not correct
        (might make it simpler to diagnose problems)

    2008-02-20 MickeM
     + Added new module NRPEClient that can act as a NRPE client, might be useful for testing things and
       eventually for relaying events.
       Usage: nsclient++ -noboot NRPEClient -H 192.168.0.1 -p 5666 -c check_something -a foo bar
       This is an early concept so don't expect much...
     * Fixed a bug in NSCA module (now it works again :)
     + Added a command wrapper for the NRPECLient module so now it can act as a check command.
       (No argument handling yet though), For a sample check out the [NRPE Client Handlers] section in NSC.ini

    2008-02-19 MickeM
     + Fixed a buffer overflow in the NRPE socket handling.

    2008-02-18 MickeM
     + Added proper output handling to process subsystem (now you can execute programs that return "much" data.
     + Added select support for SSL_write (now you can send "any amount of data" to the (SSL) socket.
       Since check_nrpe doesn't do this it wont work in that end, but still...

    2008-02-16 MickeM
     + Re factored ExternalCommand handling so NRPE and new module does the same thing.

    2008-02-14 MickeM
     + Added so commands starting in host_ (NSCA Handlers) are sent as host-commands
     * Fixed a copy constructor in NSCA Commands (now service checks are sent as service checks)

    2008-02-13 MickeM
     + Added string_length to [Settings] as well (used internally) for all "injected" buffers.
     * Fixed issue with scripts result truncated after 1024 chars
        (now they return "all" output and thus you can use the NRPE settings I added yesterday :)
     + Added hostname setting to [NSCA] section (must have been  when I did not add it before)
     + Added to NSCA truncates output when to long.

    2008-02-12 MickeM
     + Added new option for the [NRPE] section string_length which is the length of the NRPE strings
       (notice you need to recompile the check_nrpe to match this value)
     * Improved exception handling in the PDH collector (hopefully less deadlocks)

    2008-02-11 MickeM
     + Added encryption support for NSCA module (about half of the algorithms are available,
         if someone wants to use one not available let me know, and I will try to add it)

    2008-02-09 MickeM
     + New module CheckExternalScripts to handle 1, external script (similar to the old NRPE but in its own module)
       - Can Check batch/vbs/programs/*
       - Works with NSCA module (if you don't want to have NRPE at the same time)
       - Simpler syntax (discarded old and added new section for alias)
       - Started to add "sample alias" to ease initial setup and give some nice ideas (please provide me with feedback on them)

    2008-02-08 MickeM
     + Added some more default catch handlers (on the "core" side of plugin-calls).

    2008-02-07 MickeM
     + Added default catch handlers to all wrapped plug in calls.

    2008-02-05 MickeM
     * Fixed issue with checkEventLog (sometimes you got the wrong message back)

    2008-02-04 MickeM
     *** Happy Birthday bogi!! :)
     * Fixed issues with performance counter rendering (mainly checkDisk)

    2008-02-03 MickeM
     + Added encryption subsystem to NSCA module (still no mcrypt support, but at least you have "xor" and passwords)
     + Added API for scripts to register commands
     + Added command descriptions (for some modules)
     * Fixed issue in NRPE that displayed a console window when running commands
     * New improved "inject" dialog from the system tray
       Lists available commands, and shows command descriptions and a lot of other improvements.
     + Added an internal log windows that displays log in real-time.
     + Fixed some issues with the dialog procs (should work smoother now, especially Termination)

    2008-02-02 MickeM
     * Might have fixed the "missing eventlog messages" problem.
     + Added %count% parameter to syntax which (when used with unique) will display the number of hits for each message displayed.

    2008-01-27 MickeM
     * Fixed a memory-leak in format_time
     * Fixed so time/date is displayed in "local time" (not UTC) for the eventlog check
     + Added %message% to eventlog check. Will display the "proper formated eventlog message" as in the eventlog viewer.
       For this to work you need to have the descriptions flag set
       In short: /nrpe -H 192.168.0.147 -c checkEventLog -a truncate=1024 "syntax=%generated%: %message%" descriptions=true file=System MaxWarn=1 MaxCrit=1 filter+eventType==error filter+generated=\<12h filter=new filter=all filter=in
     + Added option "unique" to CheckEventLog If this is present only unique errors will be returned.
       The uniqueness is defined by event-log, event-source, event-id and event-category.

    2007-12-16 MickeM
     + A lot of new features in the LUA module only "arguments" missing (as well as exposing more of the API)
     * Changed some exceptions that were thrown wrong

    2007-12-11 MickeM
     + Added support for index-lookups of PDH counters (hopefully *all* locale problems are now fixed (yeah right))

    2007-12-10 MickeM
     + Added initial draft for LUA module

    2007-12-09 MickeM
     + Added a check if the service is started when running with /test so you get a warning
     + Improved the socket thread with:
        * a default-catch
        * If the socket fails to start we still wait for it to shut down (no error message)
     + Added first version of the NSCA agent (NSCAgent.dll)
       (no encryption support as of yet, but will come)

    2007-12-04 MickeM
     ! 0.3.0 Released

    2007-12-01 MickeM
     * Fixed issue with date formating in FILEAGE

    2007-11-29 MickeM
     * Fixed issue with date formating in FILEAGE

    2007-11-28 MickeM
     ! 0.3.0 RC-1
     * Fixed some UNICODE issues with process-listings
     + Added an error message if the "detected" process enumeration method is not available.
     + Fixed some more Unicode issues Password encrypt/decrypt: #107
     * Fixed Unicode issues with "external programs" #109
     * Fixed so default string for check_nt:s FILEAGE command is "delta" is 5 minutes ago (and not absolute ie. 1970...), Issue #39
     + added support for  <date strings> to check_nt:s FILEAGE command, Issue #39
        append: .<date string> if you want to use a "custom date" like so: ... -v FILEAGE -l c:\\windows,Date: %Y-%m-%d %H:%M:%S" -w 5 -c 6 ...
        Only the above listed %<char> works, and default to 0 so might not be to pretty but works...

    2007-11-26 MickeM
     + Fixed a socket issue (erroneously reported "Could not read NSClient packet from socket :(")
     * More 2k5 build tweaks

    2007-11-23 MickeM
     * Converted to Unicode (damn sometimes I **HATE** C++)
     + Added support for escaping " on the /test syntax so now you can do: CheckWMI MaxCrit=3 "MinWarn=1" "Query:load=Select * from win32_Processor"

    2007-11-22 MickeM
     * Fixed so the "default path" is correct even when running as a service (issue: #96)

    2007-11-21 MickeM
     * Fixed process counter so checkProcState  now return the *correct* number (previously it was correct-1)
     * Fixed some missing exceptions that were not caught
     + Added "AliasCol" option to CheckWMIValue to allow a column to be used as "alias" for a result set:
         CheckWMIValue -a "Query=select Caption, ThreadCount from Win32_Process" MaxWarn=50 MaxCrit=100 Check:threads=ThreadCount AliasCol=Caption
        will give you: "System threads: 98 > warning, svchost.exe threads: 87 > warning"
     - Removed  from SVN (as it is old and outdated and no longer used)

    2007-11-20 MickeM
     + Added new option to CheckSystem to override detected language (force_language=0x0014)

    2007-11-19 MickeM
     * Fixed a minor issue in reading registry keys
     + Added -noboot option to startup used for running command line utilities without booting the client
       "nsclient++ -noboot RemoteConfigruation ini2reg" for instance
     + Added fall back to try <module> and <module>.dll if the module was not loaded (when running command lines)
     * Migrated 2008 project files to new name and back ported to 2005 project files.

    2007-11-16 MickeM
     * Fixed an NRPE issue I added when I improved the sockets_timeout (now SSL works as well :).
     + Added sample VBS script and definitions

    2007-11-15 MickeM
     * Improved error message when external NRPE command failles.

    2007-11-14 MickeM
     + Added multi-line output support ( issue #91 )
     * Improved error handling for external commands
     * Fixed an issue with NRPE/NSClient socket-reading (introduced by the socket_timeout)
     + Added an English fall back if "local" language PDH counters fail.

    2007-11-12 MickeM
     + Added option to configure socket_timeouts (default is now 30 seconds) should (I hope) fix issue #85

    2007-11-11 MickeM
     + Added option to configure the behavior of CheckService CheckAll (#64)

    2007-11-08 MickeM
     + Added CheckWMIValue to check result-values from a WMI Query
     * Changed so performance values are "collapsed" i.e. 75362115584 = 70.0G (#89)
        If anyone don't want this let me know and I will make an option for it.

    2007-11-06 MickeM
     + Added CLI interface to CheckWMI to check queries

    2007-11-04 MickeM
     * Rewritten WMI handling as well as checks so things should be more useful now (cf. the wiki page for details)

    2007-10-29 MickeM
     * Restructured build and include to work from CLI
     + Started to add makefiles to build from CLI
     + Added Finnish counters (#98)
     * Fixed performance counter issue with check_nt (#99)

    2007-10-06 MickeM
     + Added auto-upda-te of versions and dates on build to make versions better updated.
     + Fixed x64 build and cleanup a bit.

    2007-09-15 MickeM
     + Added better error messages (now return codes are displayed as text). Not implemented all over yet but the infrastructure is there.

    2007-09-11 MickeM
     + Added Dutch performance counters to counters.defs
     + Added Spanish performance counters to counters.defs
     + Added #69 [includes] directive to INI-file to include other files
     * Fixed #75 (spelling issue)

    2007-06-23 MickeM
     * Might have fixed #53 I was not able to get the problem locally but I have fixed the problem ias at op5 discovered at least...
     * Fixed the "check memory" issues for real this time.
     * Fixed problem with : in counter names #50 (anything starts with \ is considered a counter so if you use aliases with \ this will break things for you.

    2007-06-20 MickeM
     * Fixed #24 crash in NSClient++.exe CheckSystem listpdh | debugpdh
     * Fixed #62 Problems with CheckServiceState and services with spaces.

    2007-03-06 MickeM
     ! 0.2.7 released

    2007-03-05 MickeM
     * Fixed -v FILEAGE check_nt (NSClient) check.
     * Added license agreement header to all files

    2007-03-04 MickeM
     + Added script_dir option to NRPE section as well as some sample scripts in the scripts/
       subdirectory. The script_dir will use all files in this directory as scripts for NRPE
     + Added Japanese counters to counters.defs from patch (thanx!!!)

    2007-02-25 MickeM
     + Added possibility to check many memory checks in one go, just stack type options.
         type=paged type=physical etc...
     * Fixed a performance check bug in the last nightly.
     * Fixed a potential crash when a malformed check-file-age command was issued.
     + Added support for more then and NSClient command
     + Added net mask support to allowed_hosts (try with 192.168.0.1/24 and such)

    2007-02-22 MickeM
     + Added debug output to see if the socket is bound and/or has shutdown.
     * Fixed a potential bug in the thread manager.
     + Added configuration option for suppressing performance data to the NRPE section.
       Set performance_data=0 to stop sending performance data to nagios
     + New (better?) (simpler?) event log checking
     + Added option to most commands (ignore-perf-data) to suppress performance data
     + Added option CheckAll for checking all auto-start services to checkServiceState.
       Also an exclude=<service> to exclude checking that.
     * Fixed return syntax for PROCSTATE nsclient

    2007-02-21 MickeM
     * Fixed "broken password check" (again) in NSClient listener (this time it is correct! :)

    2006-12-02 MickeM
     + Managed to build so it works on NT 4.0 (SP6a) and W2K3
     * Fixed "broken password check" in NSClient listener

    2006-11-18 MickeM
     + Added support for empty NRPE checking (i.e.. chec_nrpe without a -c argument)
     * Added error message when detected language is missing from counters.defs
     + Added Swedish locale to counters.defs (yes, I switched to Swedish XP on my computer :)
     * Fixed : (and possibly other problems) in counters when checking from check_nt (via NSCLient protocol)
     + Added CheckAllExcept to CheckDrive to check all except the specified drives.
     * Fixed a display error in the various size functions (1000-1024 byte was displayed incorrectly)

    2006-10-05 MickeM
     * Yayyy!!! (first fix in a looong while :)
     * Fixed a W2k3 "bug" (actually just an incorrect error) but the:
       "e .\PDHCollector.cpp(130) Failed to query performance counters..." is no more...
     + Added option to NRPE/NSClient section to not-cache host names (for dyndns etc.)
       NOTICE this is "not safe" really in so far as someone might hi-jack your DNS and quickly gain
       access to your nagios box (probably only a theoretical problem but hey! :)
       NOTICE this is "slow" since all hosts in the list are "looked up" each time you get a NRPE/NSClient
       request it will be "slow" but I think it is not that much of a problem really.
       NOTICE I don't have the possibility to test this so feel free to report if it works and if it doesn't.
       Set cache_allowed_hosts=0 to disable host cache

    2006-04-04 MickeM
     * Fixed a few more bugs to the INI/REG readers

    2006-04-02 MickeM
     * Could all magicians stop trying to kill me?
       *Please* i don't like to die!

    2006-03-31 MickeM
     * Damn necromancers! stop 0wning my ass all the time!

    2006-03-29 MickeM
     + Added API for saving/reading settings

    2006-03-28 MickeM
     + Added REG/INI parsers
     * *NOTICE* You need to add an option (use_file=1) to your nsc.ini file or new builds wont work.

    2006-03-25 MickeM
     * Oblivion f*cking roxx!

    2006-03-02 MickeM
     * Fixed bug in INI-file reader (memory leak)

    2006-03-01 MickeM
     * Fixed bug in CheckFile (now dates work correctly)

    2006-02-26 MickeM
     + Added syntax option to CheckFile (%filename%, %creation%, %access%, %write%, %size%).

    2006-02-25 MickeM
     * Fixed Sections problem (now sections can be any size)
     + Added bind_to_address option to both NRPE and NSClient section in the INI file.
       Allows you to bind the listener to a specific IP address (only dotted number not host name).
       This might break things as I had to do some internal rewrite of the Socket classes so be careful :)
     * Disabled default-debug logging (as things are fairly stable, you can still enable it by using debug=1 in the NSC:ini file)
     * "Fixed" socket backlog to use "max responsible value" as opposed to "10" if no value is specified.
     + Added option socket_back_log to both NRPE and NSClient section that allows you to tweak the "back-log" of incoming connections to keep.
       This is an advanced setting and should not be used. If you get "connection refused" when running many client this might be something you want to tweak though.
       And if you then start getting "Socket timeout" you might wanna tweak the timeout value as well because larger value here means it takes "longer" to process a socket.
     - I have looked into the event log problem and dates seem to work here so if anyone still have problems (use the syntax option to debug) let me know.
     * Moved listpdh and debugpdh into the CheckSystem module
     * Removed PDH dependencies from "core exe" means you can run NSClient++ without PDH (though you cant use the CheckSystem module)

    2006-02-2? MickeM
     + Added new Interface for Modules (NSCommandLineExec that allows modules to execute things give from command line.
       Syntax is NSClient++ <module name> <command> [arguments] and if a module doesn't support this it is simply ignored.
     + Added new install/uninstall command to SystemTray module:
       NSClient++.exe SystemTray install
       NSClient++.exe SystemTray uninstall
       That will install/uninstall the system tray module this sets the "Allow Service to Interact with Desktop" flag for the service.
     * Removed the "Allow Service to Interact with Desktop" flag from the /install option so that it no longer defaults to on (see commands to set this above).
     * Fixed so checkProcess isn't case sensitive.
     * Added (not finished) syntax option to event log checker to format the outputted data

    2006-02-12 MickeM
     + Added support for host name resolve to allowed_hosts

    2006-02-08 MickeM
     ! Fixed filter-eventID in EventLog module (now works for all IDs regardless of severity state)
     + Added new filters to EventLog (filter-severity that can filter based on event severity success, error, warning, informational)

    2006-02-07 MickeM
     + Added new filter option to eventlog filter-eventID
     + Added new operator to all numeric filters in:number,number,... etc. (for instance filter-eventID=in:123,456,789 to check for lists.

    2006-02-05 MickeM
     + Added CheckFile check command
       This new command (in development) will allow various file checks such as age, size, date, etc on single or multiple files.
     + Added FILEAGE support to NSClient
     + Started to convert the web page to WIKI

    2006-01-21 MickeM
     + Added WMI Check module (early alpha)
       This is an extremely early alpha more to see if there is an interest and how to progress with it.
       To use the WMI module enable the WMICheck.dll (nsc.ini) and then run the following check:
       CheckWMI MaxWarn=10 MaxCrit=15 "Query:load=Select LoadPercentage from win32_Processor"
       The Max* are as every other check and sets limits.
       The Query works similarly to other check commands i.e.. Query:<name>=<WMI query>
       So any other WMI query should work (notice this is experimental and not stable and has virtually
       no error handling so it is likely to crash nsclient if you ask anything "non working".)
       I would *really* *really* like to get feedback on how to expand this concept to work better so feel free to come with feedback.
      * Fixed NT4 /install (should work now!)

    2006-01-02 MickeM
     * Fixed ChangeServiceConfig2 on NT4
     + Added support for more then 4GB memory (8GB?)
       Since I don't have this much memory this needs to be verified...
     * Fixed syntax of performance data

    2005-09-24 MickeM
     * Fixed memory size bug (free and used were swapped)

    2005-09-20 MickeM
     + Added option to debug all PDH counters /debugpdh

    2005-09-17 MickeM
     + Added support for checking service by display name

    2005-09-03 MickeM
     * First off, sorry for lack of updates, but was on vacation :)
     + Added ShowAll=long to CPULoad
     + Added several new types to checkMem (type=paged, type=physical, type=page, type=virtual)

    2005-07-31 MickeM
     + /install now sets the service to autostart
     * Did some cleanup of minor code sections
     * (done before but not reported i think) /listpdh option added to list all PDH counters (nsclient++ /listpdh)
     + Added service description
     * Event log reworked (again) this time I hope it is better (and even useful, but syntax has changed)

    2005-07-26 MickeM
     + Added support for ShowAll=long (to show long and short info, only applies to some areas, but available everywhere)
     + Extended Drive and memory check syntax to facilitate both Free and Used space checks: MaxWarnFree / MaxWarnUsed etc)

    2005-07-19 MickeM
     * Changed thread API to use _creatthreadex as opposed to _creatthread (works better now!)
     * Fixed UNKNOWN return code (was 4 should have been 3)

    2005-07-16 MickeM
     * Fixed drive checks from NSClient

    2005-07-11 MickeM
     * *ALOT* of bug fixes and enhancements all checking code has been centralized and rewritten also my internal check scripts
       have been extended to check a lot more things.
       *NOTICE* that EventLog has not been upgraded yet neither has the documentation.
     + Added MaxWarnCount / MinWarnCount to checkProcState to check number of processes running

    2005-06-09 MickeM
     * Escapes " in NRPE commands in the NSC.ini

    2005-06-05 MickeM
     * Created configuration interface (not released yet)

    2005-06-03 MickeM
     * Created interactive installer (not released yet)

    2005-06-02 MickeM
     * CheckEventLog reworked...

    2005-06-01 MickeM
     * CheckSystem auto detects windows version and language.

    2005-05-29 MickeM
     * Fixed PROCSTATE and SERVICESTATE return state.
     + Added support for individual size in CheckDriveSize and CheckFileSize (size has to be specified before a drive/path)
     * Fixed performance data for drives (and possibly other places)

    2005-05-23 MickeM
     + Added obfuscated password support
     + Added some more debug info on commands (return code, and input args)
     + Added some more comments to the NSC.ini
     + Added central password "override"
     + Added central "host override"
     + Fixed bug with external commands always getting WARNING state

    2005-05-22 MickeM
     + Added debug output for command
     + Added timestamps for log-to-file (date_mask to configure format)
     + Added support for "no password" with check_nt
     + Added log of bad password on NSClient requests.
     * Some threading issues fixed (I hate threading :)

    2005-05-19 MickeM
     * Verified NT4 compatibility

    2005-05-18 MickeM
     * Fixed bug in NSC.ini (section title for Check System was wrong)
     + Added multitasking for plug-ins (now two plug-ins can handle requests simultaneously)
     * Fixed some minor issues here and there

    2005-05-15 MickeM
     + Added NRPE support for checkCounter
     + Updated documentation
     * Make check commands ignore case
     + Added CheckHelpers module to alter the result of various check and similar things

    2005-05-14 MickeM
     + Added support for Volumes (CheckDisk)
     + Added support for checking all drives of a certain kind
     + Added support for altering filter (makes it possible to check removable drives)
     + Created web page and better documentation

    2005-04-20 MickeM
     + Added multitasking to socket listener (it can now handle multiple connections)
     * Fixed bug in NSClientListener now "seqv" in check_nt shouldn't happen.
     + Added COUNTER support to NSClient and CheckSystem

    2005-04-19 MickeM
     + Added SSL support
     + Added a lot of new options
     + Added documentation
     * Renamed and restructured NSCLientCompat to CheckSystem
     * *ALOT* of fixes all over
     : We are now starting to get to something that is "stable"
     : This means that soon you might actually be able to use this.

    2005-03-28 MickeM
     * Changed the Thread class a bit (mutex -> signal, and CreatThread does not return the instance)
     * Moved settings "keys" fro NRPE to config.h
     * Changed build options (added Distribution) which builds a zip file under ./dist (requires 7z installed)
     * Minor tweaks to error/debug logging and small fixes "here and there"

    2005-03-26 MickeM
     + NRPE Support (very basic, no encryption, and nothing fancy)
     * Socket classes rewritten
     + Added NSCModuleHelper::getSettingsSection to the API

    2005-03-22 MickeM
     * Fixed NSClientListener return codes for basic commands
     * Extracted arrayBuffer code into new files under /include
     * Minor tweaks in the API (fixed minor issues)
     + Added some basic "tests" to a few commands (getToken, and arrayBuffer related)

    2005-03-21 MickeM
     * Fixed BUG in inject command (now things should "work" again, but far from stable)
     + Added NRPE return code
     * Fixed some return states to NSClientListener (not verified yet, but soon they will be back in order :)

    2005-03-20 MickeM
     * Fundamental API changes (due to NRPE compatibility)
       - HandleCommand has changed
       - Inject has changed
       - Most API calls have new "return codes" (typedef:ed INT to allow for return code compiler checks)
       - A lot of the old return codes have changed
     + Preliminary NRPE support (can parse and execute incoming requests, cant return data yet, and no encryption)
     + New SimpleSocket in include/ will be used as base class for Listeners
     * A lot of rewrite to the NSC API

    2005-03-19 MickeM
     * Re factored out NSCLient Listener as a separate module
     + Added initial NRPE listener module (not yet implemented only a shell)
     * Changed Module API (Inject function has new syntax)
     + Added some tokenizer function to charEx
     + Added new wrapper function to inject Command
     * Minor changes in relation to refactor work

    2005-03-01 MickeM
     * Improved thread safety in Core
     + Added exception handling and logging in PDH code
     * Various fixes all over the place
     + New module for check size of files/directories
     * Changed build to Dynamic link
     * Added regular expression support for EventLog checker

    2005-02-22 MickeM
     + Added documentation

    2005-02-17 MickeM
     * NSClient issues fixed
     * System Tray issues fixed

    2005-02-14 MickeM
     * Initial SourceForge release

comments powered by Disqus