Release history

RSS

Track our progress and see what's new in each version. Spoiler: it gets better every time.

v1.0.55

Coming soon
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
October 17, 2026
  • 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
  • Fixremove the 1.0.52 PUID change that could alter stack file ownership on upgrade #1700 · #1701
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