Releases: tigusigalpa/watchdog
Release list
v1.0.6
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
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.shfailing whenservice-watchdog.shis checked out without an executable bit. - The smoke test now invokes the watchdog explicitly through Bash.
- Corrected executable permissions for:
service-watchdog.shinstall.shtests/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 -npasses 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
Watchdog v1.0.4
This release improves installation, documentation, validation, and the overall developer experience. No breaking configuration changes are introduced.
Added
- Added
-Vand--versionoptions. - 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 Farahyqv4. - 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 editorwith the more portable and securesudoedit. - Expanded
.gitignorefor 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
yqvalidation. - 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
Watchdog v1.0.3
This release focuses on documentation, configuration examples, and repository maintenance.
What’s new
- Added an
examplesdirectory 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
.gitignorefor IDE files, secrets, runtime data, logs, caches, and build artifacts. - Improved project metadata and repository documentation.
Validation
- All example YAML files were validated with
yqv4. - Bash scripts pass syntax checks.
- Healthy, failure, and remediation paths are covered by the smoke test.