All notable changes to docker-autoheal are documented in this file.
The sections should follow the order Security
, Added
, Changed
, Fixed
, and Removed
.
The format is based on Keep a Changelog.
- Simplify 'connection type' option check
- Introduce 'nightly' tag for regular updates to base OS and binary dependencies to ensure vulnerabilities are addressed in between releases
- Reserve 'latest' tag for customary latest release
- Bump bollard from 0.17.0 to 0.17.1 (which includes bumping various build dependencies)
- Remove static Cargo.lock to allow for more seamless automated updates (let Cargo.toml guide updates)
- Bump bollard from 0.16.0 to 0.17.0 (which includes bumping various build dependencies)
- Bump openssl from 0.10.63 to 0.10.66
- Fixed invariant violation in MemBio::get_buf with empty results
- Ensure log length assessment does not underflow and compensate for empty log
- Other code cleanup
- Bumps rustls from 0.22.2 to 0.22.4.
- Infinite loop in rustls::conn::ConnectionCommon::complete_io() with proper client input
- Bump h2 from 0.3.24 to 0.3.26
- h2 servers vulnerable to degradation of service with CONTINUATION Flood
- Streamline persistent log write which should resolve occasional conjoined entries
- Breaking: Add state health exit code to persistent log
- This will invalidate any existing log.json and cause an error; removal of existing log.json is requisite
- Breaking: Rename option and variable:
- Binary option: --history replaced by -L, --log-persist
- Environment variAble: AUTOHEAL_HISTORY replaced by AUTOHEAL_LOG_PERSIST
- Adjustment to log output formatting for consistency
- Additional error handling on read_record
- External persistent logging: Capture Date, container name, container id, last health message and last action to /opt/docker-autoheal/log.json
- Requires the path to exist and that it is writable by the docker-autoheal user
- Controlled via (default: disabled):
- Binary option: -H, --history (switch)
- Environment variable: AUTOHEAL_HISTORY (TRUE/FALSE)
- Bump bollard to 0.16.0
- Bump mio from 0.8.10 to 0.8.11
- Fix receiving IOCP events after deregistering a Windows named pipe (tokio-rs/mio#1760, backport pr: tokio-rs/mio#1761).
- Minor change to default notification message
- Providing docker system hostname in webhook/apprise payload
- Rework action and notify logic for efficiency
- Minor code cleanup
- Binary options
- -v, --version replaced by -V, --version to be in alignment with standard practices
- Alphabetized help output for easier reading (lowercase then uppercase)
- Binary options
- -a, --post-action replaced by -P, --post-action to resolve conflict with -a, --apprise-url
There are several breaking changes; please read carefully and refer to README for more details
- Binary options
- -m, --monitor-all switch to control monitoring of all containers
- Environment variables
- AUTOHEAL_MONITOR_ALL (TRUE/FALSE) to control monitoring of all containers
- Container labels
- autoheal.monitor.enable (TRUE/FALSE) to control monitoring of individual containers
- Overrides AUTOHEAL_MONITOR_ALL
- autoheal.monitor.enable (TRUE/FALSE) to control monitoring of individual containers
- Returning last health 'ExitCode` and 'Output' to log (and webhook/apprise if configured) for unhealthy containers
- Binary options
- --log-exclude replaced by -l, --log-all
- --post-action replaced by -a, --post-action
- Environment variables
- AUTOHEAL_LOG_EXCLUDED replaced by boolean AUTOHEAL_LOG_ALL
- Container labels
- autoheal.restart.exclude replaced by boolean autoheal.restart.enable
- Binary options
- -l, --container-label (see --monitor-all and autoheal.monitor.enable)
- Environment variables
- AUTOHEAL_CONTAINER_LABEL (see --monitor-all and autoheal.monitor.enable)
post-action
to execute a task post-restart attemptautoheal.restart.exclude
container label as override whenAUTOHEAL_CONTAINER_LABEL
set toall
log-excluded
as a switch to allow logging of containers excluded from restart
- Small change to
log_message
to discard Err and always return Ok - Slight change to how startup delay is implemented and reported
- Minor code cleanup
- h2 build dependency statement no longer required as now addressed upstream
- Small change to how connection type assessed and reported for the sake of efficiency
- Minor code cleanup
- Small change to how webhook and apprise are called for the sake of efficiency
- Updated license to GPL-3.0
- Binary option for
tcp-timeout
, now in alignment with environmentAUTOHEAL_TCP_TIMEOUT
- Breaking changes
stop-timeout
is nows
tcp-timeout
is nowt
- Breaking changes
- Additional checks, balances & error handling
- Refactored binary options into separate function for more efficient parsing
- Refactored environment variables into separate function for better organization
- Per container override (in seconds) of
AUTOHEAL_STOP_TIMEOUT
during restart viaautoheal.stop.timeout
label
- Binary options descriptions and hints for webhook entries
- Support for webhook and/or apprise
- Support for connecting to Docker hosts over TLS
- SSL support is not ready; removed referrences to SSL
- Bump build-dependency h2 from 0.3.22 to 0.3.24 which addresses:
- Limit error resets for misbehaving connections
- Logging updated to better standardize on error level and improve output formatting