Skip to content

Releases: tigusigalpa/watchdog

v1.0.6

Choose a tag to compare

@tigusigalpa tigusigalpa released this 15 Aug 13:31

Release notes — v1.0.6

Built-in SMTP email notifications

Watchdog can now send configurable email notifications directly through an SMTP server.

What’s new

  • Send one failure notification when a service first becomes unavailable.
  • Suppress duplicate emails while the same incident continues.
  • Send a recovery notification after remediation succeeds and the service becomes healthy again.
  • Configure SMTP connection settings, recipients, TLS options, timeouts, subjects, and message bodies through YAML.
  • Load SMTP passwords securely from an environment variable using password_env.
  • Customize messages with template variables such as:
    • {{service}}
    • {{event}}
    • {{timestamp}}
    • {{check_type}}
    • {{detail}}
    • {{http_status}}
    • {{check_exit}}
    • {{action_status}}
  • Added strict validation for SMTP and email configuration.
  • Added a complete SMTP configuration example.
  • Added automated coverage for failure notifications, duplicate suppression, and recovery notifications.
  • Updated CI, documentation, dependency checks, and the built-in version information.

For production installations, storing the SMTP password in an environment variable is recommended instead of placing it directly in YAML.

v1.0.5

Choose a tag to compare

@tigusigalpa tigusigalpa released this 15 Aug 11:44

Watchdog v1.0.5

This maintenance release improves GitHub Actions reliability and fixes script execution failures caused by missing executable permissions.

Fixed

  • Fixed GitHub Actions failures with exit code 126.
  • Fixed tests/smoke.sh failing when service-watchdog.sh is checked out without an executable bit.
  • The smoke test now invokes the watchdog explicitly through Bash.
  • Corrected executable permissions for:
    • service-watchdog.sh
    • install.sh
    • tests/smoke.sh

Improved

  • The CI smoke-test step now runs through bash ./tests/smoke.sh.
  • Tests are now resilient when files come from ZIP archives, web uploads, or environments that do not preserve Unix executable permissions.
  • Retained ShellCheck and Bash syntax validation.

Validation

  • bash -n passes for all Bash scripts.
  • ShellCheck completes without warnings.
  • The complete healthy → failure → remediation → unavailable smoke-test scenario passes.

Upgrade notes

No YAML configuration changes are required. Existing configurations from v1.0.4 remain fully compatible with v1.0.5.

v1.0.4

Choose a tag to compare

@tigusigalpa tigusigalpa released this 15 Aug 11:20

Watchdog v1.0.4

This release improves installation, documentation, validation, and the overall developer experience. No breaking configuration changes are introduced.

Added

  • Added -V and --version options.
  • Added a comprehensive CHANGELOG.md.
  • Added ready-to-adapt configurations for:
    • HTTP checks with Docker Compose
    • TCP checks with systemd
    • Command-based health checks
    • Multi-service monitoring
    • Failure and recovery hooks
  • Added a detailed Troubleshooting section.
  • Added cron setup examples for one-minute and five-minute intervals.
  • Added CI, release, license, and Bash version badges.

Improved

  • The installer now verifies Bash, curl, flock, timeout, systemctl, and Mike Farah yq v4.
  • The installer creates required log, state, configuration, and lock directories.
  • Existing configurations are preserved during installation.
  • Installation output now includes a clear summary and recommended next steps.
  • Quick Start now uses a stable tagged release archive.
  • Added separate instructions for downloading the development branch.
  • Replaced sudo editor with the more portable and secure sudoedit.
  • Expanded .gitignore for IDE files, secrets, runtime data, caches, logs, and release artifacts.
  • Improved ShellCheck compatibility throughout the Bash codebase.

CI and validation

  • Added ShellCheck validation to GitHub Actions.
  • All Bash scripts pass bash -n.
  • All example YAML configurations pass yq validation.
  • The smoke test covers healthy checks, failures, remediation execution, and state transitions.

Upgrade notes

No YAML schema changes are required. Existing configurations from v1.0.3 remain compatible with v1.0.4.

v1.0.3

Choose a tag to compare

@tigusigalpa tigusigalpa released this 15 Aug 10:10

Watchdog v1.0.3

This release focuses on documentation, configuration examples, and repository maintenance.

What’s new

  • Added an examples directory with ready-to-adapt configurations:
    • HTTP health checks with Docker Compose remediation
    • TCP checks with systemd recovery
    • Command-based service checks
    • Multi-service monitoring
    • Failure and recovery hooks
  • Added cron installation and scheduling instructions.
  • Documented one-minute and five-minute monitoring intervals.
  • Expanded .gitignore for IDE files, secrets, runtime data, logs, caches, and build artifacts.
  • Improved project metadata and repository documentation.

Validation

  • All example YAML files were validated with yq v4.
  • Bash scripts pass syntax checks.
  • Healthy, failure, and remediation paths are covered by the smoke test.