Changelog
Release history
RSSTrack our progress and see what's new in each version. Spoiler: it gets better every time.
v1.0.55
Coming soon- Newstart and stop a container on a schedule #1178
- Newthe interface language is kept on the server, so it survives a browser that clears its data #1795
- Newmoved-digest reports on pinned images are now configurable, globally or per container #1780
- Newterminal button in the container details view #1754 · #1768 · @Totopo27
- NewPsono bulk pull and inline references now read Environment Variables secrets #1784
- Newdecrypt a git stack's SOPS-encrypted env file with a new SOPS (age) secret provider #386 · #1781 · @oha-4
- NewEXPORT_METRICS_PUBLIC makes /metrics endpoint public, off by default #1698
- New-lsNNN and -rN tag bumps count as newer versions, with tag.transform and link.template labels #1703
- Newminimum image age visual improvements and dockhand.skip.cooldown label #1725
- Fixthe actions column can be resized in every data grid #1777 · #1787 · @Totopo27
- Fixnewer version tags are found on GHCR repositories with tens of thousands of tags #1792
- Fixa stack that bind-mounts a single file restores, also onto a host where the file is missing #1793
- Fixthe log view's live streaming toggle shows its state like the other toggles #1654
- Fixbackup history shows the destination each run used, not the schedule's current one #1783
- Fixmobile layouts for the containers list and environment tabs #1758 · @ddeitterick
- Fixupdate docker-compose to 5.6.0-r2 to pick up its CVE fixes
v1.0.54
Latest- Newthe interface follows your language - translation engine and German #494 · #1706 · #1709 · #1718 · #1719 · #1722 · #1726 · #1734 · #1736 · #1738 · #1742 · @Hellraiser28
- NewSimplified Chinese translation #494 · #1708 · #1716 · #1720 · #1721 · #1730 · #1733 · #1741 · #1749 · @maicent
- NewFrench translations, for France and Canada #494 · #1714 · #1717 · #1727 · #1728 · #1729 · #1732 · #1735 · #1746 · #1747 · #1748 · @MagnanGG
- NewPolish translation #494
- NewPsono as a secret provider, with bulk pull and inline psono:// references
- Newthe secret-provider banner collapses its key list when a stack loads many secrets #1771
- Newfilter containers and stacks by "Untagged" #1704 · #1763 · @Totopo27
- Fixa version pattern with four or five parts is no longer refused, and an ignored pattern says why #1702
- Fixreading pages no longer fails behind an nginx reverse proxy that uses an upstream block #1707
- Fiximage scans work again when the Docker daemon compresses its logs #1715 · @santacruz-usa
- Fixa container with a long stop_grace_period updates instead of being left stopped
- Fixa wider sidebar so translated labels fit #1731 · @MagnanGG
- Fixa scheduled update is no longer blocked by a failed scan of an image the registry cannot name #1737
- Fixbulk operations on stacks over the API no longer fail every item #1745
- Fixa quoted value from a .env file no longer keeps its quotes in the form #1750
- Fixa dockhand.tags label stays on the container that carries it #1740 · #1743 · @Totopo27
- Fixthe update check now reports a newer release on Kubernetes instead of giving up #1710
- Fixa moved digest on a pinned tag is now reported instead of silently ignored #1755
- Fixan unreachable environment no longer fills the log with errors for its own health checks #1739 · #1752 · @Totopo27
- Fixa git stack no longer recreates every container when a commit only touched files that do not affect them #1761 · #419 · #364
Docker image:
fnsys/dockhand:v1.0.54
or
fnsys/dockhand:latest
October 10, 2026
Docker image:
fnsys/dockhand:v1.0.53
October 10, 2026
- Newback up to an SFTP server with a dedicated SSH key and verified host keys #1478 · #1693 · @ddeitterick
- Newoffer the compose file detected from container labels when adopting an external stack #1612 · #1617 · @ondras
- Newhold off automatic updates until a new image is older than a configurable minimum image age #918 · #1365 · #1643 · @TheDuffman85
- Newa dockhand.name label sets the name a container is shown under #1623
- Newredeploy a stack without recreating every service, and choose how it redeploys #148
- Newsign in with a passkey instead of a password #1431 · #1431 · @StefanSa · @timcappalli
- Newfilter newer-version candidates per container #1674
- Newread per-stack resource totals from the API #1626
- Newshow stack health on the stacks page, and filter by it #1678
- Fixa container started with PUID=1001 runs as that user instead of root #1669
- Fixskip newer-version tags whose image is older than the one running #1673
- Fixfind the stack folder when a nested bind shares a name with one at the root #1679
- Fixordering one container with dockhand.order now moves it ahead of the unlabelled ones #1117
- Fixrestore preview no longer reports an empty target for a stack whose files are there #1681
- Fixupdating a Podman container started by podman-compose no longer leaves it stopped #1692
- Fixthe next compose deploy no longer recreates a container Dockhand just updated #1687
- Fixa stack's bind directories are no longer left out of a backup when no volume covers them #1696
Docker image:
fnsys/dockhand:v1.0.52
Older releases (v1.0.51 – v0.9.1)
October 3, 2026
- Newdrag to reorder environments #1638
- Newdrag to reorder tags, and the grid groups follow that order #1651
- Newcontainers can be tagged with a dockhand.tags label, with a colour and icon #1655
- Newcontainers optionally show the tags their stack carries #1665
- Newdrag files onto the file browser to upload them #1661 · #1662 · @Wardrop
- Fixcompose validate no longer reports a volume path built from a variable as undefined #1653
- Fixsorting containers by uptime now orders an hour-old container correctly #1652
- Fixthe vulnerability scan retention schedule saves and reloads correctly
- Fixthe stack editor no longer re-queries the secret provider while it sits idle #1646
- Fixkeepass:// and azurekv:// references are recognised in the stack editor
- Fixa git stack whose deploy fails is retried on the next sync instead of being marked in sync #1660
- Fixthe scanner check now finds newer grype and trivy releases, not just a rebuild of the pinned tag #1658
- Fixdefault scanner images bumped to grype v0.119.0 and trivy 0.75.0 #1658
- Fixupdate docker-compose 5.5.1-r2, undici 7.30.0, devalue 5.9.3 and nodemailer 10.0.10 for security fixes
Docker image:
fnsys/dockhand:v1.0.51
September 30, 2026
- Newupdate a container straight from its details view when a newer image is available #1588
- Newduplicate a backup schedule to reuse its settings for another destination #1578
- Newmark a secret provider as default so new stacks start with it selected #1609
- Newoptionally skip the login form, and sign out at the identity provider #563 · #562 · #1318
- Newdashboard disk usage segments link straight to images, volumes or containers #1314
- Newthe container file browser opens at the container's working directory #1285
- Newmattermost notifications arrive as colour-coded cards, like the discord ones #1607
- Newcontainer icons fall back to the image namespace when the name has none #1624
- Newtag groups are ordered alphabetically by tag name #1625
- Fixoidc sign-in survives a restart and works across multiple replicas #1601
- Fixcleaner image scan logs, and the real registry error #1486 · #1628 · #1629
- Fixcompose validate no longer flags variables a secret provider supplies #1621
- Fixupdating a container through the API keeps its secondary networks and their aliases
- Fixrecreating a container no longer reuses its old auto-assigned MAC address #1618
- Fixpodman's default bridge is no longer shown as an extra network on containers #1619
- Fixa scheduled container update clears its pending row, so update all no longer fails on it #1632
- Fiximage prune no longer times out after 30s when filters are set #1630
- Fixexporting an image whose name contains a slash no longer fails #1635
- Fixpercentage disk warnings are marked as unusable on hosts that report no total #1631
- Fixhttps now starts with certificates that have no subject, like newer let's encrypt ones #1622
- Fixdashboard keeps its top containers and recent events after a container event #1608
- Fixthe secret provider selector is no longer lost on save in the env text view #1620
- Fixa git stack .env value can be quoted and refer to another variable #1018
- Fixupdate docker-compose 5.5.1-r1, devalue 5.9.2 and nodemailer 9.1.1 for security fixes
Docker image:
fnsys/dockhand:v1.0.50
September 23, 2026
- Newtag containers and stacks, then filter and group the grid by tag #781 · #870
- Newsearch and filter containers by label #1372
- Neweditor themes: select from 40 themes with live preview #1309
- Newcommand palette searches stacks and containers across all hosts #670
- Newclear a search field with the X button in it #1321
- Newone-shot container exec API returning stdout, stderr and exit code #1380
- Newset and change file ownership in the container file browser #224
- Fixselect-all checkbox shows a partial state, not a full tick, for a partial selection #1605
- Fixa long backup no longer crashes the app when its log stream goes quiet #1610
- Fixremoving all of a stack's environment variables no longer leaves stale entries #1598
- Fixtemplates with duplicate names no longer stop the templates page from rendering
- Fixthe container toolbar no longer clips its buttons on mobile #1586
- Fixuse webp or png for selfh.st icons that have no svg #1596
- Fixdon't report a newer version tag that resolves to the image you already run #1572
- Fixfix vulnerability scans failing on the containerd image store #1569 · #1350
- Fixshow CPU and memory for containers on Windows Docker hosts #1574
- Fixdon't send container died/killed notifications for a container being updated #68
- Fixstop, start, restart and remove stacks that use secret providers, e.g. stop-during-backup #1579
- Fixcheck for image updates on a plain-HTTP registry #1580
- Fixsend you to the login page when your session expires #1577
- Fixskip hidden folders like .snapshots when scanning for stacks to adopt #1251
- Fixupdating a Podman container managed by a systemd Quadlet unit now works #1529 · #1559
- Fixoption to skip bind mounts when scheduling backups for a whole environment #1570
- Fixgit stack env vars stay visible in the editor after saving #1112
- Fixclearing a container's command now reverts it to the image default #1489
- Fixcut backup read transactions on S3/B2 by caching the restic index between runs #1600
- Fixdashboard no longer flashes zero running containers on a remote host #1608
Docker image:
fnsys/dockhand:v1.0.49
September 14, 2026
- Newbulk-delete snapshots, and optionally forget a config's snapshots when you delete it #1556
- Newoption to choose which stack operations show the full log #1558
- Newshow the stack icon and name in stack action popups #1526
- Newadd a docker attach terminal mode #1078 · #1377 · @ivanjx
- Fixlog in to registries over TLS on remote HTTPS environments #1557
- Fixvulnerability scans and alerts show the image tag, not just its digest #1528
- Fixresolve secret provider references when restoring a stack from a backup #1521
- Fixstop password managers from offering to save stack secret env-var fields #1517
- Fixrepository stats no longer fail on the backups screen #1561
- Fixdashboard image disk usage no longer counts shared layers multiple times #1461 · @omggga
- Fixstack action buttons show for stopped and freshly created stacks, regression #1565
- Fixthe update dialog no longer shows an unreleased version as the target #1566
- Fixupdate Go 1.26.8, docker-compose 5.5.0-r5, nodemailer 9.1.0, js-yaml 4.3.2 for security fixes
Docker image:
fnsys/dockhand:v1.0.48
September 12, 2026
- Newlive compose output during deploys, plus a per-stack deploy history tab #506 · #1292 · #1540 · #1499 · @strausmann
- Newwarn before saving a stack whose compose file location won't survive a container recreate #1524
- Newwarn when a host's kernel has cgroup memory accounting disabled #1549
- Fixback up stacks whose folder is bind-mounted over the data volume #1533
- Fixbackup restore preview now works for view-only roles #1534
- FixOpenAPI spec accuracy fixes #1531 · #1530 · #1532 · @strausmann
- Fix"always redeploy" git stacks now force-recreate so config changes take effect #1523
- Fixresolve secret references (op://, keepass://, ...) pasted with surrounding quotes #1521
- Fixdeleting a secret provider now warns which stacks it unbinds #1522
- Fixdeploy a 1:1-mounted local stack by file so its compose path label is preserved #1514
- Fixstore the compose path when a stack is created via the API without one #1515
- FixMicrosoft Teams (via Workflows) accepts the new Power Automate webhook URL format #1512
- Fixcontainer shell sessions each keep their own live terminal when you switch between them #1516
- Fixsort container uptimes under a minute correctly instead of tying them #1395 · @wrlee
- Fixload the web manifest through a Cloudflare tunnel by sending credentials #1513 · @Macleykun
- Fixcopy the restic password over plain HTTP #1488
- Fixscope stack backup snapshots to their own environment #1546
- Fixtheme defaults in General settings now save and display correctly when auth is on #1547
- Fixself-update no longer fails at the updater step on baseline (old x86_64) images #1500
Docker image:
fnsys/dockhand:v1.0.47
September 2, 2026
- Newrestart a stack in depends_on order, keeping the same containers #1480
- Newallow secret-less git webhooks via the ALLOW_WEBHOOKS_WITHOUT_SECRET env var
- Newoptional STACKS_DIR flat layout for local stacks #514 · #778 · #1482 · @xd003
- Fixfaster incremental backups when multiple stacks share one repository #1494
- Fix"disable build cache" no longer errors on deploy #1479 · #1020 · @He-Is-HaZaRdOuS
- Fixtest connection on a saved environment without re-entering the token #1483
- Fixpopulate environment variables again finds the repo's .env file #1495
- FixPOST /api/stacks honors the target environment in the body #1491
- Fixlarge image scans no longer fail when the scanner log rotates #1496
- FixCompose Validate no longer false-flags a valid env_file #1497
- Fixcache app icons in one request so the containers and stacks pages load faster
- Fixupgrade svelte to 5.56.10 #1476 · #1477 · @ThanatosDi
- Fixrefresh the bundled docker-compose (5.5.0-r2)
- Fixstricter per-environment access and permission checks across the API
- Fixredact secret values from compose command output and restrict backup restore targets
- Fixlocal-path backup destinations now reject a host path that isn't a Dockhand bind mount #1506
- Fixescape $ in env values when generating a compose file from a container #1507
- Fixclearer git permission errors that match the credential type (token vs SSH key) #1509
Docker image:
fnsys/dockhand:v1.0.46
August 27, 2026
- NewKeePassXC as a secret provider - pull secrets from a .kdbx via keepassxc-cli, bulk or inline refs #1460
- Newcompose generated from a container now captures network config and resource limits #1464
- Newcompose validate flags a service with no healthcheck and a defined-but-unused named volume
- Newoptional Webhook column on the stacks list with a git stack's webhook id and copy-URL button #845
- Newsort by Disk I/O and Net I/O - the header cycles read/write and down/up #1111
- Newoption to disable the session timeout #1302
- Fixsecurity hardening across the API
- Fixpausing or resuming a backup schedule no longer clears the retention policy #1462
- Fixemergency script to relocate stack paths after moving DATA_DIR #651 · #904
- Fixgit stacks can now set a custom icon #1473
Docker image:
fnsys/dockhand:v1.0.45
August 25, 2026
- Newgenerate a compose file from any container - save as new or append to existing stack #489
- NewMQTT notification channel - publish events to a broker #280
- NewTLS backup repositories with a private CA and optional mutual TLS #1451
- Newcustom stack and container icons, plus automatic container icons #31
- NewAzure Key Vault as a secret provider (bulk pull or inline azurekv:// references)
- NewProton Pass inline references accept vault and item names, not just ids (pass://vault/item/field) #1449
- Newbranch selector on git stack, with per-stack branch override #649 · #1343 · @brx19
- Newclick the update icon in the image column to update a container #1435
- NewPushover notifications can target specific devices #1411
- Newkeep specific images from being pruned with a dockhand.prune=false label #1391
- FixInfisical secret references now resolve to their value instead of the raw reference #1447
- Fixthe version-update dialog no longer duplicates the old tag when the running image is digest-pinned #1437
- Fixa compose stack with a restarting container now shows a Stop action instead of Start #1438
- Fixoptimize 1Password API calls on deploy #1436
- Fixdirect-remote staging pulls the alpine helper image instead of failing when it's missing #1442
- FixProton Pass secrets now resolve on headless hosts with no system keyring #1440
- Fixfix switching an Infisical provider back to a static token #1448
- Fixfix backpressure in Docker streaming responses #1445 · @StefanSa
- Fixsort IPv6 subnets and addresses numerically instead of randomly #1453
Docker image:
fnsys/dockhand:v1.0.44
August 20, 2026
- NewCompose validate - a preflight linter & validator for compose files
- NewBitwarden Secrets Manager as a secret provider via an operator-installed bws client #1416 · @StefanSa
- NewProton Pass as a secret provider via an operator-installed pass-cli client
- NewInfisical: Universal Auth (Machine Identity) as well as a static token #1398 · @strausmann
- Newdetect newer version tags for pinned images and show them as a badge with release notes #1176
- NewOpenAPI spec at /api/docs with a Scalar viewer, opt-in via FEAT_API_DOCS #814 · #1342 · @strausmann
- NewZabbix notification channel via the history.push API #1419 · @snesterkov
- Fixregistry auth survives an http to https token realm redirect behind a TLS proxy #1428
- Fixsecurity: update Go to 1.25.13 (8 HIGH stdlib CVEs) and update docker-compose to 5.5.0
- Fixconcurrent git syncs sharing an SSH credential no longer fail on a missing temp key #1413 · #1143 · @HoroTW
- Fixbackup notifications show a real title and message instead of "undefined" #1414
- Fixgit stacks accept a compose/env path with a leading slash #1355
- Fixcontainer update notifications now fire properly #1424
- FixInfisical: the project ID is optional when using a service token - it's taken from the token #1398
- FixAPI: adopting a stack rejects a compose path not on Dockhand's filesystem #1375
- FixAPI: validating a stack's env vars no longer drops the environment id #1423
- Fixediting a secret provider no longer wipes its stored token #1432
Docker image:
fnsys/dockhand:v1.0.43
August 16, 2026
- Newoptional indentation guides in the compose/YAML editor #1410
- Newsupport caddy-docker-proxy labels #1390
- Newupload a Docker image .tar through the UI (docker load) for air-gapped hosts #88 · #1389
- Newstack secrets from external providers (1Password, HashiCorp Vault, Infisical and Doppler) #1360 · @wintech147 · @GooRoo
- Fixupdating a compose file over the API now saves it, not just deploys it #1383
- Fixreopening the MFA setup screen while MFA is enabled no longer wipes the secret and backup codes #1399
- Fixstack deploys no longer leak Dockhand's own DOCKER_HOST into services #1393
- Fixcontainer update no longer fails on Podman when CPU limits are set #1381
- Fixcontainer update no longer fails on Podman for containers using userns_mode: keep-id #1409
- Fixstack deploy now respects DOCKER_CONFIG when pulling private images #1376
- Fixstart, stop or restart on Hawser updates its files on the remote host, not only on redeploy #1240
- Fixgrouped container logs now show one merged timeline sorted by time #1406
- Fixmulti-arch images no longer show false "update available" #1367
Docker image:
fnsys/dockhand:v1.0.42
August 9, 2026
- Newconfigurable default homepage #1354
- Newdirect remote environments - remote stacks dir configurable, for putting the whole stack onto the remote
- NewS3 backup destinations take an AWS region with a region quick-pick
- Newregistry browser shows tag size and date for self-hosted registries, loaded on expand #876
- Fixactivity log times now honor the configured timezone #1183
- Fixcontainer updates respect the new image's command/entrypoint #1371
- Fixdeleting a stack shows which folders will be removed, with a choice to keep/delete folders #675
- Fixfixed an LDAP filter parsing issue that could break group-based role assignment with some AD DNs
- Fixchild containers using network_mode: service/container reconnect when their parent is updated #570
- Fixdashboard pending-update count now matches the containers list #1006
- Fixmore room between settings/editor content and the scrollbar #1171
- FixGitLab and Harbor registries no longer report a misleading auth error when browsing #873
- Fixbackup volume picker shows every bind mount when two containers share a container path #1373
- FixGoogle Cloud backup destinations now use a service-account JSON key
- Fixbackup and restore helper containers no longer emit a "container died" notification when they finish
- Fixsnapshots from another Dockhand instance sharing the repo now appear as restorable orphans #1351
- Fixa stack restored to new locations always keeps its compose file and stays internal #1351
- Fiximproved restic repository operations log (prune, check, repair index etc.)
- FixAzure Blob destinations no longer fail with 'invalid format' on init
- Fixbackup destinations now have separate extra backup and restore flags #1349
Docker image:
fnsys/dockhand:v1.0.41
July 31, 2026
- NewGit stack source badge shows the deployed short commit hash, and git url, branch in tooltip #1325 · @brx19
- Fixgit stack stop/down/remove now resolve panel environment variables #1313 · #1339 · @strausmann
- Fixthe header clock falls back to the default TZ instead of UTC when the environment has none #1340
- Fixdeleting a git stack no longer clears a same-named stack's variables on other environments #1335
- FixPangolin public URLs now default to https, honoring the ssl label #1331
- Fixdisconnected environments can be deleted without timeout #1319 · #1320 · @Solaris-star
- Fixcontainer and stack modals are centered with consistent margins, no longer shifting with the sidebar #1308
- Fixgit stack webhooks now require a configured secret
- Fixlocal-path backup repos now work on a co-located socket-proxy env, and fail loudly on a remote host #1316
- Fixrestoring a stack from a backup no longer drops its database-backed secret env vars #1329
- Fixrestoring a stack now recreates it as a internal stack in the stacks dir, not from a tmp path
- Fixlocal-path backups are readable when Dockhand runs with a non-root PUID
- Fixbump docker-compose to 5.3.1-r3 (CVE-2026-56852, GHSA-hrxh-6v49-42gf, GHSA-jpjm-c3r5-q96r)
- Fixself-update check works on socket-proxy setups #1203
Docker image:
fnsys/dockhand:v1.0.40
July 26, 2026
- Fixregression: stacks with relative bind mounts deployment fails #1310
- Fixredeploying a stack with pull now clears the dashboard pending-update badge for containers it updated #1311
- Fixstack backups no longer fail on deeply nested files whose path exceeds 100 bytes
Docker image:
fnsys/dockhand:v1.0.39
July 25, 2026
- Newcontainer/stacks backups (beta), gated with FEAT_BACKUPS_ENABLED
- Newview a Git stack's compose YAML and dependency graph read-only by clicking its name #1294 · @nenad
- NewDNS_RESULT_ORDER=verbatim enables IPv6 fallback for outbound requests on IPv4-broken hosts #1293
- Fixdeploy on a plain internal stack no longer 500s when the request has no body #1271
- Fixwider Activity event details modal #1277
- Fixcontainer updates refresh image-provided env vars and labels, overrides are kept #1226 · #1256
- Fixprivate repos with a token credential and no username now authenticate #1273
- Fixdashboard CPU history no longer spikes past 100% on busy/churny hosts #1279
- Fixfailed updates (e.g. Docker Hub limits) show a 'check failed' instead of silently reporting no update #1255
- Fixgit stacks reject uppercase names upfront instead of leaving an orphaned clone #1284
- Fixscan all images now covers untagged digest-pinned images instead of skipping them #1286
- Fixregistry containers stuck on a moved tag are no longer misread as "local" and skipped from updates #1288
- Fixbump docker-compose 5.2.0-r0 -> 5.3.1-r1 (CVE-2026-42505)
- Fixbump Go 1.25.11 -> 1.25.12 (patches 4 stdlib CVEs)
- Fixvolume prune now removes named unused volumes, keeping scanner caches #1289
- FixOIDC/network errors now show the underlying cause instead of a bare "fetch failed" #1293
- Fixntfy webhook with a trailing slash on the topic no longer fails with a 404 #1300
- Fixstack deploy and git sync notifications now actually fire on real deploys #1295
Docker image:
fnsys/dockhand:v1.0.38
July 11, 2026
- NewPrometheus metrics at /metrics for env state and internals, gated by EXPORT_METRICS #339
- Newexport scan results as SARIF 2.1.0, manual export and API for DefectDojo/Dependency-Track/GitHub #415
- Newbump bundled docker-compose to 5.2.0-r0 to clear known CVEs
- NewVulnerabilities dashboard: aggregated CVE findings #1038
- Newupdate container images directly from the Stack view #1073
- Newstacks list shows an update indicator for stacks with image updates #504
- Newapplication logs now include the log level (INFO/WARN/ERROR) in the prefix #1166
- Newoption to suppress the "What's New" popup #1235
- Newdefault scanner images bumped to grype v0.115.0 and trivy 0.71.2 #1241
- Newa stack with container label `dockhand.adopt=false` excluded from adoption #998
- Newfile editor prompts to save/discard unsaved changes before closing #1264
- Newsidebar menu customizable (order and visibility of items) #1252
- Newgit deploy progress shows the changed files before the deploy starts #1260
- Fixcopying an image to another registry keeps its tag instead of defaulting to latest #1243
- Fix`more-than-current image` re-scans the current image so a stale cached scan doesn't block #1022
- Fixntfy notifications now forward the `email` query parameter so ntfy can send email #1231
- Fixthe "Latest" update-check result now stays visible and doesn't revert #1019
- Fixdashboard daemon info shows the real host hostname, not Dockhand's container id #1265
- Fix`GET /api/containers/check-updates` now lists pending updates (POST still triggers a check) #1266
- Fixactivity and audit date filters respect the configured timezone instead of UTC #1269
Docker image:
fnsys/dockhand:v1.0.37
June 27, 2026
- Newsidebar shows an amber update indicator when a newer Dockhand image is available #1146
- Newpublished image carries standard OCI annotations (source, url, title, description, vendor, licenses) #1217
- Newscanner: configurable network mode and DNS servers for vulnerability scans #1219
- Newtemplate tiles now show a `Project` link that opens the upstream project page #1211
- Newgrid buttons: configurable size and optional semantic colors #1072
- FixTag image modal too narrow for images identified only by SHA #1205
- Fixself-hosted ntfy: accept raw `tk_...` access tokens in `?auth=` #1209
- Fixdashboard: a single failed DB stats query no longer poisons the whole environment tile #1210
- FixUI dates and times now honor the configured default timezone instead of the browser's timezone #1183
- Fixadd missing `reset-mfa.sh` emergency script referenced by the manual #1214
- Fixregistry browser: copy between registries no longer duplicates the host #1220
- Fixcron picker: hour shows just `HH` (was `HH:00`), minute granularity bumped from 15 to 5 #1198
- Fixcopy buttons (git deploy logs, API tokens) now work over plain HTTP #1222
- FixPodman pod-infra containers no longer trigger update-check warnings #1221
- Fixterminal exec works even when the browser sends a cookie with stray `%` characters #1224
Docker image:
fnsys/dockhand:v1.0.36
June 19, 2026
- Newimage prune skips Dockhand's scanner images (grype, trivy), configurable #625
- Fix"No archive" download format selection not persisted #1180
- Fixregression: vulnerability scans on direct-TCP envs #1195
- FixPangolin labels — recognise the real `public-resources` / `private-resources` namespaces #2
- Fixhealthcheck uses HTTPS probe when HTTPS_MODE=on #1191
- Fixshell detection improved for containers with non-standard PATH or shell locations #1189
Docker image:
fnsys/dockhand:v1.0.35
June 17, 2026
- Newraw file download — no tar wrapping #1180
- Newfilter containers by "Update available" #1063
- Newshow hostname / IP of the selected environment in the top header #962
- Newinternal auth and validation hardening and dependency bumps
- NewTraefik and Pangolin integration — surface proxy URLs on container and stack panels #2
- Newrelease-notes link next to images with updates available #538
- Newlifecycle action buttons in the container details modal #461
- Newtemplate library — browse and deploy compose templates from configurable sources #48
- Fixupdate modal stuck after closing mid-pull #1094
- Fixvulnerability scans on Podman hosts (direct TCP and Hawser) #1076
- Fixcrash-looping containers now appear in the logs page list #227
- Fixfile browser fails on containers with ls in /usr/sbin #1185
Docker image:
fnsys/dockhand:v1.0.34
June 15, 2026
- Newin-place container property updates without restart — restart policy, CPU/memory limits #1153
- Newclickable stack badge in container and volume inspect modals #1121
- Newclickable stack badge in volumes list row #1122
- Newvolumes list shows driver_opts type (NFS, CIFS, etc.) with sort and filter #1123
- NewBark iOS notifications #1095 · #1097 · @undirectlookable
- NewSignal notifications via signal-cli-rest-api #1099
- NewApprise passthrough — forward to a self-hosted caronc/apprise-api server #1099
- New`dockhand.update=false`, `dockhand.hidden=true` and `localhost/*` images skip registry polling #1083
- Newnative HTTPS listener, off by default #1102
- Newupload TLS/mTLS certificate files in environment editor #125
- Newsyntax highlighting for shell, Dockerfile, TOML, INI/conf and .env files in the file browser viewer #1055
- NewAnimated icons now configurable #1169
- Fixenv editor flagged Docker/Compose built-ins as MISSING #141
- FixYAML editor indentation was inconsistent when pressing Enter #1156
- Fixregistry authentication for image pulls #1105
- Fixenvironments stuck "Failed" after VPN/Tailscale tunnel drops until agent restart #1160
- Fixhealth_status events flooding container_events table #1165
- Fixgit stack sync removes files deleted from the repo (hash-verified) #966 · #1162
- Fixstack deploys ignored the env's configured socket path #1172
- Fixenvironment names with characters that break path resolution (e.g. `*`) are now rejected #1179
Docker image:
fnsys/dockhand:v1.0.33
June 6, 2026
- Newcontainer details tweaks: process count, label filter, copy all labels #812
- Newlog improvements #1130
- Newenv editor doesn't flag Docker/Compose built-in variables as unused #141
- Newcontainer network mode: share another container's network namespace #161
- Fixcleared Resources fields not persisted on container edit #1119
- Fixlong container names overflowed in activity event details dialog #1129
- Fixgit stack recreate and start operations ignored Dockhand-stored env vars #1132
- Fixdashboard stopped count reset to 0 after refresh for gracefully stopped containers #1133
- Fixauto-update preserves runtime `-e` env and `-l` label overrides #1135
- Fixgit stack volume binds resolved to wrong host path when compose was in a subdirectory #1139
- Fixgit stacks: subdir compose files now find their adjacent env files #1136
Docker image:
fnsys/dockhand:v1.0.32
May 30, 2026
- Fix502 Bad Gateway behind nginx-based reverse proxies — SvelteKit 2.51+ bloated the Link response header, pinned to 2.50.0 #1114
Docker image:
fnsys/dockhand:v1.0.31
May 30, 2026
- Newtime range filter for log viewer — filter logs by From/To date and time #1068
- Newconfigurable tail line count in log viewer — choose from 100 to all lines #1066
- Newtoggleable line numbers in log viewer #1067
- New"some unused" image filter — show images with both used and unused tags for selective cleanup #621
- NewIP binding and port ranges in container port mappings #581
- Newremove individual containers directly from stacks page #576
- NewGotify notification priority via URL query param — gotify://host/token?priority=5 #1033
- Newnamed custom URL labels — dockhand.url=[Name](https://...) markdown syntax #1065
- Newbump Docker Compose to 5.1.4 (GHSA-pmwq-pjrm-6p5r)
- Newdockhand.order label to control container display order within stacks #847
- Newlive network attach/detach for running containers — join or leave Docker networks without restarting #1051
- Fixscan cache lookup by tag name never matched — results now resolved via image digest #1064
- Fiximage-baked env vars not updated during auto-update container recreation #1061
- Fixgit stack deploy via Hawser fails with "Invalid string length" when repo has large files #1040
- Fixconsistent action button order across container and stack views #1079
- FixHTTPS git credentials no longer leaked in process arguments #1081
- Fixenvironment variable values with nested quotes progressively corrupted on each save #1036 · #1086
Docker image:
fnsys/dockhand:v1.0.30
May 17, 2026
- Newoptionally display internal (exposed) container ports alongside published ports #193
- Newshow app version in sidebar with build info tooltip #209
- Newcentral label management — rename or delete labels across all environments #661
- Newfind next available host port when creating or editing containers #116
- Newtheme-aware scrollbar styling — scrollbars adapt to dark/light mode and color palettes #462
- Newcustom URL labels - dockhand.url or dockhand.port.{port}.url to add links alongside container ports #266
- Newgenerate and copy token for Hawser Standard mode with run command hint #337
- Newtoggle to hide timestamps and container name prefix in log viewer #124
- Newscan reports — combined or individual Grype/Trivy #1056
- Fixupdate buttons (single, selected, and all) now respect the "confirm dangerous actions" setting #638 · #751
- Fixenvironment stack directory not cleaned up when environment is deleted #1023
- FixPodman containers health status not showing #737
- Fixcontainers with exit code 0 (init/migration) no longer cause stack "partial" status #1026
- Fixstats stream 400 on reconnect by skipping overlapping fetches #1044
- Fixenv var validation false positive for values containing $ followed by text #1048
- Fixgit-repos directory not cleaned up when environment is deleted #1049
- Fixwebhook secret auto-generated when left empty despite hint saying otherwise #1050
Docker image:
fnsys/dockhand:v1.0.29
May 9, 2026
- Newcontext directory for git stacks — reference files from anywhere in the repo #864
- Newno-cache build option for git stacks #880
- Neweditable schedule for scanner cache cleanup #979
- Newntfy notifications support ?tags=, ?title=, and ?priority= URL query parameters #689
- Newdismiss update available indicators without updating #853
- Newpublic IP setting available for hawser-edge environments — enables clickable port links #350
- Newstatic IP/MAC address configuration for containers #297
- Fixenv vars lost when switching between raw/form view #964
- Fixcompose name property not respected during stack scan #922
- Fixcontainer labels cannot be deleted #984
- Fixenv var values leaked in deploy logs — now all values are redacted #985
- Fixvolume export keeps helper container alive, preventing volume prune/deletion #983
- Fixntfy self-hosted notifications fail when using ?auth= query parameter #840
- Fixscrollbar appears in dashboard tiles when content overflows #969
- Fixcase-sensitive environment sort order — lowercase names sorted after uppercase #975
- Fixinaccurate dashboard CPU gauge caused by one-shot stats flag #932
- Fixstack .env file wiped when saving from graph view #988
- Fixgit stack creation silently destroys existing stacks with the same name #1001
Docker image:
fnsys/dockhand:v1.0.28
April 26, 2026
- Newnetwork graph visualization on networks page #894 · @Penlane
- Newcustomizable compose template for new stacks in settings #632 · @oratory
- NewMicrosoft Teams notifications via Power Automate Workflows #355 · @slokhorst
- Newcontainer label controls: dockhand.update, dockhand.hidden, dockhand.notify #6 · #53 · #94 · #215
- Newconfigurable label filter matching mode (any/all) for environment dashboard #607
- Newlog search filter mode to hide non-matching lines #916
- Newinline terminal on logs page with resizable split layout #900
- Fixdisable Telegram link preview in notifications #910 · @deenle
- Fixcron editor rejects 6-field expressions with seconds #839 · @GiulioSavini
- Fixmirror Dockhand's ExtraHosts into scanner and self-update containers #836 · @YewFence
- Fixduplicate volume binds during container recreate #765 · @itsDNNS
- Fixlog timestamp formatting not applied on main logs page #882
- Fixuploaded files now inherit container user ownership #732 · @ivanjx
- Fixextraneous backslash in Telegram notification environment name #955
- Fixcollapse ports into ranges only if 3 or more consecutive ports
- Fixgit operations auto-merge system CAs with custom cert #967
Docker image:
fnsys/dockhand:v1.0.27
April 19, 2026
- Newpersist sort order across page navigation for all data grids #861 · #912
- Newshow git repository URL and branch in git stack edit modal #856
- Newshow memory limit alongside usage in containers and stacks views #893
- Newoption to delete associated volumes when removing a stack #655
- Newcollapse consecutive port mappings into ranges in container list #821
- Fixbearer token authentication fails with enterprise license active
- Fixclicking stack name toggles stats accordion instead of just opening editor #628
- Fixscheduled image prune notifications missing environment name #770
- FixGotify, ntfy, Pushover, and webhook notifications missing environment name #943
- FixMFA code field not recognized by Bitwarden and other password managers #566
Docker image:
fnsys/dockhand:v1.0.26
April 18, 2026
- NewAPI token authentication — Bearer tokens for CI/CD pipelines and scripts
- NewTelegram topic support — send notifications to supergroup topics #855
- Fixallow removing healthcheck, ports, and honor startAfterUpdate=false during container edit #892
- Fixvalidate stack names and prevent broken DB entries on invalid input #876
- Fixuse per-environment timezone for schedule execution log timestamps #882
- Fix"Pull image before update" and "Start after update" settings ignored #909
- Fiximage prune timeout on hawser-standard when pruning many images #905
- Fixbump Docker Compose to 5.1.3
- Fixmask secret environment variables in container inspect modal #924
- Fixviewer role can toggle, delete, and run schedules #923
- Fixsettings show defaults instead of saved values after login until page refresh #921
- Fixsettings toggle notifications show wrong state #931
- Fixstack memory tooltip shows inflated total on multi-container stacks #936
Docker image:
fnsys/dockhand:v1.0.25
April 3, 2026
- Fixbrowsing HTTP registries fails with SSL error #868
- Fixgit stack deploy options (build, re-pull, force redeploy) not persisted in edit dialog
Docker image:
fnsys/dockhand:v1.0.24
April 3, 2026
- Newtheme toggle with system option — auto-follows OS light/dark preference #803
- Newcustom user option for terminal shell sessions, persisted per container #830
- Newredeploy button for internal stacks with pull/build/force-recreate options #152
- Newbuild, re-pull images and force redeployment options for git stacks #792 · #472
- Fixallow underscores in hostname validation #790
- FixHTTPS git repos with self-signed CA certificates fail to clone/pull #842
- Fixstack restart fails for containers using network_mode: service:<container> — added recreate option #844
- Fixgit stack sync deletes data in relative volume paths #831
- Fixbatch update skips Hawser containers #485
- Fixregistry delete fails for multi-arch/OCI manifest images
- Fixscanner cache cleanup to prevent volume bloat #808
- Fixnegotiate Docker API version for scanner/updater sidecar containers #759
- Fixscan vulnerability counts mismatch with displayed list #705
Docker image:
fnsys/dockhand:v1.0.23
March 21, 2026
- Newdashboard list view with inline search and connection filters #740
- Newcustom environment icon #754
- Newshow +N indicator for containers with multiple IP addresses #644
- Newbundle all fonts locally for privacy and offline use #734
- Fixrespect PROXY settings when checking for container updates
- Fixgit stacks force-redeploy after a failed sync #693
- FixWhat's New modal shown before login, exposing version info #717
- Fixgit repository files not removed from disk on delete #671
- Fixrecursive chown at startup breaks stack volumes with different ownership #719
- Fixmissing notification event toggles for container healthy, image prune events #659
- Fixcontainer disappears when edit fails (e.g. invalid memory/swap) #736
- Fixregression: network container count always shows 0 #761
- FixGrype/Trivy scan containers don't inherit proxy env vars #780
- Fixpin vulnerability scanner images to specific versions not :latest
Docker image:
fnsys/dockhand:v1.0.22
March 13, 2026
- Newoption to truncate port list #702
- Newlog viewer supports ANSII 256 colors #743
- FixIPv6 Problems #714 · #731
- Fixpolling storm & mass disconnect #733 · #741
- Fixcustom cron schedule displayed incorrectly #727
- Fixwrong cron schedule #706
- Fixfile browser does not allow upload over 512 KB #687
- Fixcan't set memory swappiness when using Podman #691
- Fixcompose API negotiation fix #692 · #696
- Fixnot deployed git stacks continue to show the Down action #694
- Fixdisplay time doesn't reflect time zone #735
- Fixprune dangling images counter not working #718
- Fixown PORT env not used in HEALTHCHECK #745
Docker image:
fnsys/dockhand:v1.0.21
March 2, 2026
- Fixregression on Synology DSM
- FixFix ARM64 regression: Go collector crashing on Raspberry Pi and other ARM devices
- Fixautoupdate hangs on "waiting for Dockhand"
Docker image:
fnsys/dockhand:v1.0.20
March 1, 2026
- NewInline logs panel on stacks page — view container logs without leaving the page
- NewMake ports column sortable in containers grid
- NewStructured auth logging with client IP (login/logout/MFA/OIDC events)
- FixFix memory leak: TLS context accumulation for HTTPS environments (Bun)
- FixFix security scanning on Docker with custom logging drivers (Loki, Fluentd, etc.)
- FixFix grouped log viewer not auto-scrolling on new entries
- FixFix container recreation error messages not surfacing actual Docker errors
- FixFix LDAP group-to-role mapping
- FixFix container file browser hiding old files
- FixFix SSH key permission issues on NAS filesystems
- FixFix binary file corruption when syncing stacks to Hawser agents
- FixFix UI timeout issues for long running operations
Docker image:
fnsys/dockhand:v1.0.19
February 16, 2026
- NewDockhand self-update from the UI
- NewShow freed disk space after image removal and pruning
- NewHandle dynamically-spawned child containers in stack stop/down/restart/remove
- NewGit webhooks are logged to the audit log
- NewAdd Mattermost notification support
- NewConfigurable disk usage warning threshold per environment
- FixFix file upload CSRF 403 error on plain HTTP deployments
- FixFix scanner container /wait timeout causing empty scan output
- FixFix saving adopted external stack failing with 'Stack directory not found'
- FixAdd Bearer token auth support for ntfy notifications
- FixFix git SSH failing with 'No user exists for uid' with arbitrary UIDs
- FixFix command palette flooding API requests on open
- FixNormalize stack names when adopting to prevent uppercase rejection
- FixFix container update failing for shared network modes (container:<name>, host, none)
Docker image:
fnsys/dockhand:v1.0.18
February 9, 2026
- FixFix scanner failure on rootless Docker
- FixIncrease Hawser compose operation timeout
- FixFix regression in stack container updates
Docker image:
fnsys/dockhand:v1.0.17
February 9, 2026
- NewSupport Docker Compose override files when deploying stacks
- FixFix Hawser stack deploy failing when compose file not present on remote host
- FixFix Hawser Standard TLS test connection sending HTTP to HTTPS server
- FixFix .env variables not applied on save & redeploy
- FixFix single Hawser node failure cascading offline state to all environments
Docker image:
fnsys/dockhand:v1.0.16
February 8, 2026
- NewPull before update option: New option to pull latest image before container auto-update
- NewUsage filter on images page by usage status (used/unused/all)
- NewShow repository name for untagged images: Better identification of images without tags
- NewSort vulnerability scan results by severity by default
- NewCopy button for compose file contents in stack modal
- NewConfirmation dialog before git stack sync
- FixFix IPv6 address not accepted in environment Public IP field
- FixFix IPv6 port link URLs by adding bracket formatting
- FixFix custom compose filename not used in SSE deploy
- FixFix env var leakage from Dockhand to user stacks
- FixFix SMTP notification test returning false success
- FixFix custom compose file path ignored for Hawser git stack deployments
- FixFix escaped $$ variables (Docker Compose syntax) incorrectly flagged as missing
- FixUse native compose pull and up when updating stack containers
- FixFix vulnerability scans hanging indefinitely or failing with JSON parse errors
- FixFix memory leaks in SSE event streams and unconsumed Docker API response bodies
- FixFix timezone aliases (e.g. Europe/Kyiv) not saving correctly
- FixFix login crash with large session timeout values
- FixFix profile display name not persisting due to field name mismatch
- FixFix date formatting not respecting user preferences
- FixFix static IP not preserved during container auto-update
- FixFix stack adoption path conflict across different environments
- FixFix container auto-update causing permission denied on bind mounts
- FixFix health tab not showing healthcheck configuration
- FixFix stack custom paths reset after edit
- FixAutofocus on login username and MFA code fields
Docker image:
fnsys/dockhand:v1.0.15
January 31, 2026
- FixFix environment variables in .env not interpolated during remote deployment
- FixFix stack variables not re-injected during stack start/stop
- FixFix time format 12/24 setting not respected in header clock
- FixFix skip TLS verification not saved on new environment
Docker image:
fnsys/dockhand:v1.0.14
January 23, 2026
- NewAdd DISABLE_LOCAL_LOGIN env var to hide local password login when SSO/LDAP is configured
- NewAdd ntfy authentication support (user:pass @host/topic format)
- NewSortable health column in containers grid (unhealthy containers first)
- NewGPU device configuration in container create/edit/inspect
- NewEditor font setting with expanded monospace font options
- NewDedicated NFS/CIFS form fields in create volume modal
- NewScheduled image pruning per environment
- NewGit stack env populate button to preview overridable variables before deploy
- FixFix vulnerability scanning failing with rootless Docker
- FixHonor DATA_DIR env var in hawser SQLite operations
- FixShow detailed error messages when notification test fails
- FixFix compose file browse in create mode showing default path instead of selected file
- FixFix custom env file path not preserved in create mode
- FixFix git stacks creating duplicate compose.yaml alongside repo file
- FixFix env vars not showing after stack create
- FixFix stack path defaults accidentally enforced over custom paths
- FixFix adopted stack save & restart breaking paths and env vars
- FixAdd more information to container audit logs including diff of changes
- FixPreserve container settings on restart and auto-update
Docker image:
fnsys/dockhand:v1.0.13
January 22, 2026
- NewAdd SKIP_DF_COLLECTION env var to disable slow disk usage collection on NAS devices
- FixFix terminal/shell connections to direct TLS/mTLS and Hawser Standard environments
- FixFix crash when Hawser agent is stopped from Dockhand
- FixSkip auto-update for SHA-pinned images (image @sha256:...)
- FixFix pending updates not cleared when containers or stacks are deleted
- FixFix adopted stacks using wrong .env path from internal directory instead of original location
- FixImprove /login audit logs information
- FixFix login/logout screen refresh issue
- FixFix password change not persisting
- FixFix audit log page showing empty values
Docker image:
fnsys/dockhand:v1.0.12
January 20, 2026
- FixEncryption at rest for sensitive credentials (AES-256-GCM)
- FixFix registry browsing and image push for registries with organization paths (e.g., registry.example.com/org)
- FixFix security scan failing to parse scanner output
- FixFix git sync stuck with sync_status set to running if app restarted during stack sync
- FixFix updating via containers tab doesn't properly restart the container
Docker image:
fnsys/dockhand:v1.0.11
January 18, 2026
- FixFix docker socket access for custom PUID/PGID
- FixFix stack creation with deploy failing when no env vars provided
- FixFix env var validation flagging variables in commented lines as missing
- FixShow stop button for stacks in restart loop
Docker image:
fnsys/dockhand:v1.0.10
January 17, 2026
- NewShell: detect available shells in container before connecting
- NewAdd docker-buildx plugin to container image
- FixFix GHCR registry authentication with OAuth2 token flow
- FixAdd page titles for browser tab updates on navigation
- FixAdd stack name conflict warning
- FixFix relative paths not working for adopted/imported stacks
- FixFix TLS certificates not passed to docker-compose for direct connections
- FixFix registry queries for images with docker.io prefix
- FixFix compose editor issues when editing near env var references
- FixFix branch switching causing unknown revision error in git stacks
- FixFix SSE connection leak
Docker image:
fnsys/dockhand:v1.0.9
January 13, 2026
- FixFix imported stack working directory for relative volume paths
- FixFix environment refresh after auth login
- FixFix single container update clearing up all update badges
- FixFix code editor paste issue on Safari on iPad
- FixFix registry login failing due to Bun stdin API incompatibility
- FixFix env var editor focus issues
- FixFix git stack naming issues: validation, rename sync, and delete cleanup
Docker image:
fnsys/dockhand:v1.0.8
January 6, 2026
- NewAdopt stacks created outside Dockhand
- NewActivity event collection mode (Stream/Poll) and metrics interval settings for reduced CPU usage
- NewBaseline Docker images for CPUs without AVX support
- NewShow amber "Unused" badge for images not used by any container
- NewPrune unused button to remove all unused images (not just dangling)
- FixStack collision on disk - stacks are now saved in environment folders
- FixCheckbox selection delay in datagrid
- FixCrypto fallback for old Linux kernels (<3.17) that lack getrandom() syscall
- FixDashboard performance with many environments
- FixCan't use authenticated custom registry
- FixmTLS connections failing due to Bun TLS caching bug
Docker image:
fnsys/dockhand:v1.0.7
January 3, 2026
- FixLegacy CPU support (Celeron, Atom) - Bun binary now copied from official image instead of Wolfi package
- FixStack modal layouts improved with resizable split panels
- FixMissing column headers in images overview
Docker image:
fnsys/dockhand:v1.0.6
January 1, 2026
- NewCustom hardened image built from scratch using Wolfi packages, eliminating Alpine vulnerabilities
- NewClicking container name opens container details
- NewClicking stack name opens stack editor (internal stacks)
- NewStack env editor now supports freestyle text entry for pasting env contents
- NewStack env vars saved as .env file next to compose, respecting external edits
- NewAdditional container options: ulimits, security options, DNS settings
- FixDataGrid performance and memory leak on Activity page with thousands of rows
- FixWebhook endpoints bypass session authentication when auth is enabled
- FixPUID 1000 conflict with existing dockhand user in container
- FixGmail SMTP notification errors
- FixMore detailed error messages when stack fails to start
- FixContainer startup with user: directive in compose
- FixStack editor flickering when typing fast
- FixContainer unhealthy notifications not triggering
- FixtlsSkipVerify not being saved in environment settings
- FixMFA available to all users without enterprise license
- FixSocket proxy documentation and examples
- FixEdit container modal reloading during editing
Docker image:
fnsys/dockhand:v1.0.5
December 28, 2025
- NewTheme system with new light/dark themes and font customization
- NewGrid font size setting for data tables
- NewColumn visibility, reordering, and resizing (persisted per user or globally)
- NewAuto-update containers with per-environment checks, batch updates, and vulnerability blocking
- NewStack improvements: environment variables management and .env file support for git stacks
- NewVisual graph editor for Docker Compose stacks
- NewTimezone support for scheduled tasks
- NewImproved schedule execution history
- FixFix duplicate ports in expanded stack containers (IPv4/IPv6)
- FixFix registry seed crash when Docker Hub URL is modified
- FixFix null ports crash for Docker Desktop containers
- FixFix header layout overlap on small screens
- FixFix TLS/mTLS support for remote Docker hosts
- FixFix memory leaks (setTimeout cleanup, stream requests)
- FixFix Edge mode connection issues
- FixFix stack deletion with orphaned records
- FixFix container editing breaking Compose stack association
- FixMany other minor bug fixes and improvements
Docker image:
fnsys/dockhand:v1.0.4
December 18, 2025
- FixFix infinite toast loop when environment is offline
Docker image:
fnsys/dockhand:v1.0.3
December 17, 2025
- FixFix stack git repository selection
Docker image:
fnsys/dockhand:v1.0.2
December 17, 2025
- NewPublic IP field for environment config (container port clickable links)
- NewReleases are now also published with 'latest' tag
- FixServer-side auth enforcement fix
- FixDocker production build dependencies fix
- FixMemory metrics calculation for remote Docker hosts
- FixDashboard memory calculation (sum all containers memory usage)
- FixForm validation errors and error messages readability in dark theme
Docker image:
fnsys/dockhand:v1.0.1
December 16, 2025
- NewFirst public release of Dockhand
- NewReal-time container management (start, stop, restart, remove)
- NewContainer creation with advanced configuration (ports, volumes, env vars, labels)
- NewDocker Compose stack management with visual editor
- NewGit repository integration for stacks with webhooks and auto-sync
- NewImage management and registry browsing
- NewVulnerability scanning with Grype and Trivy
- NewContainer logs viewer with ANSI color rendering and auto-refresh
- NewInteractive shell terminal with xterm.js
- NewFile browser for containers and volumes
- NewMulti-environment support (local and remote Docker hosts)
- NewHawser agent for remote Docker management (Standard and Edge modes)
- NewNetwork and volume management
- NewDashboard with real-time metrics and activity tracking
- NewAuthentication with OIDC/SSO and local users
- NewSQLite and PostgreSQL database support
- NewNotification channels (SMTP, Apprise webhooks)
- NewContainer auto-update scheduling with vulnerability criteria
- NewEnterprise edition with LDAP, MFA, and RBAC
Docker image:
fnsys/dockhand:v1.0.0
December 14, 2025
- NewHawser agent support - manage remote Docker hosts behind NAT/firewall
- NewDashboard redesign with flexible tile sizes and real-time charts
- NewMulti-architecture Docker images (amd64 + arm64)
- FixVarious bug fixes and performance improvements
Docker image:
fnsys/dockhand:v0.9.2
December 10, 2025
- NewGit stack deployment with webhook triggers
- NewContainer auto-update scheduling
- FixFixed container logs not streaming on Edge environments
- FixFixed memory leak in metrics collection
Docker image:
fnsys/dockhand:v0.9.1