Overview
This minor release starts off the new year with several feature additions, bug fixes, and dependency updates, including integrating Go version 1.25.6.
Version 1.14.0 introduces the automatic detection of user-configured container stop timeouts from the Docker configuration (#1182), adds support for using a file reference when specifying notification templates (#1209), and provides enhanced cron schedule support when specifying schedules with seconds (robfig/cron expression format) (#1208).
This release includes fixes for several critical bugs including self-update cleanup issues, data races in concurrent access, panics in container info handling, and improvements to dependency label processing. Self-updates are now tracked via the use of a com.centurylinklabs.watchtower.container-chain Docker container label, which provides a means of explicitly ensuring parent containers are both prevented from performing further updates and are removed by the child container. Further bug fixes with Docker Compose replicas, cross-project stacks, and transitive dependencies are expected to improve reliability when using Watchtower to provide updates in more complex Docker deployments.
Features
- feat: auto-detect container stop timeout from Docker config by @skylenet in #1182
- Add support for file-based notification templates by @nicholas-fedor in #1209
- Update cron package to v3 with enhanced concurrency control and seconds support by @nicholas-fedor in #1208
Bug Fixes
- Fix panic in GetCreateConfig when containerInfo is nil by @nicholas-fedor in #1147
- Resolve self-update container cleanup issues by @nicholas-fedor in #1159
- Lower log level to debug for skipping pinned images by @nicholas-fedor in #1160
- Fix Watchtower depends-on label processing for cross-project Docker Compose dependencies by @nicholas-fedor in #1162
- Fix self-update, container management, and dependency issues by @nicholas-fedor in #1199
- Fix Data Race in Container Concurrent Access by @nicholas-fedor in #1201
- Fix Watchtower self-update logging during safeguard period by @nicholas-fedor in #1204
- Fix transitive dependency restart issue by @nicholas-fedor in #1211
Dependency Updates
- chore(deps): update module github.com/onsi/gomega to v1.39.0 by @renovate[bot] in #1176
- chore(deps): update module golang.org/x/text to v0.33.0 by @renovate[bot] in #1188
- chore(deps): update module github.com/onsi/ginkgo/v2 to v2.27.5 by @renovate[bot] in #1194
- chore(deps): update module github.com/sirupsen/logrus to v1.9.4 by @renovate[bot] in #1203
- chore(deps): update dependency go to v1.25.6 by @renovate[bot] in #1205
- chore(deps): update module github.com/docker/cli to v29.1.5+incompatible by @renovate[bot] in #1212
New Contributors
Full Changelog: v1.13.1...v1.14.0