Watchtower Release Notes

Last updated: Feb 4, 2026

  • Feb 3, 2026
    • Date parsed from source:
      Feb 3, 2026
    • First seen by Releasebot:
      Feb 4, 2026

    Watchtower by Nick Fedor

    v1.14.1

    Patch release with fixes and dependency updates improves container management and Compose handling. Shoutrrr v0.13.2 enables Discord threads, and docs for multiple notification services get clearer. Full changelog covers v1.14.0 to v1.14.1.

    Overview

    This is a patch release that introduces several fixes and dependency updates, including improvements to container dependency management and the Compose-based dependency handling that was introduced with version 1.13. The update to Shoutrrr v0.13.2 enables the use of Discord threads, as documented here. Watchtower's multiple notification services documentation was also updated to provide additional clarity.

    Bug Fixes

    • Resolve prefix matching and circular dependency issues by @nicholas-fedor in #1265
    • Prevent spurious safeguard delay when SkipSelfUpdate is enabled by @nicholas-fedor in #1276
    • Extract getRawLabelValue to Eliminate Code Duplication and Improve Performance by @nicholas-fedor in #1277
    • Fix missing space between fields in notifications by @nicholas-fedor in #1279

    Dependency Updates

    • chore(deps): update module github.com/onsi/gomega to v1.39.1 by @renovate[bot] in #1261
    • chore(deps): update module github.com/onsi/ginkgo/v2 to v2.28.1 by @renovate[bot] in #1262
    • chore(deps): update module github.com/docker/cli to v29.2.1+incompatible by @renovate[bot] in #1274
    • chore(deps): update module github.com/nicholas-fedor/shoutrrr to v0.13.2 by @renovate[bot] in #1275

    Documentation Updates

    • Improve multiple notification services documentation by @nicholas-fedor in #1251

    Full Changelog: v1.14.0...v1.14.1

    Original source Report a problem
  • Jan 20, 2026
    • Date parsed from source:
      Jan 20, 2026
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.14.0

    Watchtower 1.14.0 kicks off with Go 1.25.6, auto-detected Docker stop timeouts, file-based notification templates, and cron with seconds. It fixes crashes and data races, improves self-update cleanup, and updates dependencies for more reliable complex deployments.

    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

    @skylenet made their first contribution in #1182

    Full Changelog

    v1.13.1...v1.14.0

    Original source Report a problem
  • All of your release notes in one place

    Join Releasebot and get updates from Nick Fedor and hundreds of other software products.

  • Dec 22, 2025
    • Date parsed from source:
      Dec 22, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.13.1

    Watchtower ships a patch update with bug fixes and improvements that tighten update flow, fix local image updates, improve notification handling, and refine self-update behavior. It also enforces sanity checks for Docker Compose dependencies and resolves circular reference detection issues. Final 2025 release vibe.

    Overview

    This patch release integrates several bug fixes and improvements. Fixes include false positive mitigations for the new container sorting algorithm's circular reference detection, correcting the no-pull configuration option to correctly monitor the local image cache, and ensuring that setting the notifications level provides the expected level of control over both report and legacy notification verbosity. This release also integrates the latest version of Shoutrrr, which includes subsequent notification fixes.

    Improvements include the adding a template entry for the formatting of the self-update cleanup notification message. In addition, the self-update process has been further refined to allow regular, non-Watchtower updates immediately proceeding a self-update, rather than being initially skipped. This should hopefully allow for expected container updates while still preventing Watchtower from spawning orphaned Watchtower containers.

    ⚠️ As previously mentioned, a rolling-restart container update strategy is not compatible with linked/dependent containers. Watchtower's v1.13 addition of Docker Compose depends-on support now correctly enforces this through the "sanity check" warning. Docker restart policies that ensure Watchtower repeatedly restarts will result in the repeated restarts of Watchtower and subsequent repetition of the warning until the configuration is corrected. ⚠️

    Improvements

    • Improve punctuation in multiple Watchtower instances log message by @nicholas-fedor in #1136
    • Refine Watchtower Self-Update Behavior by @nicholas-fedor in #1137

    Bug Fixes

    • Fix no-pull mode to enable local image updates by @nicholas-fedor in #1099
    • Fix WATCHTOWER_NOTIFICATIONS_LEVEL being ignored in report mode by @nicholas-fedor in #1115
    • Fix false positive circular reference detection in dependency sorting by @nicholas-fedor in #1120
    • Fix false positive circular reference detection for containers with same service names by @nicholas-fedor in #1139

    Notes

    This is expected to be the final release for 2025.
    As always, if there are bugs, issues, features, etc that you need help with, then please reference either the Issues or Discussions.
    Merry Christmas and have a Happy New Year!

    Full Changelog: v1.13.0...v1.13.1

    Original source Report a problem
  • Dec 17, 2025
    • Date parsed from source:
      Dec 17, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.13.0

    Watchtower 1.13 introduces Docker Compose depends_on support and fixes for linked containers, startup notifications, and graceful shutdown. It also resolves self-update issues and updates dependencies, with a new Sanity Check that may block conflicting rolling-restart users.

    Overview

    This release introduces Docker Compose depends_on support and implements a fix that ensures proper handling of linked/dependent containers. It also includes bug fixes for self-update handling, notification propagation, HTTP API behavior, and graceful shutdown, along with minor dependency updates.
    ⚠️

    The addition of Docker Compose depends-on support will trigger Watchtower's "Sanity Check" and prevent new and existing users from running Watchtower when they are using the conflicting rolling-restart functionality. (#1106)

    Feature Improvements

    • Add Docker Compose depends_on support and improve handling of linked/dependent containers by @nicholas-fedor in #1086

    Bug Fixes

    • Prevent multiple orphaned containers on selfupdate by @nicholas-fedor in #1075
    • Fix Notification Propagation for Startup Failures by @nicholas-fedor in #1085
    • Fix HTTP API Startup Message Suppression by @nicholas-fedor in #1090
    • Enable graceful shutdown with context cancellation by @nicholas-fedor in #1094

    Dependency Updates

    • Update module github.com/docker/cli to v29.1.3+incompatible by @renovate[bot] in #1083
    • Update indirect Go dependencies by @nicholas-fedor in #1088

    Full Changelog: v1.12.5...v1.13.0

    Original source Report a problem
  • Dec 10, 2025
    • Date parsed from source:
      Dec 10, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.12.5

    Watchtower patch fixes a notification URL regression and boosts Podman support. It also refines MAC address validation logging, clarifies image update explanations, and welcomes a new contributor.

    Overview

    This release is primarily intended to patch a regression in Watchtower's handling of notification URL's while also integrating improved Podman support.

    Bug Fixes

    • Refines MAC address validation logging messages for better clarity by @nicholas-fedor in #1066
    • Resolves an issue with Podman checking for a nonexistent "restarting" status by @ApprenticeofEnder in #1061
    • Resoves a notification URL parsing regression to ensure reliable notification support by @nicholas-fedor in #1069

    Documentation Improvements

    • Adds an improved image update explanation and tagging examples by @nicholas-fedor in #1062

    New Contributors

    • @ApprenticeofEnder made their first contribution in #1061

    Full Changelog: v1.12.4...v1.12.5

    Original source Report a problem
  • Dec 9, 2025
    • Date parsed from source:
      Dec 9, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.12.4

    Patch release bundles bug fixes and dependency updates including self update improvements, TLS docker host fixes, and container name normalization. It also updates Go to v1.25.5 and several modules, plus docs and CI tweaks for smoother operation.

    Overview

    This patch release includes several bug fixes, including improved self-update timeouts and logging, container name normalization for better chained container dependency resolution, and fixes for TLS connection issues when using secure Docker hosts. It also integrates the latest Go version (v1.25.5) and Go dependency updates.

    Bug Fixes

    • Fixes a syntax error in the notification template example by adding a missing closing tag and correcting range delimiters by @AzariasB in #944
    • Enhances self-update functionality by increasing timeout, skipping redundant runs after cleanup, and improving startup logging accuracy by @nicholas-fedor in #1008
    • Introduces container name normalization to handle leading slashes consistently, resolving issues with chained dependency resolution by @nicholas-fedor in #1015
    • Replaces problematic environment variable parsing with custom regex-based splitting and empty string filtering for notification flags by @nicholas-fedor in #1039
    • Fixes TLS connection issues by improving client configuration to properly detect and use HTTPS for TLS-secured Docker hosts by @nicholas-fedor in #1044
    • Simplifies notification failure logging messages for improved clarity by @nicholas-fedor in #1054
    • Clears hostname when UTS mode is configured to prevent conflicting options during container recreation by @nicholas-fedor in #1056

    Dependency Updates

    • Updates Go to v1.25.5 by @renovate[bot] in #1009
    • Updates module github.com/docker/cli to v29.1.2+incompatible by @renovate[bot] in #1017
    • Updates module github.com/spf13/cobra to v1.10.2 by @renovate[bot] in #1026
    • Updates module golang.org/x/text to v0.32.0 by @renovate[bot] in #1050
    • Updates module github.com/nicholas-fedor/shoutrrr to v0.13.1 by @renovate[bot] in #1058

    Documentation Improvements

    • Enhances the lifecycle hooks documentation and examples by @nicholas-fedor in #998

    CI Improvements

    • Adds support for Major and Major.Minor version tags in Docker image releases by @RoboMagus in #1036

    New Contributors

    • @AzariasB made their first contribution in #944
    • @RoboMagus made their first contribution in #1036

    Full Changelog: v1.12.3...v1.12.4

    Original source Report a problem
  • Nov 13, 2025
    • Date parsed from source:
      Nov 13, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.12.3

    Overview

    This is small patch release that fixes a minor regression and re-enables the use of custom report notification templates.

    Bug Fix

    Fix notification template error by removing redundant conditional logic (#910).

    Full Changelog: v1.12.2...v1.12.3

    Original source Report a problem
  • Nov 11, 2025
    • Date parsed from source:
      Nov 11, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.12.2

    Patch release boosts reliability with targeted bug fixes across container management, notifications, logging, and scheduling plus dependency updates. Highlights include ghost container handling, safer notifications, and updated runtimes and libs.

    Overview

    This patch release includes bug fixes for improved reliability and compatibility, along with dependency updates.

    Bug Fixes

    Container Management

    • Added handling for ghost containers in ListAllContainers to prevent errors (#859).
    • Corrected container ID handling in notifications and logging to ensure accurate reporting (#893).
    • Improved Podman detection reliability for better compatibility (#799).

    Notifications

    • Resolved notification buffer, formatting, and message issues for improved reliability (#864).
    • Restored notifications for monitor-only containers that were previously missing (#850).
    • Made the shoutrrr notifier thread-safe to avoid concurrency issues (#844).
    • Prevented double notification entries for unchanged containers (#836).
    • Cleared the shoutrrr notification queue after sending to prevent accumulation (#824).
    • Fixed issues with the notification split by container feature (#775).

    Logging and Scheduling

    • Resolved data race in concurrent test logging for stable testing (#800).
    • Enhanced WATCHTOWER_UPDATE_ON_START logging messages for clarity (#768).
    • Updated the LogScheduleInfo function and related components for improved scheduling logic (#821).

    Update Control

    • Implemented cleanup detection for update-on-start control to fix state management (#831).

    Dependencies

    • Updated golang.org/x/text to v0.31.0.
    • Updated github.com/docker/cli to v29.
    • Updated github.com/docker/docker to v28.5.2+incompatible.
    • Updated Go to v1.25.4.
    • Updated github.com/nicholas-fedor/shoutrrr to v0.12.0.
    • Updated github.com/onsi/ginkgo/v2 to v2.27.2.

    Full Changelog

    Full Changelog: v1.12.1...v1.12.2

    Original source Report a problem
  • Oct 4, 2025
    • Date parsed from source:
      Oct 4, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.12.1

    v1.12.1 Patch Release

    This patch release includes stability improvements and bug fixes to enhance the reliability of Watchtower. It implements a fix for a bug in 1.12.0 that was causing HEAD requests to fail when pulling image digests.

    Fixed

    • Digest retrieval failed, falling back to full pull (1e41ae95) by @nicholas-fedor in #763
    • Prevent I/O blocking in API update handler (9130559d) by @nicholas-fedor in #765

    Full Changelog: v1.12.0...v1.12.1

    Original source Report a problem
  • Oct 3, 2025
    • Date parsed from source:
      Oct 3, 2025
    • First seen by Releasebot:
      Jan 24, 2026

    Watchtower by Nick Fedor

    v1.12.0

    This release brings lifecycle hooks, rolling restarts, and per container notifications plus broad bug fixes and dependency updates. New features include hook metadata, update-on-start checks, HTTP API improvements, and Podman CPU handling. A polished, reliable update.

    Overview

    This release introduces new features for enhanced lifecycle hooks, rolling restarts, and notification splitting, along with numerous bug fixes for concurrency, digest handling, and container management, plus dependency updates.

    Features

    Lifecycle Hooks Improvements

    Added container metadata support for pre/post-update hooks (#670).

    Rolling Restarts

    Implemented health check waiting for rolling restart operations (#671).

    Immediate Update Checks

    Added --update-on-start flag to perform an update check immediately when Watchtower starts (#672).

    HTTP API Enhancements

    Enhanced the update endpoint to return structured JSON responses (#673).

    Added support for configuring the HTTP API host (#697).

    Podman CPU Compatibility

    Introduced --cpu-copy-mode flag for improved CPU handling during container recreation with Podman (#712).

    Notification Splitting

    Added --notification-split-by-container flag to send separate notifications for each updated container (#721).

    Bug Fixes

    Self-Update Ordering

    Fixed issue where Watchtower would update itself before other containers, causing notification splitting problems (#756).

    Shutdown Handling

    Corrected shutdown lock logic to prevent test timeouts (#753).

    Concurrency Issues

    Resolved data race in Shoutrrr notifications (#746).

    Prevented crashes from concurrent Docker client access (#731).

    Fixed HTTP API failures when handling multiple simultaneous requests (#668).

    Digest and Registry Handling

    Improved digest fetching with automatic fallback from HEAD to GET requests (#669, #667).

    Enhanced self-update digest parsing for better reliability (#724).

    Resolved Docker Distribution API manifest request issues (#728).

    Container Management

    Prevented nil pointer dereference during container cleanup (#745).

    Fixed container identification issues (#718).

    Improved container ID retrieval for self-updates (#714).

    Notifications and Logging

    Ensured report notifications are sent in monitor-only mode (#709).

    Improved logging clarity and accuracy for different scheduling modes (#716).

    Scope and Initialization

    Resolved scope isolation issues in self-updates (#666, #683).

    Prevented dereferencing uninitialized notifier instances (#644).

    Update Integration

    Properly integrated --update-on-start with normal update cycles (#740).

    Dependencies

    Updated Docker CLI and Docker modules to v28.5.0+incompatible.

    Updated Shoutrrr notification library to v0.10.0.

    Updated Prometheus client library to v1.23.2.

    Updated Viper configuration library to v1.21.0.

    Updated Go text library to v0.29.0.

    Full Changelog: v1.11.8...v1.12.0

    Original source Report a problem

Related products