First public release: Trigger 1.0.40
updated README.rst to be more descriptive
Added newly supported platforms to docs intro
+ Added Nick Sinopoli to contributors
+ Typo/cleanup fixes in setup.py
Release 1.0.0.50

- New NetDevices device metadata source file support for JSON, XML, or SQLite3
- Companion changes made to conf/trigger_settings.py
- trigger.netdevice.NetDevice objects can now be created on their own and have
  the minimum set of attributes defaulted to None upon instantiation
1.0.0.60
========

- New nd2json.py nad nd2sqlite.py tools for use in converting existing
  netdevices.xml implementations
- Added sample netdevices.json in conf/netdevices.json
- Added SQLite database schema for netdevices in conf/netdevices.sql
Release 1.0.0.70

- Minor bugfix in trigger.netdevices._parse_xml()
Release 1.0.0.80

- Typo fix in sample conf/trigger_settings.py
- Explicit imports from trigger.acl and a little docstring cleanup in bin/optimizer
- trigger.acl.autoacl.autoacl() now takes optional explicit_acls as 2nd
  argument, a set of ACL names, so that we can reference explicit_acls within
  autoacl() implicit ACL logic, but we don't have to rely on the internals.
- trigger.acl.db.AclsDB.get_acl_set() modified to populate explicit_acls before
  implicit_acls. autoacl() is now called with these explicit_acls as the 2nd
  argument.
- Sample autoacl.py in conf/autoacl.py updated to support explicit_acls and a
  simple example of how it could be used.
- ACL objects now have a family attribute to support this when constructed or
  parsed using the .output_junos() method.
Release 1.0.0.90

- Updated license to BSD Clear License.
- Added support for .gorc file to specify commands to run when using gong to
  login to a device. Unique commands cand be specified for each vendor.
- Default realm for credentials within .tacacsrc can now be specified within
  settings.DEFAULT_REALM
- The following changes have been made to trigger.tacacsrc:

  - New module-level update_credentials() function added to facilitate updating of
    cached user credentials by client applications (e.g. gong)
  - Renamed the exceptions within trigger.tacacsrc to be more human-readable
  - Tacacsrc._parse_old() completely redesigned with real error-handling for
    bad/missing passwords (GPG-parsing coming "Soon")
  - New Tacacsrc.update_creds() method used to facilitate update of stored
    credentials within .tacacsrc
  - Realm is now stored as an attribute on Credentials objects to simplify
    loose-coupling of device/realm information while passing around
    credentials.
  - prompt_credentials() refactored to be more user-friendly.
  - Blank passwords can no longer be stored within .tacacsrc.

- The following changes have been made to trigger.twister:

  - trigger.twister internals have been updated to support the passing of a
    list of initial_commands to execute on a device upon logging in.
  - TriggerClientFactory now reads the default realm from
    settings.DEFAULT_REALM when populating credentials.
  - TriggerClientFactory credentials detection improved
  - All referencing of username/password from credentials by index replaced
    with attributes.
  - Failed logins via telnet/ssh will now raise a LoginFailure exception that
    can be handled by client applications (such as gong)

- bin/gong now detects login failures and prompts users to update their cached
  password.
Minor verbage tweak
- A bunch of last-minute documentation changes
- Changed prefix from /usr/local/trigger to /etc/trigger
- trigger_settings.py moved to /etc/trigger/settings.py
- Added development docs page
- Fixed some typos in docs index
- Clarified long description in setup.py
- Typos and format fixing to docs
- Updated README.rst until issue 1 is fixed
Release 1.0.0.100

- trigger.conf converted from a module to a package.
- All global default settings are now baked into trigger.conf.settings
- trigger.conf.settings and trigger.acl.autoacl may now be imported without the
  proper expected config files in place on disk. If the config files cannot be
  found, default versions of these objects will be returned.
- All trigger modules can now be imported with default values (but don't try
  instantiating any objects without following the install instructions!)
- Added pyasn1 to requirements (Twisted Conch needs it, but doesn't force it on
  install)
- More documentation enhancement and clarification
CLI-tool documentation updates

- Expanded documentation for several CLI tools: acl, aclconv, go/gong, netdev
Trigger is licensed under the Clear BSD License.