)]}'
{
  "log": [
    {
      "commit": "950401cf07cf590e921d94ace7311977dd582a3c",
      "tree": "f9423313c9dd6b5c581ae7a5fdde900926e3b2b2",
      "parents": [
        "3ba1094cb11e0618e172d62bab6012bed67310cb",
        "d1920f0b2c3feed5999297b49572fb580f01eea3"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Wed Apr 08 10:49:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 10:49:00 2026"
      },
      "message": "Merge pull request #6920 from thaJeztah/bump_go1.26.2\n\nupdate to Go 1.26.2"
    },
    {
      "commit": "3ba1094cb11e0618e172d62bab6012bed67310cb",
      "tree": "b143f8cb9e777dab416fc9ad09cb103bdbe36419",
      "parents": [
        "9d7ad9ff180b43ae5577d048a7bac1159ce7bacf",
        "b23c1a2d76741f4e30449a20ec632fd837c19bf3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Tue Apr 07 23:03:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 23:03:53 2026"
      },
      "message": "Merge pull request #6915 from docker/dependabot/github_actions/github/codeql-action-4.35.1\n\nbuild(deps): bump github/codeql-action from 4.34.1 to 4.35.1"
    },
    {
      "commit": "d1920f0b2c3feed5999297b49572fb580f01eea3",
      "tree": "a71c27d05adc61f4f0c3e11b63289621c9e12746",
      "parents": [
        "9d7ad9ff180b43ae5577d048a7bac1159ce7bacf"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Apr 07 22:45:45 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Apr 07 22:45:45 2026"
      },
      "message": "update to Go 1.26.2\n\ngo1.26.2 (released 2026-04-07) includes security fixes to the go command,\nthe compiler, and the archive/tar, crypto/tls, crypto/x509, html/template,\nand os packages, as well as bug fixes to the go command, the go fix command,\nthe compiler, the linker, the runtime, and the net, net/http, and net/url\npackages. See the Go 1.26.2 milestone on our issue tracker for details;\n\n- https://github.com/golang/go/issues?q\u003dmilestone%3AGo1.26.2+label%3ACherryPickApproved\n- full diff: https://github.com/golang/go/compare/go1.26.1...go1.26.2\n\nFrom the security announce:\n\nWe have just released Go versions 1.26.2 and 1.25.9, minor point releases.\n\nThese releases include 10 security fixes following the security policy:\n\n- os: Root.Chmod can follow symlinks out of the root on Linux\n\n  On Linux, if the target of Root.Chmod is replaced with a symlink while\n  the chmod operation is in progress, Chmod could operate on the target\n  of the symlink, even when the target lies outside the root.\n\n  The Linux fchmodat syscall silently ignores the AT_SYMLINK_NOFOLLOW flag,\n  which Root.Chmod uses to avoid symlink traversal. Root.Chmod checks its\n  target before acting and returns an error if the target is a symlink\n  lying outside the root, so the impact is limited to cases where the\n  target is replaced with a symlink between the check and operation.\n\n  On Linux, Root.Chmod now uses the fchmodat2 syscall when available, and\n  an workaround using /proc/self/fd otherwise.\n\n  Thanks to Uuganbayar Lkhamsuren for reporting this issue.\n\n  This is CVE-2026-32282 and Go issue https://go.dev/issue/78293.\n\n- html/template: JS template literal context incorrectly tracked\n\n  Context was not properly tracked across template branches for JS template\n  literals, leading to possibly incorrect escaping of content when branches were\n  used.\n\n  Additionally template actions within JS template literals did not properly\n  track\n  the brace depth, leading to incorrect escaping being applied.\n\n  These issues could cause actions within JS template literals to be incorrectly\n  or improperly escaped, leading to XSS vulnerabilities.\n\n  This only affects templates that use template actions within JS template\n  literals.\n\n  This is CVE-2026-32289 and Go issue https://go.dev/issue/78331.\n\n- crypto/x509: excluded DNS constraints not properly applied to wildcard domains\n\n  When verifying a certificate chain containing excluded DNS constraints, these\n  constraints are not correctly applied to wildcard DNS SANs which use a\n  different\n  case than the constraint.\n\n  For example, if a certificate contains the DNS name \"*.example.com\" and the\n  excluded DNS name \"EXAMPLE.COM\", the constraint will not be applied.\n\n  This only affects validation of otherwise trusted certificate chains, issued\n  by\n  a root CA in the VerifyOptions.Roots CertPool, or in the system certificate\n  pool.\n\n  This issue only affects Go 1.26.\n\n  Thank you to Riyas from Saintgits College of Engineering, k1rnt, @1seal for\n  reporting this issue.\n\n  This is CVE-2026-33810 and Go issue https://go.dev/issue/78332.\n\n- cmd/compile: no-op interface conversion bypasses overlap checking\n\n  Previously, the compiler failed to unwrap pointers contained within\n  a no-op interface conversion leading to an incorrect determination\n  of a non-overlapping move.\n\n  To prevent unsafe move operations, the compiler will now unwrap all\n  such conversions before considering a move non-overlapping.\n\n  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.\n\n  This is CVE-2026-27144 and Go issue https://go.dev/issue/78371.\n\n- cmd/compile: possible memory corruption after bound check elimination\n\n  Previously, slices and arrays accessed using induction variables\n  were sometimes incorrectly proved in-bound. If the induction variable\n  used for indexing were to overflow or underflow, it could allow access\n  to memory beyond the scope of the original slice or array.\n\n  To prevent this behavior, the compiler ensures that any mutated induction\n  variable that overflows/underflows with respect to its loop condition\n  is not used for bound check elimination.\n\n  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.\n\n  This is CVE-2026-27143 and Go issue https://go.dev/issue/78333.\n\n- archive/tar: unbounded allocation when parsing old format GNU sparse map\n\n  tar.Reader could allocate an unbounded amount of memory when reading\n  a maliciously-crafted archive containing a large number of sparse\n  regions encoded in the \"old GNU sparse map\" format.\n\n  We now limit both the number of old GNU sparse map extension blocks,\n  and the total number of sparse file entries, regardless of encoding.\n\n  Thanks to Colin Walters (wal...@verbum.org) who initially reported this issue.\n  Thanks also to Uuganbayar Lkhamsuren (https://github.com/uug4na) and Jakub\n  Ciolek\n  who additionally reported this issue.\n\n  This is CVE-2026-32288 and Go issue https://go.dev/issue/78301.\n\n- crypto/tls: multiple key update handshake messages can cause connection to\n  deadlock\n\n  If one side of the TLS connection sends multiple key update messages\n  post-handshake in a single record, the connection can deadlock, causing\n  uncontrolled consumption of resources. This can lead to a denial of service.\n\n  This only affects TLS 1.3.\n\n  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.\n\n  This is CVE-2026-32283 and Go issue https://go.dev/issue/78334.\n\n- cmd/go: trust layer bypass when using cgo and SWIG\n\n  A well-crafted SWIG source file could take advantage\n  of a file-naming convention used inside the trust\n  boundary of the cgo compiler. Doing so could result\n  in arbitrary code execution during build time.\n\n  SWIG files are disallowed from using this convention.\n\n  Thank you to Juho Forsén of Mattermost for reporting this issue.\n\n  This is CVE-2026-27140 and Go issue https://go.dev/issue/78335.\n\n- crypto/x509: unexpected work during chain building\n\n  During chain building, the amount of work that is done is not correctly\n  limited\n  when a large number of intermediate certificates are passed in\n  VerifyOptions.Intermediates, which can lead to a denial of service. This\n  affects\n  both direct users of crypto/x509 and users of crypto/tls.\n\n  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.\n\n  This is CVE-2026-32280 and Go issue https://go.dev/issue/78282.\n\n- crypto/x509: inefficient policy validation\n\n  Validating certificate chains which use policies is unexpectedly inefficient\n  when certificates in the chain contain a very large number of policy mappings,\n  possibly causing denial of service.\n\n  This only affects validation of otherwise trusted certificate chains, issued\n  by\n  a root CA in the VerifyOptions.Roots CertPool, or in the system certificate\n  pool.\n\n  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.\n\n  This is CVE-2026-32281 and Go issue https://go.dev/issue/78281.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "b23c1a2d76741f4e30449a20ec632fd837c19bf3",
      "tree": "b143f8cb9e777dab416fc9ad09cb103bdbe36419",
      "parents": [
        "9d7ad9ff180b43ae5577d048a7bac1159ce7bacf"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 06 08:45:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 08:45:04 2026"
      },
      "message": "build(deps): bump github/codeql-action from 4.34.1 to 4.35.1\n\nBumps [github/codeql-action](https://github.com/github/codeql-action) from 4.34.1 to 4.35.1.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/38697555549f1db7851b81482ff19f1fa5c4fedc...c10b8064de6f491fea524254123dbe5e09572f13)\n\n---\nupdated-dependencies:\n- dependency-name: github/codeql-action\n  dependency-version: 4.35.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "9d7ad9ff180b43ae5577d048a7bac1159ce7bacf",
      "tree": "4109c08255a5b0779c0dc943051c04d98784ff41",
      "parents": [
        "84b884f383a427627ea2c40c1a31905cd958384f",
        "c88681f8d89a9dd1f24f7bbd4df947aed2e4faf3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Apr 03 14:24:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 14:24:17 2026"
      },
      "message": "Merge pull request #6911 from thaJeztah/bump_modules\n\nvendor: moby/api v1.54.1, moby/client v0.4.0"
    },
    {
      "commit": "c88681f8d89a9dd1f24f7bbd4df947aed2e4faf3",
      "tree": "4109c08255a5b0779c0dc943051c04d98784ff41",
      "parents": [
        "84b884f383a427627ea2c40c1a31905cd958384f"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 13:27:15 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 13:54:11 2026"
      },
      "message": "vendor: moby/api v1.54.1, moby/client v0.4.0\n\nfull diffs:\n\n- https://github.com/moby/moby/compare/ef0a1e449505...api/v1.54.1\n- https://github.com/moby/moby/compare/ef0a1e449505...client/v0.4.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "84b884f383a427627ea2c40c1a31905cd958384f",
      "tree": "d925351312ff6b521683570bdc8c8d970890974b",
      "parents": [
        "d6169a5ea986d888d0e8c51c9c891d774aa7657b",
        "a347d9e103f0be3170dc18d0ec77e788c7fe9749"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 11:53:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 11:53:21 2026"
      },
      "message": "Merge pull request #6909 from thaJeztah/update_authors_mailmap\n\nupdate AUTHORS and .mailmap"
    },
    {
      "commit": "d6169a5ea986d888d0e8c51c9c891d774aa7657b",
      "tree": "3dba37c66e34a76e811590d866c9e34c01b1d721",
      "parents": [
        "699b029b57bc31f2a0c5ecff00f89493b2448047",
        "5ddc1553ae6d435203f40f7bf622062df246071a"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 11:46:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 11:46:49 2026"
      },
      "message": "Merge pull request #6910 from thaJeztah/update_version\n\nbump version to v29.4.0-dev"
    },
    {
      "commit": "5ddc1553ae6d435203f40f7bf622062df246071a",
      "tree": "3dba37c66e34a76e811590d866c9e34c01b1d721",
      "parents": [
        "699b029b57bc31f2a0c5ecff00f89493b2448047"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 11:28:17 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 11:28:17 2026"
      },
      "message": "bump version to v29.4.0-dev\n\nThis file is only used as default if no version is specified. We\nshould probably get rid of this, but let\u0027s update it to better\nreflect the version that developer builds are building.\n\nhttps://github.com/docker/cli/blob/d48fb9f9f7bdb6e0ef37dbde68612a1704cad46e/docker.Makefile#L22\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "a347d9e103f0be3170dc18d0ec77e788c7fe9749",
      "tree": "d982d6b57c124f6ed1244b285bae38c44da9ec1e",
      "parents": [
        "699b029b57bc31f2a0c5ecff00f89493b2448047"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 11:26:29 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 11:26:29 2026"
      },
      "message": "update AUTHORS and .mailmap\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "699b029b57bc31f2a0c5ecff00f89493b2448047",
      "tree": "09137221e09ec54ae9c2ce489228ffca7c76c334",
      "parents": [
        "512607a39638c961cff762c3239b3d1127e25e16",
        "5fca671ef4110b2bebce70be06a1d41241933871"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Apr 03 10:58:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:58:59 2026"
      },
      "message": "Merge pull request #6908 from thaJeztah/bump_runewidth\n\nvendor: github.com/mattn/go-runewidth v0.0.22"
    },
    {
      "commit": "512607a39638c961cff762c3239b3d1127e25e16",
      "tree": "cd5cc92634c5d732bf8694c75ef3a876c85b9023",
      "parents": [
        "753b10228f353c3a8cd90e7e0292ee732798e8d5",
        "d573c171fe9d2eac1146134ae81ec9a27141e764"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 10:53:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:53:43 2026"
      },
      "message": "Merge pull request #6889 from YoanWai/docs/prune-filter-behavior\n\ndocs: clarify multiple --filter behavior in prune commands"
    },
    {
      "commit": "5fca671ef4110b2bebce70be06a1d41241933871",
      "tree": "4170c94df63c637197e70ce75ac5b0f6216ec637",
      "parents": [
        "753b10228f353c3a8cd90e7e0292ee732798e8d5"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 10:53:08 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 10:53:08 2026"
      },
      "message": "vendor: github.com/mattn/go-runewidth v0.0.22\n\nfull diff: https://github.com/mattn/go-runewidth/compare/v0.0.21...v0.0.22\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "753b10228f353c3a8cd90e7e0292ee732798e8d5",
      "tree": "bb85a1ad78a2cd203f4eade172d1c5748e5e2efd",
      "parents": [
        "7d4f9bd581f708c61b0f8df1afcd0e8fa6a740eb",
        "42da40a6052c4d2a6a420c31e08c87f692994890"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 10:49:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:49:36 2026"
      },
      "message": "Merge pull request #6893 from thaJeztah/bump_moby\n\nvendor: moby/client and moby/api master"
    },
    {
      "commit": "42da40a6052c4d2a6a420c31e08c87f692994890",
      "tree": "bb85a1ad78a2cd203f4eade172d1c5748e5e2efd",
      "parents": [
        "7d4f9bd581f708c61b0f8df1afcd0e8fa6a740eb"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 30 13:49:46 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Apr 03 10:44:53 2026"
      },
      "message": "vendor: moby/client and moby/api master\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "7d4f9bd581f708c61b0f8df1afcd0e8fa6a740eb",
      "tree": "87c8dd41761de1f385e28c65cb8f64e7890183c4",
      "parents": [
        "2daa2c31e8d09d25f3fa4f622351de6473f88ecd",
        "9c117d3c5d28c115366a7dcd848eab1920702cdf"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 10:37:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:37:11 2026"
      },
      "message": "Merge pull request #6872 from thaJeztah/link_completions\n\nshell completions: add shell completion for `docker rm --link` and exclude legacy links for container names"
    },
    {
      "commit": "2daa2c31e8d09d25f3fa4f622351de6473f88ecd",
      "tree": "2d6ddba51256284cf176f5e4af3dc847e465c46d",
      "parents": [
        "d8a85fba271606ff9db48f1ee67e7f8539f6422e",
        "e7cbaafa9dc2c5f6103f72e308666ee957221b7b"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 10:34:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:34:04 2026"
      },
      "message": "Merge pull request #6876 from thaJeztah/stats_optimize\n\ndocker stats: assorted fixes and optimizations in rendering"
    },
    {
      "commit": "d8a85fba271606ff9db48f1ee67e7f8539f6422e",
      "tree": "8c4e8dc497347f6c70995481a1d4f704251c1d36",
      "parents": [
        "efddff6549488a1b29f1cb5d52dc455cf9415265",
        "b309524f60e502713270b73f6794010f6e6fdf6d"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 10:32:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:32:39 2026"
      },
      "message": "Merge pull request #6875 from thaJeztah/optimize_formatter\n\ncli/command/formatter: assorted fixes and cleanups"
    },
    {
      "commit": "efddff6549488a1b29f1cb5d52dc455cf9415265",
      "tree": "2f4257f51c0c00c68733be60700465b131d89920",
      "parents": [
        "72beec9840c6a60037a6cd77d567e7227e8e232a",
        "0029d5936a298b4c04d5f917f85b7925a3ea2b82"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Apr 03 10:32:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:32:27 2026"
      },
      "message": "Merge pull request #6907 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0\n\nbuild(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0"
    },
    {
      "commit": "72beec9840c6a60037a6cd77d567e7227e8e232a",
      "tree": "928a25dd1d2b7e6d07b9aa33031e20799a2420ed",
      "parents": [
        "2cc9fe143826706187f4004e728851f61d76b98c",
        "94d4929a042637b804a587cc822a042683be72d7"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Fri Apr 03 10:29:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:29:30 2026"
      },
      "message": "Merge pull request #6906 from thaJeztah/stream_preserve_file\n\ncli/streams: Out, In: preserve original os.File when available"
    },
    {
      "commit": "0029d5936a298b4c04d5f917f85b7925a3ea2b82",
      "tree": "f8e91b2b66fb6fab166f9f127a1e4cc0bd3d6ea6",
      "parents": [
        "2cc9fe143826706187f4004e728851f61d76b98c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Apr 03 08:44:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 08:44:33 2026"
      },
      "message": "build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0\n\nBumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)\n\n---\nupdated-dependencies:\n- dependency-name: codecov/codecov-action\n  dependency-version: 6.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "e7cbaafa9dc2c5f6103f72e308666ee957221b7b",
      "tree": "adc4e93a124ae7343a9c26e37594649b53a7aefd",
      "parents": [
        "c44a4d975838fa573f3df9a16bf6546296926c84"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 08:54:30 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 20:00:04 2026"
      },
      "message": "cli/command/container: statsFormatWrite: inline render func\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "c44a4d975838fa573f3df9a16bf6546296926c84",
      "tree": "170cc009c935864851e8568e8ddd4c5cf1213adf",
      "parents": [
        "d92d1187fc74b590a6a6fff4e1a5c773c4be15cd"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 19:56:31 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 19:59:49 2026"
      },
      "message": "cli/command/container: RunStats: avoid bytes to strings conversions\n\nThis code is using a `bytes.Buffer` to render the stats, before writing\nthe results to the CLI\u0027s output. Let\u0027s try to use bytes where possible\ninstead of converting to a string;\n\n- Use the buffer\u0027s `Write` (and `Out().Write`) to write directly to the\n  buffer/writer where possible.\n- Use `io.WriteString` instead of `fmt.Printf`\n- Use `bytes.SplitSeq` instead of `strings.SplitSeq`\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "d92d1187fc74b590a6a6fff4e1a5c773c4be15cd",
      "tree": "7a6b30665148cbd43410d7ffc6e13759587ac185",
      "parents": [
        "ee88c60a5e5b5a9a51752547b6a8d0622bdfbaf9"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 17:45:41 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 19:59:10 2026"
      },
      "message": "cli/command/container: RunStats: rename buffer var for brevity\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "ee88c60a5e5b5a9a51752547b6a8d0622bdfbaf9",
      "tree": "ebfe400b1ac36b46f30ca57b0568fb5ff66e81f9",
      "parents": [
        "4c5efd61ead2284fcdc5b09e0117c487401af530"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 15:06:13 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 19:59:05 2026"
      },
      "message": "cli/command/container: stats: add snapshot method\n\nMove logic to capture a snapshot of the current stats to the stats struct.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "4c5efd61ead2284fcdc5b09e0117c487401af530",
      "tree": "1c2003f1debfd1373d15d85029988f1c0ba48068",
      "parents": [
        "2cc9fe143826706187f4004e728851f61d76b98c"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 11:46:28 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 19:50:31 2026"
      },
      "message": "cli/command/container: fix buffer reuse when printing stats\n\nDon\u0027t write lines back into the same buffer that\u0027s being read from when\nclearing lines; add a separate output buffer to construct the output,\nthen write it to the CLI\u0027s output at once (to prevent terminal flicker).\n\nRelates to / introduced in cb2f95ceee76c7166e95ec1b59c3e2fbac9b0079.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "b309524f60e502713270b73f6794010f6e6fdf6d",
      "tree": "f1d3e9749016c2708f151900824ca811dd869011",
      "parents": [
        "abd2e211b96fee7286448c0e6756cb0d0d4260e3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 12:22:33 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 19:11:48 2026"
      },
      "message": "cli/command/formatter: NewStats: update GoDoc and add TODO\n\nUpdate the GoDoc to better align with the actual implementation. The\n\"idOrName\" is used for fuzzy-matching the container, which can result\nin multiple stats for the same container:\n\n    docker ps --format \u0027table {{.ID}}\\t{{.Names}}\u0027\n    CONTAINER ID   NAMES\n    b49e6c21d12e   quizzical_maxwell\n\n    docker stats --no-stream quizzical_maxwell b49e6c21d12e b49e6\n    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O        PIDS\n    b49e6c21d12e   quizzical_maxwell   0.10%     140.8MiB / 7.653GiB   1.80%     3.11MB / 13.4kB   115MB / 1.12MB   28\n    b49e6c21d12e   quizzical_maxwell   0.10%     140.8MiB / 7.653GiB   1.80%     3.11MB / 13.4kB   115MB / 1.12MB   28\n    b49e6c21d12e   quizzical_maxwell   0.10%     140.8MiB / 7.653GiB   1.80%     3.11MB / 13.4kB   115MB / 1.12MB   28\n\nWe should resolve the canonical ID once, then use that as reference\nto prevent duplicates. Various  parts in the code compare Container\nagainst \"ID\" only (not considering \"name\" or \"ID-prefix\").\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "abd2e211b96fee7286448c0e6756cb0d0d4260e3",
      "tree": "d7c7727695c49f1b55d5486b0a467bd07c3d2784",
      "parents": [
        "cb615a9772dd917af327bebcb75c7dc738eafb62"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 11:03:33 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 19:11:40 2026"
      },
      "message": "cli/command/formatter: add Format.templateString, remove Context.preFormat\n\nThe `Context.preFormat` method normalizes the Format as given by the user,\nand handles (e.g.) stripping the \"table\" prefix and replacing the \"json\"\nformat for the actual format (`{{json .}}`).\n\nThe method used a `finalFormat` field on the Context as intermediate,\nand was required to be called before executing the format.\n\nThis patch adds a `Format.templateString()` method that returns the\nparsed format instead of storing it on the Context. It is currently\nnot exported, but something we could consider in future.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "cb615a9772dd917af327bebcb75c7dc738eafb62",
      "tree": "a26b5ecf6a1c024ae3a24ae482188d41afaf5e44",
      "parents": [
        "f7a909d56b665af7c4a780670d6fac0d1049d146"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 10:11:58 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 18:59:30 2026"
      },
      "message": "cli/command/formatter: Context.postFormat: remove redundant buffer\n\nA tabwriter is backed by a buffer already, because it needs to re-flow columns\nbased on content written to it. This buffer was added in [moby@ea61dac9e6] as\npart of a new feature to allow for custom delimiters; neither the patch, nor\ncode-review on the PR mention the extra buffer, so it likely was just overlooked.\n\nThis patch;\n\n- removes the redundant buffer\n- adds an early return for cases where no tabwriter is used.\n\n[moby@ea61dac9e6]: https://github.com/moby/moby/commit/ea61dac9e6d04879445f9c34729055ac1bb15050\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "f7a909d56b665af7c4a780670d6fac0d1049d146",
      "tree": "494a83eb88146af9ef93f99a20ef0fc236544169",
      "parents": [
        "2cc9fe143826706187f4004e728851f61d76b98c"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 22:54:18 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 18:59:29 2026"
      },
      "message": "cli/command/formatter: optimize ContainerContext.Names\n\nOptimize formatting of container name(s);\n\n- Inline `StripNamePrefix` in the loop, so that we don\u0027t have to\n  construct a new slice with names (in most cases only to pick\n  the first one).\n- Don\u0027t use `strings.Split`, as it allocates a new slice and we only\n  used it to check if the container-name was a legacy-link (contained\n  slashes).\n- Use a string-builder to concatenate names when not truncating instead\n  of using an intermediate slice (and `strings.Join`).\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "94d4929a042637b804a587cc822a042683be72d7",
      "tree": "928a25dd1d2b7e6d07b9aa33031e20799a2420ed",
      "parents": [
        "2cc9fe143826706187f4004e728851f61d76b98c"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Feb 08 14:28:02 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 18:52:30 2026"
      },
      "message": "cli/streams: Out, In: preserve original os.File when available\n\nPreserve the original *os.File, if available, and add a File() method\nto return it.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "2cc9fe143826706187f4004e728851f61d76b98c",
      "tree": "d66660c5cb1fce9c9d9fde90a322bbc3d26696be",
      "parents": [
        "38e44e412519b8ee572cee0e51045dac99373198",
        "526dfffc26f355e2ecd0298212c99d265ef1d8de"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Thu Apr 02 18:52:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 18:52:06 2026"
      },
      "message": "Merge pull request #6900 from thaJeztah/cli_stream_cleanups\n\ncli/streams: assorted cleanups"
    },
    {
      "commit": "38e44e412519b8ee572cee0e51045dac99373198",
      "tree": "315b85808fb2896885f7309cbaa0c5e2a2b4b0da",
      "parents": [
        "7639343b30a683f157d02013fc8638af9bc93449",
        "6e1f03c2e0dedc29ea71a044eb204e86ce5e5f3d"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 16:15:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 16:15:34 2026"
      },
      "message": "Merge pull request #6905 from thaJeztah/bump_trust_deps\n\ncmd/docker-trust: bump dependencies"
    },
    {
      "commit": "526dfffc26f355e2ecd0298212c99d265ef1d8de",
      "tree": "8a8c377391fff6d50f3dde42f9e9f2e695893e0d",
      "parents": [
        "48721c2340315c2ded2a4a21605e4269ab54e727"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Apr 01 13:16:04 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 16:11:50 2026"
      },
      "message": "cli/streams: simplify CheckTty\n\nThis function is very specific to attaching to containers, and probably\nhelps clarity to inline it where used.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "48721c2340315c2ded2a4a21605e4269ab54e727",
      "tree": "64e67479224838c7174644301c6ffe68419c7501",
      "parents": [
        "39e82e6524ab0897cd1ca3aa454bc158cc4a5494"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Apr 01 10:07:34 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 15:29:55 2026"
      },
      "message": "cli/streams: don\u0027t depend on embedding\n\nDefine explicit wrapper methods instead of depending on the embedded\ncommonStreams struct.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "39e82e6524ab0897cd1ca3aa454bc158cc4a5494",
      "tree": "2b6b252157297f0da5f33e5bb38949ce6736ff20",
      "parents": [
        "34805dd0135ab26a1dc1cf68e4f46fdbb34ee522"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Feb 08 14:45:59 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 15:29:55 2026"
      },
      "message": "cli/streams: move constructors to the start\n\nIt\u0027s more idiomatic to define the constructor before methods.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "34805dd0135ab26a1dc1cf68e4f46fdbb34ee522",
      "tree": "f653a5d8cf2d994fe12aee6ec8700fc7afed361e",
      "parents": [
        "7639343b30a683f157d02013fc8638af9bc93449"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Feb 09 08:48:40 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 15:29:55 2026"
      },
      "message": "cli/streams: (In|Out).SetRawTerminal: dry\n\nMove the code to the commonStream type, which is where the actual\nstate field is kept.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "6e1f03c2e0dedc29ea71a044eb204e86ce5e5f3d",
      "tree": "315b85808fb2896885f7309cbaa0c5e2a2b4b0da",
      "parents": [
        "7639343b30a683f157d02013fc8638af9bc93449"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 02 14:29:39 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 15:06:57 2026"
      },
      "message": "cmd/docker-trust: bump dependencies\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "7639343b30a683f157d02013fc8638af9bc93449",
      "tree": "c87cb990059e303a92f7eb14d82adc60cd7488f5",
      "parents": [
        "fbfb69f7e9b4ccdcb4e1d712949cd70bc040269d",
        "87a222158d955565e9af7ddc9b25480d6f0cb3f4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Thu Apr 02 13:42:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 13:42:59 2026"
      },
      "message": "Merge pull request #6867 from docker/update-swarm-docs\n\nUpdated example tokens in swarm docs"
    },
    {
      "commit": "87a222158d955565e9af7ddc9b25480d6f0cb3f4",
      "tree": "c87cb990059e303a92f7eb14d82adc60cd7488f5",
      "parents": [
        "fbfb69f7e9b4ccdcb4e1d712949cd70bc040269d"
      ],
      "author": {
        "name": "Alexandre Vallières-Lagacé",
        "email": "alexandre.valliereslagace@docker.com",
        "time": "Wed Mar 18 19:05:40 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 13:25:16 2026"
      },
      "message": "Updated example tokens in swarm docs\n\nPrevent security scanners from detecting them as eaked secrets.\n\nCo-authored-by: David Karlsson \u003c35727626+dvdksn@users.noreply.github.com\u003e\nSigned-off-by: Alexandre Vallières-Lagacé \u003calexandre.valliereslagace@docker.com\u003e\nSigned-off-by: Alexandre Vallières-Lagacé \u003calexandre@vallier.es\u003e\n"
    },
    {
      "commit": "fbfb69f7e9b4ccdcb4e1d712949cd70bc040269d",
      "tree": "83fa53250e7b06aa297864854f082a88b0355f61",
      "parents": [
        "424955ddf724e1d2d70e885adfc9380ab5702026",
        "64c8d6804546bee61ed8f20d821079f409754c85"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 11:51:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 11:51:17 2026"
      },
      "message": "Merge pull request #6873 from thaJeztah/simplify_chips\n\ncli/command/image: getPossibleChips: simplify"
    },
    {
      "commit": "424955ddf724e1d2d70e885adfc9380ab5702026",
      "tree": "b3a1df63ad4ac24dfdc93cc15af1b050de5a7605",
      "parents": [
        "bbb6311c09b2e2c02e7acf17dd05b61ab210954d",
        "98d978df6b9fbbbde26670a736c4f9ba04733963"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 11:43:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 11:43:10 2026"
      },
      "message": "Merge pull request #6904 from thaJeztah/bump_otels\n\nvendor: go.opentelemetry.io/otel v1.42.0, otel/contrib v1.67.0"
    },
    {
      "commit": "bbb6311c09b2e2c02e7acf17dd05b61ab210954d",
      "tree": "24773eb32f4592633d5e9d2201e847c61035f3eb",
      "parents": [
        "48afa03bba4129d91290c69621605bfc385c5c34",
        "a48ff6b591f4678d7c4262f66508a7611c3f94bd"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 11:41:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 11:41:27 2026"
      },
      "message": "Merge pull request #6871 from thaJeztah/completions_no_dups\n\ncli/command/completion: don\u0027t provide duplicate completions"
    },
    {
      "commit": "48afa03bba4129d91290c69621605bfc385c5c34",
      "tree": "47214ca44418f4ba138c1816bf9aaac7e1de376e",
      "parents": [
        "12b8ca44068f2135daf96e2048a7df090d55fa8e",
        "2bc4307816ff1f3ee38a36f45b978e5af3b3c7e2"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Thu Apr 02 10:54:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 10:54:38 2026"
      },
      "message": "Merge pull request #6878 from zampani-docker/zampani/fix-plugin-force-exit-race\n\nfix(cmd/docker): prevent race between force-exit goroutine and plugin wait"
    },
    {
      "commit": "98d978df6b9fbbbde26670a736c4f9ba04733963",
      "tree": "7348bd3e02622070190b8913b5e1c19f9e6ab44f",
      "parents": [
        "12b8ca44068f2135daf96e2048a7df090d55fa8e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 10:51:19 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 10:51:19 2026"
      },
      "message": "vendor: go.opentelemetry.io/otel v1.42.0, otel/contrib v1.67.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "a48ff6b591f4678d7c4262f66508a7611c3f94bd",
      "tree": "7b80b12e5a3956dad71b9447814d8fd4cfe79b50",
      "parents": [
        "12b8ca44068f2135daf96e2048a7df090d55fa8e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 16:14:37 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 10:46:41 2026"
      },
      "message": "cli/command/completion: don\u0027t provide duplicate completions\n\nWhen completing for commands that accept multiple arguments, we did\nnot remove suggestions that were already consumed. This could be\nconfusing if there was only 1 suggestion, in which case every `\u003ctab\u003e`\nwould automatically suggest the same name again:\n\ndocker rm -fv magical_lumiere magical_lumiere  magical_lumiere\n\nThis patch adds a \"Unique\" helper to wrap a completion func to remove\ncompletion results that are already consumed (i.e., appear in \"args\").\n\nFor example:\n\n    # initial completion: args is empty, so all results are shown\n    command \u003ctab\u003e\n    one two three\n\n    # \"one\" is already used so omitted\n    command one \u003ctab\u003e\n    two three\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "12b8ca44068f2135daf96e2048a7df090d55fa8e",
      "tree": "ccc2fafce1d7468573a8debe15b41765516e2e03",
      "parents": [
        "dc9b6e553e3915e296178c042663c8317f1c310e",
        "ea74248e8e4590e274e81ec9a6310ae14320f280"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 10:34:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 10:34:14 2026"
      },
      "message": "Merge pull request #6901 from thaJeztah/modernize\n\ncli/command/formatter: modernize"
    },
    {
      "commit": "dc9b6e553e3915e296178c042663c8317f1c310e",
      "tree": "215d554afebae1b07bcfe7246120c3d93366fe3d",
      "parents": [
        "f4d2906b567b0a01d56d0faf08d115059896b57d",
        "dfda342e51c134135b25e70c7893998fe0451fcc"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 09:42:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:42:31 2026"
      },
      "message": "Merge pull request #6874 from thaJeztah/future_proof_prefix\n\nformatting: only strip \"/\" prefixes"
    },
    {
      "commit": "f4d2906b567b0a01d56d0faf08d115059896b57d",
      "tree": "b42283e39e39160a52a9edebd248fbed5638e7ad",
      "parents": [
        "69989872570086ea70bba1d5a91e4fbe1132e3a1",
        "e660030f3af6e5d34a7304db09d431b21244bb31"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 09:40:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:40:50 2026"
      },
      "message": "Merge pull request #6894 from Rohan5commit/docs/fix-run-following-typo-20260331\n\ndocs: fix typo in run reference examples"
    },
    {
      "commit": "69989872570086ea70bba1d5a91e4fbe1132e3a1",
      "tree": "41fbff02d496528f735b65a77fcf6104af5a8a32",
      "parents": [
        "5e856302bfeb930fcd585a570e9776361e3157c9",
        "968ad0ea6c60d035275153f09c1f947a2ec5d20d"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 09:39:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:39:38 2026"
      },
      "message": "Merge pull request #6866 from thaJeztah/bump_x_deps\n\nvendor: update golang.org/x/* dependencies"
    },
    {
      "commit": "5e856302bfeb930fcd585a570e9776361e3157c9",
      "tree": "22ae84bc04797af0eeec024ae0059ac6196cb4b0",
      "parents": [
        "253dc626581815759bd93f6fcf79865d07542a3c",
        "5efed5fa3054ce2d183c6b580cbaae12669ea291"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 09:37:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:37:51 2026"
      },
      "message": "Merge pull request #6899 from thaJeztah/bump_compress\n\nvendor: github.com/klauspost/compress v1.18.5"
    },
    {
      "commit": "253dc626581815759bd93f6fcf79865d07542a3c",
      "tree": "b6d971c646cea519b57b4fc783e7b212887ba184",
      "parents": [
        "a9ea8b23faf6e73bfa01db32f064afdd144e3ea2",
        "091afa495787289b692b4da26167b8f934f211cc"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 09:36:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:36:52 2026"
      },
      "message": "Merge pull request #6903 from thaJeztah/bump_jose\n\nvendor: github.com/go-jose/go-jose/v4 v4.1.4"
    },
    {
      "commit": "a9ea8b23faf6e73bfa01db32f064afdd144e3ea2",
      "tree": "3f50717d6f42d0b269bbfeb9af3b714d830dc80e",
      "parents": [
        "a3c4d64755c7210ed03e91933ca310ff1baffd77",
        "fb776458cb7f94c18f199c864331089634284a8d"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Apr 02 09:32:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 09:32:46 2026"
      },
      "message": "Merge pull request #6825 from thaJeztah/bump_go1.26\n\nupdate to go1.26.1"
    },
    {
      "commit": "091afa495787289b692b4da26167b8f934f211cc",
      "tree": "711b149def420757edcde0ae9722d7297762e262",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:39:43 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:39:43 2026"
      },
      "message": "vendor: github.com/go-jose/go-jose/v4 v4.1.4\n\nFixes CVE-2026-34986 / GHSA-78h2-9frx-2jm8\n\nfull diff: https://github.com/go-jose/go-jose/compare/v4.1.3...v4.1.4\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "968ad0ea6c60d035275153f09c1f947a2ec5d20d",
      "tree": "0e33f1aaa69f5ea01c656eb80473c2f43db26a02",
      "parents": [
        "78fb018754398c0b9a5672e02a573b3688f10c9b"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:31:42 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:31:42 2026"
      },
      "message": "vendor: golang.org/x/net v0.52.0\n\nfull diff: https://cs.opensource.google/go/x/net/+/refs/tags/v0.50.0...refs/tags/v0.52.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "78fb018754398c0b9a5672e02a573b3688f10c9b",
      "tree": "d40b24280716e26e8405fc5df371a2e3be03a9bc",
      "parents": [
        "18739a5ef627d4e20cf14272b5f37123f1e13f7a"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:30:45 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:29:46 2026"
      },
      "message": "vendor: golang.org/x/time v0.15.0\n\nfull diff: https://cs.opensource.google/go/x/time/+/refs/tags/v0.14.0...refs/tags/v0.15.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "18739a5ef627d4e20cf14272b5f37123f1e13f7a",
      "tree": "ad4f6a6e558a1bdc1002671a103b6a69a0fe27e8",
      "parents": [
        "9b21846cde3b97862968febbb1f420796098ca98"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:29:04 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:29:45 2026"
      },
      "message": "vendor: golang.org/x/term v0.41.0\n\nfull diff: https://cs.opensource.google/go/x/term/+/refs/tags/v0.40.0...refs/tags/v0.41.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "9b21846cde3b97862968febbb1f420796098ca98",
      "tree": "0d32537e43cfe268b37028cc4310f7dcee96a9ce",
      "parents": [
        "c22bf3c77e1b26a7af1aa6f8afaa40fce1af8735"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:25:57 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:29:45 2026"
      },
      "message": "vendor: golang.org/x/text v0.35.0\n\nfull diff: https://cs.opensource.google/go/x/text/+/refs/tags/v0.34.0...refs/tags/v0.35.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "c22bf3c77e1b26a7af1aa6f8afaa40fce1af8735",
      "tree": "8d713184063ffd14f61a11637d44df5f903cb38e",
      "parents": [
        "d792fc53b7d068b18df05b51a8e4dde34158bf65"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:24:11 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:29:32 2026"
      },
      "message": "vendor: golang.org/x/mod v0.34.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "d792fc53b7d068b18df05b51a8e4dde34158bf65",
      "tree": "50b96b273b2cd8e478582c13f2af88a34ba6d219",
      "parents": [
        "e9664a72eab5dfde7e289a2f5183534301c43129"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:27:32 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:17:17 2026"
      },
      "message": "vendor: golang.org/x/sync v0.20.0\n\nfull diff: https://cs.opensource.google/go/x/sync/+/refs/tags/v0.19.0...refs/tags/v0.20.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "e9664a72eab5dfde7e289a2f5183534301c43129",
      "tree": "abecf71051bb25cf624342bde37622a6417270bc",
      "parents": [
        "a3c4d64755c7210ed03e91933ca310ff1baffd77"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:15:08 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:17:17 2026"
      },
      "message": "vendor: golang.org/x/sys v0.42.0\n\nfull diff: https://cs.opensource.google/go/x/sys/+/refs/tags/v0.41.0...refs/tags/v0.42.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "fb776458cb7f94c18f199c864331089634284a8d",
      "tree": "3f50717d6f42d0b269bbfeb9af3b714d830dc80e",
      "parents": [
        "62d80156e1f73c52966a2172209fcdaae0b712b1"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Feb 27 16:12:29 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:12:08 2026"
      },
      "message": "update to go1.26.1\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "62d80156e1f73c52966a2172209fcdaae0b712b1",
      "tree": "03f96406176830513faa63640c89467291577a28",
      "parents": [
        "a3c4d64755c7210ed03e91933ca310ff1baffd77"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:11:26 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Apr 02 00:11:26 2026"
      },
      "message": "ci: pin remaining actions\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "a3c4d64755c7210ed03e91933ca310ff1baffd77",
      "tree": "c033b46d0cc849342aacf8f2d8bc53ad3a1d1277",
      "parents": [
        "eecf81316d0e2b25795905effdcfcc719f2cfe40",
        "bf6a1e1fcf581c90c0aeba5f6162d662b69cd24e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Wed Apr 01 18:12:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 18:12:45 2026"
      },
      "message": "Merge pull request #6897 from thaJeztah/bump_minimum_go\n\nupdate minimum go version to go1.25"
    },
    {
      "commit": "eecf81316d0e2b25795905effdcfcc719f2cfe40",
      "tree": "e133a49c67231bd9d3f439fcedb3e142b18b80ed",
      "parents": [
        "e67dba1189635d861ebfdf3509513af89fd88e2f",
        "cd9e5ae84f8b73a342c032ac58116d4a21d4a18c"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Wed Apr 01 16:39:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 16:39:33 2026"
      },
      "message": "Merge pull request #6898 from thaJeztah/bump_patternmatcher\n\nvendor: github.com/moby/patternmatcher v0.6.1"
    },
    {
      "commit": "e67dba1189635d861ebfdf3509513af89fd88e2f",
      "tree": "1444a638bec3387e17de872bfa4a5b9b1be7f07c",
      "parents": [
        "fea2465d655bdfc2787f5b58ec4d9d6a89e2991c",
        "a14db81c9c2b2a6a42f59d4d30aaaa18e7bc9e4f"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Wed Apr 01 16:39:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 16:39:30 2026"
      },
      "message": "Merge pull request #6896 from thaJeztah/bump_grpc\n\nvendor: google.golang.org/grpc v1.79.3"
    },
    {
      "commit": "fea2465d655bdfc2787f5b58ec4d9d6a89e2991c",
      "tree": "af7dacdabdc44308c3f92572c6b54f65c20b0192",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977",
        "58c1585b4991c15ef0ffd49ccbf8b736a83bf03a"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Wed Apr 01 14:37:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 14:37:45 2026"
      },
      "message": "Merge pull request #4723 from thaJeztah/govalidator\n\nci: add module compatibility check"
    },
    {
      "commit": "ea74248e8e4590e274e81ec9a6310ae14320f280",
      "tree": "893821e64d95f8500c82f8a6c2ad2a6c92c683a3",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Apr 01 13:39:22 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Apr 01 13:43:34 2026"
      },
      "message": "cli/command/formatter: modernize\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5efed5fa3054ce2d183c6b580cbaae12669ea291",
      "tree": "5ca2ff2731f42d41763ed853f32dc9ddb0662cc7",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 22:38:50 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 22:38:50 2026"
      },
      "message": "vendor: github.com/klauspost/compress v1.18.5\n\n- zstd: Fix crash when changing encoder dictionary with same ID\n\nfull diff: https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "cd9e5ae84f8b73a342c032ac58116d4a21d4a18c",
      "tree": "ecdef1dad6e65b1180e46670caa545bb192f8ba0",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 22:24:02 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 22:24:02 2026"
      },
      "message": "vendor: github.com/moby/patternmatcher v0.6.1\n\n- fix panic / nil pointer dereference on invalid patterns\n\nfull diff: https://github.com/moby/patternmatcher/compare/v0.6.0...v0.6.1\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "bf6a1e1fcf581c90c0aeba5f6162d662b69cd24e",
      "tree": "132932d10b63c96f4d287e51d9665207098b7205",
      "parents": [
        "8f7dc04070206b38aec41a7c643e53db20742232"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:24:21 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 22:19:32 2026"
      },
      "message": "cli-plugins/socket: modernize\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8f7dc04070206b38aec41a7c643e53db20742232",
      "tree": "6d2500bda99e4890614cd0b5f54c628cdd1506b8",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 18:19:17 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 22:19:04 2026"
      },
      "message": "update minimum go version to go1.25\n\n- drop support for go1.24\n- update vendor.mod to go1.25.0\n- update //go:build tags to go1.25\n\nThe golang.org/x/ dependencies now require go1.25 as a minimum,\nso updating our build tags accordingly.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "a14db81c9c2b2a6a42f59d4d30aaaa18e7bc9e4f",
      "tree": "ccb12615478adce32708a00d4c0d71e7dedeeea6",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 07:22:30 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 31 07:22:30 2026"
      },
      "message": "vendor: google.golang.org/grpc v1.79.3\n\nfixes [CVE-2026-33186] / [GHSA-p77j-4mvh-x3m3]\n\nfull diff: https://github.com/grpc/grpc-go/compare/v1.78.0...v1.79.3\n\n[CVE-2026-33186]: https://www.cve.org/CVERecord?id\u003dCVE-2026-33186\n[GHSA-p77j-4mvh-x3m3]: https://github.com/grpc/grpc-go/security/advisories/GHSA-p77j-4mvh-x3m3\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "e660030f3af6e5d34a7304db09d431b21244bb31",
      "tree": "b7234bdd4d816141d2e0c168822fb7830e0049d4",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Codex",
        "email": "codex@openai.com",
        "time": "Tue Mar 31 02:31:44 2026"
      },
      "committer": {
        "name": "Codex",
        "email": "codex@openai.com",
        "time": "Tue Mar 31 02:31:44 2026"
      },
      "message": "docs: fix typo in run reference\n\nSigned-off-by: Codex \u003ccodex@openai.com\u003e\n"
    },
    {
      "commit": "58c1585b4991c15ef0ffd49ccbf8b736a83bf03a",
      "tree": "af7dacdabdc44308c3f92572c6b54f65c20b0192",
      "parents": [
        "ea42337d0146ea529accee9f6dc8619d60003ed5"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 16 19:21:36 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 26 16:53:31 2026"
      },
      "message": "gha: validate gocompat\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "ea42337d0146ea529accee9f6dc8619d60003ed5",
      "tree": "0c3bf1fc6770d59b3386f5cc5547f345172da72a",
      "parents": [
        "538ee85f39336b3d6a6e49bece5457cc66fab977"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Dec 15 15:46:50 2023"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 26 16:53:31 2026"
      },
      "message": "implement module compatibility check\n\nThis package imports all \"importable\" packages, i.e., packages that:\n\n- are not applications (\"main\")\n- are not internal\n- and that have non-test go-files\n\nWe do this to verify that our code can be consumed as a dependency\nin \"module mode\". When using a dependency that does not have a go.mod\n(i.e.; is not a \"module\"), go implicitly generates a go.mod. Lacking\ninformation from the dependency itself, it assumes \"go1.16\" language\n(see [DefaultGoModVersion]). Starting with Go1.21, go downgrades the\nlanguage version used for such dependencies, which means that any\nlanguage feature used that is not supported by go1.16 results in a\ncompile error;\n\n    # github.com/docker/cli/cli/context/store\n    /go/pkg/mod/github.com/docker/cli@v25.0.0-beta.2+incompatible/cli/context/store/storeconfig.go:6:24: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    /go/pkg/mod/github.com/docker/cli@v25.0.0-beta.2+incompatible/cli/context/store/store.go:74:12: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n\nThese errors do NOT occur when using GOPATH mode, nor do they occur\nwhen using \"pseudo module mode\" (the \"-mod\u003dmod -modfile\u003dvendor.mod\"\napproach used in this repository).\n\nAs a workaround for this situation, we must include \"//go:build\" comments\nin any file that uses newer go-language features (such as the \"any\" type\nor the \"min()\", \"max()\" builtins).\n\nFrom the go toolchain docs (https://go.dev/doc/toolchain):\n\n\u003e The go line for each module sets the language version the compiler enforces\n\u003e when compiling packages in that module. The language version can be changed\n\u003e on a per-file basis by using a build constraint.\n\u003e\n\u003e For example, a module containing code that uses the Go 1.21 language version\n\u003e should have a go.mod file with a go line such as go 1.21 or go 1.21.3.\n\u003e If a specific source file should be compiled only when using a newer Go\n\u003e toolchain, adding //go:build go1.22 to that source file both ensures that\n\u003e only Go 1.22 and newer toolchains will compile the file and also changes\n\u003e the language version in that file to Go 1.22.\n\nThis file is a generated module that imports all packages provided in\nthe repository, which replicates an external consumer using our code\nas a dependency in go-module mode, and verifies all files in those\npackages have the correct \"//go:build \u003cgo language version\u003e\" set.\n\nTo test this package:\n\n    make shell\n    make -C ./internal/gocompat/\n    make: Entering directory \u0027/go/src/github.com/docker/cli/internal/gocompat\u0027\n    GO111MODULE\u003doff go generate .\n    GO111MODULE\u003don go mod tidy\n    GO111MODULE\u003don go test -v\n    # github.com/docker/cli/templates\n    ../../templates/templates.go:13:17: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    # github.com/docker/cli/cli/compose/template\n    ../../cli/compose/template/template.go:98:45: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/template/template.go:105:27: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/template/template.go:141:28: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    # github.com/docker/cli/cli/compose/types\n    ../../cli/compose/types/types.go:53:22: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:86:34: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:105:22: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:137:34: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:211:20: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:343:35: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:442:40: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:469:24: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:490:24: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:587:28: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/types/types.go:442:40: too many errors\n    # github.com/docker/cli/cli/context/store\n    ../../cli/context/store/storeconfig.go:6:24: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/context/store/store.go:74:12: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/context/store/store.go:75:23: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/context/store/metadatastore.go:43:58: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/context/store/metadatastore.go:48:22: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/context/store/metadatastore.go:80:30: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    # github.com/docker/cli/cli/command/idresolver\n    ../../cli/command/idresolver/idresolver.go:6:2: \"github.com/docker/docker/api/types\" imported and not used\n    ../../cli/command/idresolver/idresolver.go:7:2: \"github.com/docker/docker/api/types/swarm\" imported and not used\n    ../../cli/command/idresolver/idresolver.go:9:2: \"github.com/pkg/errors\" imported and not used\n    ../../cli/command/idresolver/idresolver.go:28:49: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/command/idresolver/idresolver.go:58:53: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    # github.com/docker/cli/cli/compose/schema\n    ../../cli/compose/schema/schema.go:20:46: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/schema/schema.go:27:53: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/schema/schema.go:45:32: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    ../../cli/compose/schema/schema.go:66:33: predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)\n    FAIL\tgocompat [build failed]\n    make: *** [Makefile:3: verify] Error 1\n    make: Leaving directory \u0027/go/src/github.com/docker/cli/internal/gocompat\u0027\n\n[DefaultGoModVersion]: https://github.com/golang/go/blob/58c28ba286dd0e98fe4cca80f5d64bbcb824a685/src/cmd/go/internal/gover/version.go#L15-L24\n[2]: https://go.dev/doc/toolchain\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "538ee85f39336b3d6a6e49bece5457cc66fab977",
      "tree": "cd751e337afe049159dd0960c4d286152da21519",
      "parents": [
        "9637f1b3648f835005b71c9e11a10dc980f8e47b",
        "07bb479a454ad3afe0b0003c5e7d33797bfd05e1"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Thu Mar 26 15:32:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 15:32:44 2026"
      },
      "message": "Merge pull request #6888 from thaJeztah/add_build_tags\n\ncli-plugins/hooks: add missing \"go:build\" comments"
    },
    {
      "commit": "d573c171fe9d2eac1146134ae81ec9a27141e764",
      "tree": "2f302cc5c611d42eebbb49f67040f937448ce362",
      "parents": [
        "9637f1b3648f835005b71c9e11a10dc980f8e47b"
      ],
      "author": {
        "name": "Yoan Wainmann",
        "email": "thebook90yw@gmail.com",
        "time": "Wed Mar 25 15:33:30 2026"
      },
      "committer": {
        "name": "Yoan Wainmann",
        "email": "thebook90yw@gmail.com",
        "time": "Wed Mar 25 16:13:49 2026"
      },
      "message": "docs: clarify multiple --filter behavior in prune commands\n\nDocument how multiple --filter flags interact in prune commands:\ndifferent filter keys are ANDed (all conditions must match), while\nmultiple values for the same key are ORed (any value can match).\n\nThis addresses a gap in the documentation where users could not\ndetermine whether multiple filters were combined with AND or OR\nlogic, which is especially important for prune commands where\nthe wrong assumption could lead to unintended data removal.\n\nCloses #5899\n\nSigned-off-by: Yoan Wainmann \u003cyoan@mreshet.co.il\u003e\n"
    },
    {
      "commit": "07bb479a454ad3afe0b0003c5e7d33797bfd05e1",
      "tree": "cd751e337afe049159dd0960c4d286152da21519",
      "parents": [
        "9637f1b3648f835005b71c9e11a10dc980f8e47b"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 25 15:30:47 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 25 15:32:18 2026"
      },
      "message": "cli-plugins/hooks: add missing \"go:build\" comments\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "9637f1b3648f835005b71c9e11a10dc980f8e47b",
      "tree": "cc9cabd1d3cab7a7725f5a7c71839fe36c3514a9",
      "parents": [
        "7922984193b21d150b64891541edd9b1e98e94b3",
        "97b9e04a940c3e83fcd588f8442204f2e7e0c5c4"
      ],
      "author": {
        "name": "Paweł Gronowski",
        "email": "pawel.gronowski@docker.com",
        "time": "Wed Mar 25 14:22:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 25 14:22:16 2026"
      },
      "message": "Merge pull request #6886 from thaJeztah/pin_actions\n\nci: pin actions to digests"
    },
    {
      "commit": "97b9e04a940c3e83fcd588f8442204f2e7e0c5c4",
      "tree": "cc9cabd1d3cab7a7725f5a7c71839fe36c3514a9",
      "parents": [
        "7922984193b21d150b64891541edd9b1e98e94b3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 25 13:29:11 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 25 13:58:57 2026"
      },
      "message": "ci: pin actions to digests\n\nAs a follow-up, we should use the full version (major.minor.patch).\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "2bc4307816ff1f3ee38a36f45b978e5af3b3c7e2",
      "tree": "ee81d059e4c0c69545709894645bbedfc605f41c",
      "parents": [
        "7922984193b21d150b64891541edd9b1e98e94b3"
      ],
      "author": {
        "name": "Michael Zampani",
        "email": "michael.zampani@docker.com",
        "time": "Sat Mar 21 22:16:53 2026"
      },
      "committer": {
        "name": "Michael Zampani",
        "email": "michael.zampani@docker.com",
        "time": "Sat Mar 21 22:31:12 2026"
      },
      "message": "fix(cmd/docker): prevent race between force-exit goroutine and plugin wait\n\nWhen a plugin ignores context cancellation and the user sends 3 SIGINTs,\nthe CLI kills the plugin with SIGKILL. Previously the signal goroutine\ncalled os.Exit(1) directly; a race existed where plugincmd.Run() could\nreturn first (plugin was SIGKILL\u0027d, so ws.ExitStatus() \u003d -1) and the\nmain goroutine would call os.Exit(-1) \u003d exit code 255 before the\ngoroutine reached os.Exit(1).\n\nFix by moving exit-code ownership to the main goroutine. The signal\ngoroutine closes forceExitCh before calling Kill(), guaranteeing the\nchannel is closed before plugincmd.Run() returns (the plugin can only\ndie after Kill() delivers SIGKILL; Run() only returns after the process\nis reaped). The main goroutine checks forceExitCh after Run() returns\nand performs the print + os.Exit(1) itself.\n\nAlso return from the signal goroutine after the force-kill to prevent\nfurther loop iterations from calling close(forceExitCh) a second time\n(which would panic), in case additional signals arrive while the kill\nis in flight.\n\nFixes a flaky failure in TestPluginSocketCommunication/detached/\nthe_main_CLI_exits_after_3_signals where exit code 255 was observed\ninstead of 1 on loaded CI runners (RC Docker on Alpine).\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Michael Zampani \u003cmichael.zampani@docker.com\u003e\n"
    },
    {
      "commit": "9c117d3c5d28c115366a7dcd848eab1920702cdf",
      "tree": "838d668af41327dfe38bb02205b10da450a30717",
      "parents": [
        "df57ff720132cead0da9292e2e73b95ff8fe38c7"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 16:04:29 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 17:24:19 2026"
      },
      "message": "cli/command/container: add shell completion for docker rm --link\n\nWhen linking containers through legacy links, a container can get multiple\nnames; its own name, and a name for each link it\u0027s providing:\n\n    # create two containers with links between them\n    docker run -d --name one nginx:alpine\n    docker run -d --name two --link one:link1 --link one:link2 --link one:link3 nginx:alpine\n\n    docker rm --link \u003ctab\u003e\n    two/link1 two/link2 two/link3\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "df57ff720132cead0da9292e2e73b95ff8fe38c7",
      "tree": "bc8075d8080edf40d94b2ecd4d33564885fccdf8",
      "parents": [
        "7922984193b21d150b64891541edd9b1e98e94b3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 08:10:47 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 17:17:43 2026"
      },
      "message": "cli/command/completion: ContainerNames: skip legacy link names\n\nInline StripNamePrefix and skip legacy links for completion.\nLegacy links can be removed from a container, but only when\nusing `docker [container] rm --link \u003clink-name\u003e`.\n\nWhen linking containers through legacy links, a container can get multiple\nnames; its own name, and a name for each link it\u0027s providing:\n\n    # create two containers with links between them\n\n    docker run -d --name one nginx:alpine\n    docker run -d --name two --link one:link1 --link one:link2 --link one:link3 nginx:alpine\n\n    # container \"one\" now has multiple names\n    docker ps --no-trunc --format \u0027{{.Names}}\u0027\n    two\n    one,two/link1,two/link2,two/link3\n\n    # running `docker rm --link` with a link-name removes a link:\n\n    docker rm --link two/link3\n    docker ps --no-trunc --format \u0027{{.Names}}\u0027\n    two\n    one,two/link1,two/link2\n\n    # but without `--link`, it resolves the linked container and removes it:\n    docker rm -fv two/link2\n    two/link2\n    docker ps --no-trunc --format \u0027{{.Names}}\u0027\n    two\n\nLegacy links are deprecated, and this can be confusing, so let\u0027s not provide\ncompletion for secondary names.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "dfda342e51c134135b25e70c7893998fe0451fcc",
      "tree": "78731abda13713f69917df4e361acf197a3f9e79",
      "parents": [
        "b5efd66ba6336080a10fcb9e7cec2e2704edf7ae"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 22:45:37 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 16:43:37 2026"
      },
      "message": "cli/command/formatter: StripNamePrefix only strip \"/\" prefix\n\nThis code was assuming the API always returns container names with\na \"/\" prefix. While this is currently correct, we may at some point\nstop doing so.\n\nThis patch changes the code to only trim \"/\" as prefix and not any\nother character.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "b5efd66ba6336080a10fcb9e7cec2e2704edf7ae",
      "tree": "3df521a0fccfd922149056705edc9e9f930813a2",
      "parents": [
        "7922984193b21d150b64891541edd9b1e98e94b3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 22:36:32 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 16:43:36 2026"
      },
      "message": "cli/command/container: stats: make stripping \"/\" prefix deterministic\n\nThis code was assuming the API always returns container names with\na \"/\" prefix. While this is currently correct, we may at some point\nstop doing so.\n\nThis patch changes the code to only trim \"/\" as prefix and not any\nother character.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "64c8d6804546bee61ed8f20d821079f409754c85",
      "tree": "db55a20f62b297220bd71834c47ca9ce8d6c3261",
      "parents": [
        "7922984193b21d150b64891541edd9b1e98e94b3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 11:28:34 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 20 16:33:14 2026"
      },
      "message": "cli/command/image: getPossibleChips: simplify\n\nExtract the check to a closure that filters in-place, and\nrun the check in a single loop.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "7922984193b21d150b64891541edd9b1e98e94b3",
      "tree": "4379fc9574a307656d5f58b396d29ef680548219",
      "parents": [
        "bcfb717a319c73a3c7dfce1f7518c4e301cf9714",
        "5fb5e0b0da7d9ff01606c9c9a94bb8880fd78e74"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Thu Mar 19 14:44:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 14:44:15 2026"
      },
      "message": "Merge pull request #6863 from thaJeztah/fix_stats\n\nfix: docker stats --all: remove containers when removed"
    },
    {
      "commit": "bcfb717a319c73a3c7dfce1f7518c4e301cf9714",
      "tree": "6ebab33b87ddaf122cbae7d318ccd885148cf237",
      "parents": [
        "743c385f784e10c9cd29a2800fb72901bec053d4",
        "4bf4d567bd2eedd18a6622cc2b859bec15032e33"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Thu Mar 19 13:47:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 13:47:29 2026"
      },
      "message": "Merge pull request #6859 from thaJeztah/plugin_metadata\n\ncli-plugins: separate hook types from manager and refactor"
    },
    {
      "commit": "4bf4d567bd2eedd18a6622cc2b859bec15032e33",
      "tree": "6ebab33b87ddaf122cbae7d318ccd885148cf237",
      "parents": [
        "dd1f7f58565dd36b032dfbee3b287c2ac31ee152"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 14:06:54 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:36 2026"
      },
      "message": "cli-plugins/hooks: PrintNextSteps: slight cleanup\n\n- skip aec to construct the formatting and use a const instead\n- skip fmt.Println and write directly to the writer\n- move newlines outside of the \"bold\" formatting\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "dd1f7f58565dd36b032dfbee3b287c2ac31ee152",
      "tree": "eb3dbf22584aef2d5be96b1a58de4fb27d610dd6",
      "parents": [
        "924324034680ef8c301aef6f500e9c562866e974"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 09:00:05 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:35 2026"
      },
      "message": "cli-plugins/hooks: simplify templating formats\n\nThis allows for slighly cleaner / more natural placeholders, as it\ndoesn\u0027t require the context (`.`) to be specified;\n\n- `{{command}}` instead of `{{.Command}}` or `{{command .}}`\n- `{{flagValue \"my-flag\"}}` instead of `{{.FlagValue \"my-flag\"}} or `{{flagValue . \"my-flag\"}}`\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "924324034680ef8c301aef6f500e9c562866e974",
      "tree": "2decb4e3a7cf021207236ecd817d8f8f49895d2c",
      "parents": [
        "4a1b2ef2c5d2f3ee4f5988f6fccde2fdf5764155"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 08:09:05 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:35 2026"
      },
      "message": "cli-plugins/hooks: add commandInfo type for templating\n\nDefine a local type for methods to expose to the template, instead of\npassing the cobra.Cmd. This avoids templates depending on features\nexposed by Cobra that are not part of the contract, and slightly\ndecouples the templat from the Cobra implementation.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "4a1b2ef2c5d2f3ee4f5988f6fccde2fdf5764155",
      "tree": "afb72c912060857fdf64570d9d9ee029bd29aab0",
      "parents": [
        "4142d4026e53f07d8f0892dce64ebdeecd28c02d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 10 09:46:02 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:35 2026"
      },
      "message": "cli-plugins/hooks: update godoc\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "4142d4026e53f07d8f0892dce64ebdeecd28c02d",
      "tree": "b55c0c25586e562184f0a70513a1ac57dbcc275c",
      "parents": [
        "cd053606a6ee9e98d2e49b765963e498d815f63e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 10:35:23 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:35 2026"
      },
      "message": "cli-plugins/hooks: detect if templating is needed\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "cd053606a6ee9e98d2e49b765963e498d815f63e",
      "tree": "c79151e00c8699447f33ca30e4c914c183622408",
      "parents": [
        "aadfe6214fb4b9bda348a9845d336a3a44f98a3c"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Mar 13 20:56:59 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:35 2026"
      },
      "message": "cli-plugins/hooks: slight tweaks in templates\n\n- use `%q` instead of manually quoting the string\n- use `%d` instead of manually converting the number to a string\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "aadfe6214fb4b9bda348a9845d336a3a44f98a3c",
      "tree": "022a978195d6abdac7c44ef5fbe130e861df1d64",
      "parents": [
        "dce201d6ee31cfd13beecb4942a130643b9af8bf"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 01:20:21 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:34 2026"
      },
      "message": "cli-plugins/hooks: update tests\n\n- add basic unit-test for the template utilities\n- make sure the template parsing tests test both the current\n  template produced by the utilities, as well as a fixture\n- rewrite the printer test to use fixtures\n- use blackbox testing (\"hooks_test\")\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "dce201d6ee31cfd13beecb4942a130643b9af8bf",
      "tree": "2a1842c45992b2d587a095d1dc297ddc228ef64c",
      "parents": [
        "e26f94d82366fb1c982efc288637bca70cd3f5fa"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 00:27:31 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:34 2026"
      },
      "message": "cli-plugins/hooks: move template utils separate from render code\n\nThese utilities are used by CLI-plugins; separate them from the render\ncode, which is used by teh CLI-plugin manager.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "e26f94d82366fb1c982efc288637bca70cd3f5fa",
      "tree": "952a7bb371e21c6e22aec186bc406d5e078b9e9f",
      "parents": [
        "0431e4d23ca3b7398de8624784c5e94a7825e7d1"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 00:04:13 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Mar 19 11:24:27 2026"
      },
      "message": "cli-plugins/hooks: add JSON labels, omitzero\n\nAdd labels to define the expected casing and don\u0027t serialize\nempty fields.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "0431e4d23ca3b7398de8624784c5e94a7825e7d1",
      "tree": "b4d32feab1a6ded0ea086154ccb4ef45ec72adf4",
      "parents": [
        "607ebfca5df6b2bffd327657256339173dac57cd"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 23:56:44 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 11:20:48 2026"
      },
      "message": "cli-plugins/hooks: rename HookType to ResponseType\n\nRename the type to match the struct it\u0027s used for. Also;\n\n- Fix the type of the NextSteps const\n- Don\u0027t use iota for values; the ResponseType is used as\n  part of the \"wire\" format, which means that plugins using\n  the value can use a different version of the module code;\n  using iota increases the risk of (accidentally) changing\n  values, which would break the wire format.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "607ebfca5df6b2bffd327657256339173dac57cd",
      "tree": "f5359a1adb634768d1f243d1ce0690ee0b74886e",
      "parents": [
        "60180924e34f3997236df6367b3f56d7238b5459"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Mar 17 23:44:29 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 18 11:20:48 2026"
      },
      "message": "cli-plugins/hooks: rename HookMessage to Response\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    }
  ],
  "next": "60180924e34f3997236df6367b3f56d7238b5459"
}
