<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Dockhand - Release notes</title>
        <link>https://dockhand.pro/#changelog</link>
        <atom:link href="https://dockhand.pro/changelog.xml" rel="self" type="application/rss+xml"/>
        <description>New features and fixes in each Dockhand release.</description>
        <language>en</language>
        <lastBuildDate>Sun, 09 Aug 2026 00:00:00 GMT</lastBuildDate>
        <item>
            <title>Dockhand v1.0.41</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.41</guid>
            <pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate>
            <description>Feature: configurable default homepage
Feature: direct remote environments - remote stacks dir configurable, for putting the whole stack onto the remote
Feature: S3 backup destinations take an AWS region with a region quick-pick
Feature: registry browser shows tag size and date for self-hosted registries, loaded on expand
Fix: activity log times now honor the configured timezone
Fix: container updates respect the new image's command/entrypoint
Fix: deleting a stack shows which folders will be removed, with a choice to keep/delete folders
Fix: fixed an LDAP filter parsing issue that could break group-based role assignment with some AD DNs
Fix: child containers using network_mode: service/container reconnect when their parent is updated
Fix: dashboard pending-update count now matches the containers list
Fix: more room between settings/editor content and the scrollbar
Fix: GitLab and Harbor registries no longer report a misleading auth error when browsing
Fix: backup volume picker shows every bind mount when two containers share a container path
Fix: Google Cloud backup destinations now use a service-account JSON key
Fix: backup and restore helper containers no longer emit a "container died" notification when they finish
Fix: snapshots from another Dockhand instance sharing the repo now appear as restorable orphans
Fix: a stack restored to new locations always keeps its compose file and stays internal
Fix: improved restic repository operations log (prune, check, repair index etc.)
Fix: Azure Blob destinations no longer fail with 'invalid format' on init
Fix: backup destinations now have separate extra backup and restore flags</description>
        </item>
        <item>
            <title>Dockhand v1.0.40</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.40</guid>
            <pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate>
            <description>Fix: git stack stop/down/remove now resolve panel environment variables
Fix: the header clock falls back to the default TZ instead of UTC when the environment has none
Fix: deleting a git stack no longer clears a same-named stack's variables on other environments
Fix: Pangolin public URLs now default to https, honoring the ssl label
Fix: disconnected environments can be deleted without timeout
Feature: Git stack source badge shows the deployed short commit hash, and git url, branch in tooltip
Fix: container and stack modals are centered with consistent margins, no longer shifting with the sidebar
Fix: git stack webhooks now require a configured secret
Fix: local-path backup repos now work on a co-located socket-proxy env, and fail loudly on a remote host
Fix: restoring a stack from a backup no longer drops its database-backed secret env vars
Fix: restoring a stack now recreates it as a internal stack in the stacks dir, not from a tmp path
Fix: local-path backups are readable when Dockhand runs with a non-root PUID
Fix: bump docker-compose to 5.3.1-r3 (CVE-2026-56852, GHSA-hrxh-6v49-42gf, GHSA-jpjm-c3r5-q96r)
Fix: self-update check works on socket-proxy setups</description>
        </item>
        <item>
            <title>Dockhand v1.0.39</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.39</guid>
            <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
            <description>Fix: regression: stacks with relative bind mounts deployment fails
Fix: redeploying a stack with pull now clears the dashboard pending-update badge for containers it updated
Fix: stack backups no longer fail on deeply nested files whose path exceeds 100 bytes</description>
        </item>
        <item>
            <title>Dockhand v1.0.38</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.38</guid>
            <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
            <description>Feature: container/stacks backups (beta), gated with FEAT_BACKUPS_ENABLED
Feature: view a Git stack's compose YAML and dependency graph read-only by clicking its name
Fix: deploy on a plain internal stack no longer 500s when the request has no body
Fix: wider Activity event details modal
Fix: container updates refresh image-provided env vars and labels, overrides are kept
Fix: private repos with a token credential and no username now authenticate
Fix: dashboard CPU history no longer spikes past 100% on busy/churny hosts
Fix: failed updates (e.g. Docker Hub limits) show a 'check failed' instead of silently reporting no update
Fix: git stacks reject uppercase names upfront instead of leaving an orphaned clone
Fix: scan all images now covers untagged digest-pinned images instead of skipping them
Fix: registry containers stuck on a moved tag are no longer misread as "local" and skipped from updates
Fix: bump docker-compose 5.2.0-r0 -&gt; 5.3.1-r1 (CVE-2026-42505)
Fix: bump Go 1.25.11 -&gt; 1.25.12 (patches 4 stdlib CVEs)
Fix: volume prune now removes named unused volumes, keeping scanner caches
Feature: DNS_RESULT_ORDER=verbatim enables IPv6 fallback for outbound requests on IPv4-broken hosts
Fix: OIDC/network errors now show the underlying cause instead of a bare "fetch failed"
Fix: ntfy webhook with a trailing slash on the topic no longer fails with a 404
Fix: stack deploy and git sync notifications now actually fire on real deploys</description>
        </item>
        <item>
            <title>Dockhand v1.0.37</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.37</guid>
            <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
            <description>Feature: Prometheus metrics at /metrics for env state and internals, gated by EXPORT_METRICS
Feature: export scan results as SARIF 2.1.0, manual export and API for DefectDojo/Dependency-Track/GitHub
Feature: bump bundled docker-compose to 5.2.0-r0 to clear known CVEs
Feature: Vulnerabilities dashboard: aggregated CVE findings
Feature: update container images directly from the Stack view
Feature: stacks list shows an update indicator for stacks with image updates
Fix: copying an image to another registry keeps its tag instead of defaulting to latest
Fix: `more-than-current image` re-scans the current image so a stale cached scan doesn't block
Feature: application logs now include the log level (INFO/WARN/ERROR) in the prefix
Feature: option to suppress the "What's New" popup
Fix: ntfy notifications now forward the `email` query parameter so ntfy can send email
Feature: default scanner images bumped to grype v0.115.0 and trivy 0.71.2
Fix: the "Latest" update-check result now stays visible and doesn't revert
Feature: a stack with container label `dockhand.adopt=false` excluded from adoption
Fix: dashboard daemon info shows the real host hostname, not Dockhand's container id
Feature: file editor prompts to save/discard unsaved changes before closing
Fix: `GET /api/containers/check-updates` now lists pending updates (POST still triggers a check)
Feature: sidebar menu customizable (order and visibility of items)
Fix: activity and audit date filters respect the configured timezone instead of UTC
Feature: git deploy progress shows the changed files before the deploy starts</description>
        </item>
        <item>
            <title>Dockhand v1.0.36</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.36</guid>
            <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
            <description>Feature: sidebar shows an amber update indicator when a newer Dockhand image is available
Fix: Tag image modal too narrow for images identified only by SHA
Fix: self-hosted ntfy: accept raw `tk_...` access tokens in `?auth=`
Fix: dashboard: a single failed DB stats query no longer poisons the whole environment tile
Fix: UI dates and times now honor the configured default timezone instead of the browser's timezone
Fix: add missing `reset-mfa.sh` emergency script referenced by the manual
Fix: registry browser: copy between registries no longer duplicates the host
Feature: published image carries standard OCI annotations (source, url, title, description, vendor, licenses)
Feature: scanner: configurable network mode and DNS servers for vulnerability scans
Feature: template tiles now show a `Project` link that opens the upstream project page
Fix: cron picker: hour shows just `HH` (was `HH:00`), minute granularity bumped from 15 to 5
Feature: grid buttons: configurable size and optional semantic colors
Fix: copy buttons (git deploy logs, API tokens) now work over plain HTTP
Fix: Podman pod-infra containers no longer trigger update-check warnings
Fix: terminal exec works even when the browser sends a cookie with stray `%` characters</description>
        </item>
        <item>
            <title>Dockhand v1.0.35</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.35</guid>
            <pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate>
            <description>Feature: image prune skips Dockhand's scanner images (grype, trivy), configurable
Fix: "No archive" download format selection not persisted
Fix: regression: vulnerability scans on direct-TCP envs
Fix: Pangolin labels — recognise the real `public-resources` / `private-resources` namespaces
Fix: healthcheck uses HTTPS probe when HTTPS_MODE=on
Fix: shell detection improved for containers with non-standard PATH or shell locations</description>
        </item>
        <item>
            <title>Dockhand v1.0.34</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.34</guid>
            <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
            <description>Feature: raw file download — no tar wrapping
Fix: update modal stuck after closing mid-pull
Fix: vulnerability scans on Podman hosts (direct TCP and Hawser)
Fix: crash-looping containers now appear in the logs page list
Feature: filter containers by "Update available"
Feature: show hostname / IP of the selected environment in the top header
Feature: internal auth and validation hardening and dependency bumps
Feature: Traefik and Pangolin integration — surface proxy URLs on container and stack panels
Feature: release-notes link next to images with updates available
Feature: lifecycle action buttons in the container details modal
Feature: template library — browse and deploy compose templates from configurable sources
Fix: file browser fails on containers with ls in /usr/sbin</description>
        </item>
        <item>
            <title>Dockhand v1.0.33</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.33</guid>
            <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
            <description>Feature: in-place container property updates without restart — restart policy, CPU/memory limits
Feature: clickable stack badge in container and volume inspect modals
Feature: clickable stack badge in volumes list row
Feature: volumes list shows driver_opts type (NFS, CIFS, etc.) with sort and filter
Feature: Bark iOS notifications
Feature: Signal notifications via signal-cli-rest-api
Feature: Apprise passthrough — forward to a self-hosted caronc/apprise-api server
Fix: env editor flagged Docker/Compose built-ins as MISSING
Fix: YAML editor indentation was inconsistent when pressing Enter
Feature: `dockhand.update=false`, `dockhand.hidden=true` and `localhost/*` images skip registry polling
Fix: registry authentication for image pulls
Feature: native HTTPS listener, off by default
Fix: environments stuck "Failed" after VPN/Tailscale tunnel drops until agent restart
Fix: health_status events flooding container_events table
Fix: git stack sync removes files deleted from the repo (hash-verified)
Feature: upload TLS/mTLS certificate files in environment editor
Feature: syntax highlighting for shell, Dockerfile, TOML, INI/conf and .env files in the file browser viewer
Feature: Animated icons now configurable
Fix: stack deploys ignored the env's configured socket path
Fix: environment names with characters that break path resolution (e.g. `*`) are now rejected</description>
        </item>
        <item>
            <title>Dockhand v1.0.32</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.32</guid>
            <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
            <description>Feature: container details tweaks: process count, label filter, copy all labels
Feature: log improvements
Fix: cleared Resources fields not persisted on container edit
Fix: long container names overflowed in activity event details dialog
Fix: git stack recreate and start operations ignored Dockhand-stored env vars
Fix: dashboard stopped count reset to 0 after refresh for gracefully stopped containers
Fix: auto-update preserves runtime `-e` env and `-l` label overrides
Fix: git stack volume binds resolved to wrong host path when compose was in a subdirectory
Fix: git stacks: subdir compose files now find their adjacent env files
Feature: env editor doesn't flag Docker/Compose built-in variables as unused
Feature: container network mode: share another container's network namespace</description>
        </item>
        <item>
            <title>Dockhand v1.0.31</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.31</guid>
            <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
            <description>Fix: 502 Bad Gateway behind nginx-based reverse proxies — SvelteKit 2.51+ bloated the Link response header, pinned to 2.50.0</description>
        </item>
        <item>
            <title>Dockhand v1.0.30</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.30</guid>
            <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
            <description>Feature: time range filter for log viewer — filter logs by From/To date and time
Feature: configurable tail line count in log viewer — choose from 100 to all lines
Feature: toggleable line numbers in log viewer
Feature: "some unused" image filter — show images with both used and unused tags for selective cleanup
Feature: IP binding and port ranges in container port mappings
Feature: remove individual containers directly from stacks page
Fix: scan cache lookup by tag name never matched — results now resolved via image digest
Fix: image-baked env vars not updated during auto-update container recreation
Fix: git stack deploy via Hawser fails with "Invalid string length" when repo has large files
Feature: Gotify notification priority via URL query param — gotify://host/token?priority=5
Fix: consistent action button order across container and stack views
Feature: named custom URL labels — dockhand.url=[Name](https://...) markdown syntax
Fix: HTTPS git credentials no longer leaked in process arguments
Feature: bump Docker Compose to 5.1.4 (GHSA-pmwq-pjrm-6p5r)
Feature: dockhand.order label to control container display order within stacks
Feature: live network attach/detach for running containers — join or leave Docker networks without restarting
Fix: environment variable values with nested quotes progressively corrupted on each save</description>
        </item>
        <item>
            <title>Dockhand v1.0.29</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.29</guid>
            <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
            <description>Feature: optionally display internal (exposed) container ports alongside published ports
Feature: show app version in sidebar with build info tooltip
Feature: central label management — rename or delete labels across all environments
Feature: find next available host port when creating or editing containers
Feature: theme-aware scrollbar styling — scrollbars adapt to dark/light mode and color palettes
Fix: update buttons (single, selected, and all) now respect the "confirm dangerous actions" setting
Feature: custom URL labels - dockhand.url or dockhand.port.{port}.url to add links alongside container ports
Feature: generate and copy token for Hawser Standard mode with run command hint
Fix: environment stack directory not cleaned up when environment is deleted
Feature: toggle to hide timestamps and container name prefix in log viewer
Fix: Podman containers health status not showing
Fix: containers with exit code 0 (init/migration) no longer cause stack "partial" status
Fix: stats stream 400 on reconnect by skipping overlapping fetches
Fix: env var validation false positive for values containing $ followed by text
Fix: git-repos directory not cleaned up when environment is deleted
Fix: webhook secret auto-generated when left empty despite hint saying otherwise
Feature: scan reports — combined or individual Grype/Trivy</description>
        </item>
        <item>
            <title>Dockhand v1.0.28</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.28</guid>
            <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
            <description>Feature: context directory for git stacks — reference files from anywhere in the repo
Feature: no-cache build option for git stacks
Fix: env vars lost when switching between raw/form view
Fix: compose name property not respected during stack scan
Feature: editable schedule for scanner cache cleanup
Fix: container labels cannot be deleted
Fix: env var values leaked in deploy logs — now all values are redacted
Fix: volume export keeps helper container alive, preventing volume prune/deletion
Fix: ntfy self-hosted notifications fail when using ?auth= query parameter
Fix: scrollbar appears in dashboard tiles when content overflows
Fix: case-sensitive environment sort order — lowercase names sorted after uppercase
Fix: inaccurate dashboard CPU gauge caused by one-shot stats flag
Feature: ntfy notifications support ?tags=, ?title=, and ?priority= URL query parameters
Fix: stack .env file wiped when saving from graph view
Feature: dismiss update available indicators without updating
Feature: public IP setting available for hawser-edge environments — enables clickable port links
Fix: git stack creation silently destroys existing stacks with the same name
Feature: static IP/MAC address configuration for containers</description>
        </item>
        <item>
            <title>Dockhand v1.0.27</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.27</guid>
            <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
            <description>Feature: network graph visualization on networks page
Feature: customizable compose template for new stacks in settings
Feature: Microsoft Teams notifications via Power Automate Workflows
Feature: container label controls: dockhand.update, dockhand.hidden, dockhand.notify
Feature: configurable label filter matching mode (any/all) for environment dashboard
Feature: log search filter mode to hide non-matching lines
Feature: inline terminal on logs page with resizable split layout
Fix: disable Telegram link preview in notifications
Fix: cron editor rejects 6-field expressions with seconds
Fix: mirror Dockhand's ExtraHosts into scanner and self-update containers
Fix: duplicate volume binds during container recreate
Fix: log timestamp formatting not applied on main logs page
Fix: uploaded files now inherit container user ownership
Fix: extraneous backslash in Telegram notification environment name
Fix: collapse ports into ranges only if 3 or more consecutive ports
Fix: git operations auto-merge system CAs with custom cert</description>
        </item>
        <item>
            <title>Dockhand v1.0.26</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.26</guid>
            <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
            <description>Feature: persist sort order across page navigation for all data grids
Feature: show git repository URL and branch in git stack edit modal
Feature: show memory limit alongside usage in containers and stacks views
Feature: option to delete associated volumes when removing a stack
Feature: collapse consecutive port mappings into ranges in container list
Fix: bearer token authentication fails with enterprise license active
Fix: clicking stack name toggles stats accordion instead of just opening editor
Fix: scheduled image prune notifications missing environment name
Fix: Gotify, ntfy, Pushover, and webhook notifications missing environment name
Fix: MFA code field not recognized by Bitwarden and other password managers</description>
        </item>
        <item>
            <title>Dockhand v1.0.25</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.25</guid>
            <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
            <description>Feature: API token authentication — Bearer tokens for CI/CD pipelines and scripts
Feature: Telegram topic support — send notifications to supergroup topics
Fix: allow removing healthcheck, ports, and honor startAfterUpdate=false during container edit
Fix: validate stack names and prevent broken DB entries on invalid input
Fix: use per-environment timezone for schedule execution log timestamps
Fix: "Pull image before update" and "Start after update" settings ignored
Fix: image prune timeout on hawser-standard when pruning many images
Fix: bump Docker Compose to 5.1.3
Fix: mask secret environment variables in container inspect modal
Fix: viewer role can toggle, delete, and run schedules
Fix: settings show defaults instead of saved values after login until page refresh
Fix: settings toggle notifications show wrong state
Fix: stack memory tooltip shows inflated total on multi-container stacks</description>
        </item>
        <item>
            <title>Dockhand v1.0.24</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.24</guid>
            <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
            <description>Fix: browsing HTTP registries fails with SSL error
Fix: git stack deploy options (build, re-pull, force redeploy) not persisted in edit dialog</description>
        </item>
        <item>
            <title>Dockhand v1.0.23</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.23</guid>
            <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
            <description>Feature: theme toggle with system option — auto-follows OS light/dark preference
Feature: custom user option for terminal shell sessions, persisted per container
Feature: redeploy button for internal stacks with pull/build/force-recreate options
Feature: build, re-pull images and force redeployment options for git stacks
Fix: allow underscores in hostname validation
Fix: HTTPS git repos with self-signed CA certificates fail to clone/pull
Fix: stack restart fails for containers using network_mode: service:&lt;container&gt; — added recreate option
Fix: git stack sync deletes data in relative volume paths
Fix: batch update skips Hawser containers
Fix: registry delete fails for multi-arch/OCI manifest images
Fix: scanner cache cleanup to prevent volume bloat
Fix: negotiate Docker API version for scanner/updater sidecar containers
Fix: scan vulnerability counts mismatch with displayed list</description>
        </item>
        <item>
            <title>Dockhand v1.0.22</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.22</guid>
            <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
            <description>Feature: dashboard list view with inline search and connection filters
Feature: custom environment icon
Feature: show +N indicator for containers with multiple IP addresses
Feature: bundle all fonts locally for privacy and offline use
Fix: respect PROXY settings when checking for container updates
Fix: git stacks force-redeploy after a failed sync
Fix: What's New modal shown before login, exposing version info
Fix: git repository files not removed from disk on delete
Fix: recursive chown at startup breaks stack volumes with different ownership
Fix: missing notification event toggles for container healthy, image prune events
Fix: container disappears when edit fails (e.g. invalid memory/swap)
Fix: regression: network container count always shows 0
Fix: Grype/Trivy scan containers don't inherit proxy env vars
Fix: pin vulnerability scanner images to specific versions not :latest</description>
        </item>
        <item>
            <title>Dockhand v1.0.21</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.21</guid>
            <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
            <description>Feature: option to truncate port list
Feature: log viewer supports ANSII 256 colors
Fix: IPv6 Problems
Fix: polling storm &amp; mass disconnect
Fix: custom cron schedule displayed incorrectly
Fix: wrong cron schedule
Fix: file browser does not allow upload over 512 KB
Fix: can't set memory swappiness when using Podman
Fix: compose API negotiation fix
Fix: not deployed git stacks continue to show the Down action
Fix: display time doesn't reflect time zone
Fix: prune dangling images counter not working
Fix: own PORT env not used in HEALTHCHECK</description>
        </item>
        <item>
            <title>Dockhand v1.0.20</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.20</guid>
            <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
            <description>Fix: regression on Synology DSM
Fix: Fix ARM64 regression: Go collector crashing on Raspberry Pi and other ARM devices
Fix: autoupdate hangs on "waiting for Dockhand"</description>
        </item>
        <item>
            <title>Dockhand v1.0.19</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.19</guid>
            <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
            <description>Feature: Inline logs panel on stacks page — view container logs without leaving the page
Feature: Make ports column sortable in containers grid
Feature: Structured auth logging with client IP (login/logout/MFA/OIDC events)
Fix: Fix memory leak: TLS context accumulation for HTTPS environments (Bun)
Fix: Fix security scanning on Docker with custom logging drivers (Loki, Fluentd, etc.)
Fix: Fix grouped log viewer not auto-scrolling on new entries
Fix: Fix container recreation error messages not surfacing actual Docker errors
Fix: Fix LDAP group-to-role mapping
Fix: Fix container file browser hiding old files
Fix: Fix SSH key permission issues on NAS filesystems
Fix: Fix binary file corruption when syncing stacks to Hawser agents
Fix: Fix UI timeout issues for long running operations</description>
        </item>
        <item>
            <title>Dockhand v1.0.18</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.18</guid>
            <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
            <description>Feature: Dockhand self-update from the UI
Feature: Show freed disk space after image removal and pruning
Feature: Handle dynamically-spawned child containers in stack stop/down/restart/remove
Feature: Git webhooks are logged to the audit log
Feature: Add Mattermost notification support
Feature: Configurable disk usage warning threshold per environment
Fix: Fix file upload CSRF 403 error on plain HTTP deployments
Fix: Fix scanner container /wait timeout causing empty scan output
Fix: Fix saving adopted external stack failing with 'Stack directory not found'
Fix: Add Bearer token auth support for ntfy notifications
Fix: Fix git SSH failing with 'No user exists for uid' with arbitrary UIDs
Fix: Fix command palette flooding API requests on open
Fix: Normalize stack names when adopting to prevent uppercase rejection
Fix: Fix container update failing for shared network modes (container:&lt;name&gt;, host, none)</description>
        </item>
        <item>
            <title>Dockhand v1.0.17</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.17</guid>
            <pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate>
            <description>Fix: Fix scanner failure on rootless Docker
Fix: Increase Hawser compose operation timeout
Fix: Fix regression in stack container updates</description>
        </item>
        <item>
            <title>Dockhand v1.0.16</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.16</guid>
            <pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate>
            <description>Feature: Support Docker Compose override files when deploying stacks
Fix: Fix Hawser stack deploy failing when compose file not present on remote host
Fix: Fix Hawser Standard TLS test connection sending HTTP to HTTPS server
Fix: Fix .env variables not applied on save &amp; redeploy
Fix: Fix single Hawser node failure cascading offline state to all environments</description>
        </item>
        <item>
            <title>Dockhand v1.0.15</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.15</guid>
            <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
            <description>Feature: Pull before update option: New option to pull latest image before container auto-update
Feature: Usage filter on images page by usage status (used/unused/all)
Feature: Show repository name for untagged images: Better identification of images without tags
Fix: Fix IPv6 address not accepted in environment Public IP field
Fix: Fix IPv6 port link URLs by adding bracket formatting
Fix: Fix custom compose filename not used in SSE deploy
Fix: Fix env var leakage from Dockhand to user stacks
Fix: Fix SMTP notification test returning false success
Fix: Fix custom compose file path ignored for Hawser git stack deployments
Fix: Fix escaped $$ variables (Docker Compose syntax) incorrectly flagged as missing
Fix: Use native compose pull and up when updating stack containers
Fix: Fix vulnerability scans hanging indefinitely or failing with JSON parse errors
Fix: Fix memory leaks in SSE event streams and unconsumed Docker API response bodies
Feature: Sort vulnerability scan results by severity by default
Feature: Copy button for compose file contents in stack modal
Feature: Confirmation dialog before git stack sync
Fix: Fix timezone aliases (e.g. Europe/Kyiv) not saving correctly
Fix: Fix login crash with large session timeout values
Fix: Fix profile display name not persisting due to field name mismatch
Fix: Fix date formatting not respecting user preferences
Fix: Fix static IP not preserved during container auto-update
Fix: Fix stack adoption path conflict across different environments
Fix: Fix container auto-update causing permission denied on bind mounts
Fix: Fix health tab not showing healthcheck configuration
Fix: Fix stack custom paths reset after edit
Fix: Autofocus on login username and MFA code fields</description>
        </item>
        <item>
            <title>Dockhand v1.0.14</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.14</guid>
            <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
            <description>Fix: Fix environment variables in .env not interpolated during remote deployment
Fix: Fix stack variables not re-injected during stack start/stop
Fix: Fix time format 12/24 setting not respected in header clock
Fix: Fix skip TLS verification not saved on new environment</description>
        </item>
        <item>
            <title>Dockhand v1.0.13</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.13</guid>
            <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
            <description>Feature: Add DISABLE_LOCAL_LOGIN env var to hide local password login when SSO/LDAP is configured
Feature: Add ntfy authentication support (user:pass/topic format)
Feature: Sortable health column in containers grid (unhealthy containers first)
Feature: GPU device configuration in container create/edit/inspect
Feature: Editor font setting with expanded monospace font options
Feature: Dedicated NFS/CIFS form fields in create volume modal
Feature: Scheduled image pruning per environment
Feature: Git stack env populate button to preview overridable variables before deploy
Fix: Fix vulnerability scanning failing with rootless Docker
Fix: Honor DATA_DIR env var in hawser SQLite operations
Fix: Show detailed error messages when notification test fails
Fix: Fix compose file browse in create mode showing default path instead of selected file
Fix: Fix custom env file path not preserved in create mode
Fix: Fix git stacks creating duplicate compose.yaml alongside repo file
Fix: Fix env vars not showing after stack create
Fix: Fix stack path defaults accidentally enforced over custom paths
Fix: Fix adopted stack save &amp; restart breaking paths and env vars
Fix: Add more information to container audit logs including diff of changes
Fix: Preserve container settings on restart and auto-update</description>
        </item>
        <item>
            <title>Dockhand v1.0.12</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.12</guid>
            <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
            <description>Feature: Add SKIP_DF_COLLECTION env var to disable slow disk usage collection on NAS devices
Fix: Fix terminal/shell connections to direct TLS/mTLS and Hawser Standard environments
Fix: Fix crash when Hawser agent is stopped from Dockhand
Fix: Skip auto-update for SHA-pinned images (image:...)
Fix: Fix pending updates not cleared when containers or stacks are deleted
Fix: Fix adopted stacks using wrong .env path from internal directory instead of original location
Fix: Improve /login audit logs information
Fix: Fix login/logout screen refresh issue
Fix: Fix password change not persisting
Fix: Fix audit log page showing empty values</description>
        </item>
        <item>
            <title>Dockhand v1.0.11</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.11</guid>
            <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
            <description>Fix: Encryption at rest for sensitive credentials (AES-256-GCM)
Fix: Fix registry browsing and image push for registries with organization paths (e.g., registry.example.com/org)
Fix: Fix security scan failing to parse scanner output
Fix: Fix git sync stuck with sync_status set to running if app restarted during stack sync
Fix: Fix updating via containers tab doesn't properly restart the container</description>
        </item>
        <item>
            <title>Dockhand v1.0.10</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.10</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description>Fix: Fix docker socket access for custom PUID/PGID
Fix: Fix stack creation with deploy failing when no env vars provided
Fix: Fix env var validation flagging variables in commented lines as missing
Fix: Show stop button for stacks in restart loop</description>
        </item>
        <item>
            <title>Dockhand v1.0.9</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.9</guid>
            <pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate>
            <description>Feature: Shell: detect available shells in container before connecting
Fix: Fix GHCR registry authentication with OAuth2 token flow
Fix: Add page titles for browser tab updates on navigation
Fix: Add stack name conflict warning
Feature: Add docker-buildx plugin to container image
Fix: Fix relative paths not working for adopted/imported stacks
Fix: Fix TLS certificates not passed to docker-compose for direct connections
Fix: Fix registry queries for images with docker.io prefix
Fix: Fix compose editor issues when editing near env var references
Fix: Fix branch switching causing unknown revision error in git stacks
Fix: Fix SSE connection leak</description>
        </item>
        <item>
            <title>Dockhand v1.0.8</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.8</guid>
            <pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate>
            <description>Fix: Fix imported stack working directory for relative volume paths
Fix: Fix environment refresh after auth login
Fix: Fix single container update clearing up all update badges
Fix: Fix code editor paste issue on Safari on iPad
Fix: Fix registry login failing due to Bun stdin API incompatibility
Fix: Fix env var editor focus issues
Fix: Fix git stack naming issues: validation, rename sync, and delete cleanup</description>
        </item>
        <item>
            <title>Dockhand v1.0.7</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.7</guid>
            <pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate>
            <description>Feature: Adopt stacks created outside Dockhand
Feature: Activity event collection mode (Stream/Poll) and metrics interval settings for reduced CPU usage
Feature: Baseline Docker images for CPUs without AVX support
Feature: Show amber "Unused" badge for images not used by any container
Feature: Prune unused button to remove all unused images (not just dangling)
Fix: Stack collision on disk - stacks are now saved in environment folders
Fix: Checkbox selection delay in datagrid
Fix: Crypto fallback for old Linux kernels (&lt;3.17) that lack getrandom() syscall
Fix: Dashboard performance with many environments
Fix: Can't use authenticated custom registry
Fix: mTLS connections failing due to Bun TLS caching bug</description>
        </item>
        <item>
            <title>Dockhand v1.0.6</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.6</guid>
            <pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate>
            <description>Fix: Legacy CPU support (Celeron, Atom) - Bun binary now copied from official image instead of Wolfi package
Fix: Stack modal layouts improved with resizable split panels
Fix: Missing column headers in images overview</description>
        </item>
        <item>
            <title>Dockhand v1.0.5</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.5</guid>
            <pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate>
            <description>Feature: Custom hardened image built from scratch using Wolfi packages, eliminating Alpine vulnerabilities
Feature: Clicking container name opens container details
Feature: Clicking stack name opens stack editor (internal stacks)
Feature: Stack env editor now supports freestyle text entry for pasting env contents
Feature: Stack env vars saved as .env file next to compose, respecting external edits
Feature: Additional container options: ulimits, security options, DNS settings
Fix: DataGrid performance and memory leak on Activity page with thousands of rows
Fix: Webhook endpoints bypass session authentication when auth is enabled
Fix: PUID 1000 conflict with existing dockhand user in container
Fix: Gmail SMTP notification errors
Fix: More detailed error messages when stack fails to start
Fix: Container startup with user: directive in compose
Fix: Stack editor flickering when typing fast
Fix: Container unhealthy notifications not triggering
Fix: tlsSkipVerify not being saved in environment settings
Fix: MFA available to all users without enterprise license
Fix: Socket proxy documentation and examples
Fix: Edit container modal reloading during editing</description>
        </item>
        <item>
            <title>Dockhand v1.0.4</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.4</guid>
            <pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
            <description>Feature: Theme system with new light/dark themes and font customization
Feature: Grid font size setting for data tables
Feature: Column visibility, reordering, and resizing (persisted per user or globally)
Feature: Auto-update containers with per-environment checks, batch updates, and vulnerability blocking
Feature: Stack improvements: environment variables management and .env file support for git stacks
Feature: Visual graph editor for Docker Compose stacks
Feature: Timezone support for scheduled tasks
Feature: Improved schedule execution history
Fix: Fix duplicate ports in expanded stack containers (IPv4/IPv6)
Fix: Fix registry seed crash when Docker Hub URL is modified
Fix: Fix null ports crash for Docker Desktop containers
Fix: Fix header layout overlap on small screens
Fix: Fix TLS/mTLS support for remote Docker hosts
Fix: Fix memory leaks (setTimeout cleanup, stream requests)
Fix: Fix Edge mode connection issues
Fix: Fix stack deletion with orphaned records
Fix: Fix container editing breaking Compose stack association
Fix: Many other minor bug fixes and improvements</description>
        </item>
        <item>
            <title>Dockhand v1.0.3</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.3</guid>
            <pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
            <description>Fix: Fix infinite toast loop when environment is offline</description>
        </item>
        <item>
            <title>Dockhand v1.0.2</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.2</guid>
            <pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
            <description>Fix: Fix stack git repository selection</description>
        </item>
        <item>
            <title>Dockhand v1.0.1</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.1</guid>
            <pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
            <description>Feature: Public IP field for environment config (container port clickable links)
Feature: Releases are now also published with 'latest' tag
Fix: Server-side auth enforcement fix
Fix: Docker production build dependencies fix
Fix: Memory metrics calculation for remote Docker hosts
Fix: Dashboard memory calculation (sum all containers memory usage)
Fix: Form validation errors and error messages readability in dark theme</description>
        </item>
        <item>
            <title>Dockhand v1.0.0</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v1.0.0</guid>
            <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
            <description>Feature: First public release of Dockhand
Feature: Real-time container management (start, stop, restart, remove)
Feature: Container creation with advanced configuration (ports, volumes, env vars, labels)
Feature: Docker Compose stack management with visual editor
Feature: Git repository integration for stacks with webhooks and auto-sync
Feature: Image management and registry browsing
Feature: Vulnerability scanning with Grype and Trivy
Feature: Container logs viewer with ANSI color rendering and auto-refresh
Feature: Interactive shell terminal with xterm.js
Feature: File browser for containers and volumes
Feature: Multi-environment support (local and remote Docker hosts)
Feature: Hawser agent for remote Docker management (Standard and Edge modes)
Feature: Network and volume management
Feature: Dashboard with real-time metrics and activity tracking
Feature: Authentication with OIDC/SSO and local users
Feature: SQLite and PostgreSQL database support
Feature: Notification channels (SMTP, Apprise webhooks)
Feature: Container auto-update scheduling with vulnerability criteria
Feature: Enterprise edition with LDAP, MFA, and RBAC</description>
        </item>
        <item>
            <title>Dockhand v0.9.2</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v0.9.2</guid>
            <pubDate>Sun, 14 Dec 2025 00:00:00 GMT</pubDate>
            <description>Feature: Hawser agent support - manage remote Docker hosts behind NAT/firewall
Feature: Dashboard redesign with flexible tile sizes and real-time charts
Feature: Multi-architecture Docker images (amd64 + arm64)
Fix: Various bug fixes and performance improvements</description>
        </item>
        <item>
            <title>Dockhand v0.9.1</title>
            <link>https://dockhand.pro/#changelog</link>
            <guid isPermaLink="false">dockhand-v0.9.1</guid>
            <pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
            <description>Feature: Git stack deployment with webhook triggers
Feature: Container auto-update scheduling
Fix: Fixed container logs not streaming on Edge environments
Fix: Fixed memory leak in metrics collection</description>
        </item>
    </channel>
</rss>
