Changes in 0.4.6 (Sep 16 2012)

New Features:
    - CLI Improvements
    - manpage for pynag CLI updated
    - New module Utils created
    - Experimental new get_status() for ObjectDefinition
    - Reworked GitEventHandler
    - new function, Control.daemon.status()
    - Experimental Perfdata analysis support

Bugfixes:
    - Various bugfixes for get_effective_*groups()
    - Various bugfixes in Parsers.config._edit_static_file()
    - needs_reload() now compares timestamps with object_cache_file instead of lockfile
    - Removed unneeded error handling from Control.daemon class
    - Model filter, bugfix in __isnot= parameter

Changes in 0.4.5 (Aug 21 2012)

Bugfixes:
    - popen2 import moved to send_nsca() to hide deprecationwarning
    - pynag.Model no longer depends on defaultdict to work (for python 2.4)
    - Removed dependency on defaultdict (does not exist on python 2.4)
    - When permission problems occur for reading status.dat, exception is
      now thrown in parse() rather than init()
    - Version number is now correct
    - debian subdir moved to debian.upstream for packaging



Changes in 0.4.4 (Aug 20 2012)

New Features:
    - Host.copy(recursive=True) now recursively copies services
    - README moved to markdown format (palli@opensource.is)
    - Parsers.status class reworked. Now support get_servicestatus()
    - filter() now supports __exists suffix for as a search condition
    - Major rework og object relations and object cache (palli@opensource.is)
Bugfixes:
    - get_all_macros returns empty hash map on non-existant check_command
    - New get_effective_* functions i.e. Host.get_effective_contacts()
    - ObjectDefinition.get_id() changed from md5sum to built-in __hash__()
    - Fixes to get_effective_command_line() where macro within another macro was
      not properly solved. (palli@opensource.is)
    - GitEventHandler changed to use subprocess module instead of GitPython

    - Support for nagios's ambigious Timeperiod format.
    - check_thresholds() added (Issue 22) (palli@opensource.is)
    - check_range() conditions now inverted (Fixes issue 22)
    - /usr/local/nagios/etc/ added to paths where nagios.cfg might be found (Thanks
      Abhinav Upadhyay)
    - pycharm code inspection cleanup (palli@opensource.is)

Changes in 0.4.3 (Jul 13 2012)

Bugfixes:
    - Model: Objectdefinition.delete() cascade parameter renamed to recursive.
    Recursive implemented for host.

    - Various fixes where nagios.cfg is not located in /etc/nagios/
    
    - Improvements to build process 

    - Parsers: Exception handling loosened to not catch kill signals

    - Model: calling filter() with __has_field now works on items seperated by ", "      

Changes in 0.4.2

New features:
    - new command-line tool pynag introduced (deprecated pynag-maincfg, etc).
    pynag utility offers an easy way to create/update/delete configuration
    objects from the command line. (palli@opensource.is)

    - Model: ObjectDefinition.attributes are now defined according to
    documentation, no longer dynamically created in order to ensure consistency
    (palli@opensource.is)

    - Model: run_check_command() available for hosts and services
    (palli@opensource.is)

    - Parsers: Working with comma seperated attribute values now easier
    via new AttributeList class (palli@opensource.is)

    - Model: copy() feature added to ObjectDefinitions.
    (palli@opensource.is)

Bugs fixed:
    - Model, ObjectDefinition.copy() now returns a copy of the newly created object

    - Parsers, Appending cfg_dir to nagios maincfg and pathnames dont match
    exactly what is in config before (for example double slashes would cause a
    duplicate)

    - Parsers: Cache is no longer reloaded as often (improves performance)
    (palli@opensource.is)

    - Parsers: Properly raise ParserError if unexpected '}' is encountered
    while Parsing (palli@opensource.is)

    - Parsers: ParserError class now has cleaner more detailed output
    (palli@opensource.is)

    - Model: get_all_macros() now returns custom macros (palli@opensource.is)

    - Fixed key errors where data is not present (tommi@tommi.org)

    - Parsers: improvements to reload_cache() to fix memory leak in save()

    - Code cleanup ala Eclipse python analyser. Unused variables etc removed.

Changes in 0.4.1

    Plugins
    Fix to check_range which now support multiple status lines
    Modifications for python-2.3 support

    Scripts
    Added pynag-maincfg which allows for editing nagios.cfg
    Added pynag-addservice for easy addition of services

    Model
    Ability to set filename for new objects
    save() now works on when changing 'use'
    Modifications for python-2.3 support

    Parsers
    typo fixed in edit_service 
    Memory leak fix
    Added servicedependency and hostdependency support

    EventHandlers
    Added GitEventHandler which automaticly commits to git



Changes in 0.4.0

Features added:
        - Model, New module that turns configuration into python objects
        - Parsers, major refactoring


Changes in 0.3.1

Bugs Fixed:
        - Plugin, Fixed joinallstr, wasn't being added between severity levels.

Features added:
        - Plugin, Add must_threshold variable for programs that do not need classic -w or -c
        - Plugin, allow add_arg to be specified multiple times if multiple=True specified
        - Plugin, removed space character between severity and colon, "OK:" instead of "OK :"




Changes in 0.3

Bugs Fixed:


Features added:
        - Plugin add_messages() and check_messages()
        - new build system for easier RPM creation


Misc Changes:


New Contributors:

    Tomas Ewdardsson, Pall Sigurdsson
