Release 1.4.3

New Features
------------

+ Added a new ``bin/check_syntax`` tool to determine if an ACL passes a
  syntax check.
+ Acceptance tests can now be run standalone from within a clone of the
  Trigger repo.
+ :feature:`142` ``bin/gong`` now enables on login if the enable
  password is provided by way of :setting:`TRIGGER_ENABLEPW`.

Enhancements
------------

+ Improvements to user-experience within ``bin/acl``

  - Help text greatly improved and expanded to be more helpful

    * ``-l`` and ``-m`` args now print a message when load queue is
      empty
    * Clarified help text for ``-a`` and ``-r`` args

  - It now requires users to explicitly ask for associations
    instead of it being default.
  - The wording on the status output has been improved for clarity
    and conciseness.

+ ``bin/load_acl`` will now validate ``.tacacsrc`` before work begins

Bug Fixes
---------

+ Bugfix in `~trigger.tacacs.Tacacsrc` in which saving a password
  longer than a certain lengthw could cause the encrypted password hash
  to contain newlines and therefore become unreadable.
+ :bug:`163` Bugfix to copy startup commands from a device when creating
  a channel base, otherwise they will get consumed directly from the
  device, and connections after the first will not send any startup
  commands.
+ :bug:`157` Bugfix in which
  `~trigger.twister.TriggerTelnetClientFactory` was missing the
  ``device`` attribute.
+ Fix a bug causing a crash when using ``gnng --dotty``
+ Bugfix in `~trigger.twister.pty_connect()` to check for telnet
  fallback before attempting to telnet over pty that would cause a race
  condition resulting in a crash if neither telnet or SSH are available.
+ Catch invalid hostnames before they bleed through in stderr output
  when using `~trigger.utils.network.ping`
+ Bugfix to catch exceptions for bad netdevices data in ``bin/netdev``.
+ Fix bugs in auto-enable and remote execution on certain devices

  - The correct delimiter is now mapped out by vendor/platform and
    attached to the NetDevice object at runtime.
  - Fixed a bug when executing commands remotely on NetScreen
    devices running ScreenOS that was causing them to be treated
    as Juniper routers/switches if the NetDevice attributes
    vendor=juniper and deviceType=netscreen.

+ :bug:`151` Gong now uses chosen dev. from multiple when updating
  ``.tacacsrc``.
+ :bug:`90` Bugfix causing
  `~trigger.netdevices.loaders.filesystem.CSVLoader` for netdevices to
  always succeed.