)]}'
{
  "log": [
    {
      "commit": "5fdac2d16c16d60605cb8baa887e8c5c38ef623f",
      "tree": "8eddaa30852ed9f09719123dd9f71580293aca29",
      "parents": [
        "dca783ac210bbd5d938f569eb7c0bb198583e67b",
        "9ba848820915a8181c0718221a80a8a2ddde2ed7"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Jul 03 13:24:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 13:24:44 2026"
      },
      "message": "Merge pull request #490 from happysnaker/docs-release-process\n\ndocs: add release process documentation"
    },
    {
      "commit": "9ba848820915a8181c0718221a80a8a2ddde2ed7",
      "tree": "8eddaa30852ed9f09719123dd9f71580293aca29",
      "parents": [
        "dca783ac210bbd5d938f569eb7c0bb198583e67b"
      ],
      "author": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Fri Jul 03 12:40:36 2026"
      },
      "committer": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Fri Jul 03 12:40:36 2026"
      },
      "message": "docs: update release process per maintainer feedback\n\nReflects the maintainer\u0027s preferred workflow using the GitHub UI\nfor drafting releases, which publishes the tag atomically with the\nrelease and shows the PR list before picking a version number.\n\nCloses #434\n"
    },
    {
      "commit": "dca783ac210bbd5d938f569eb7c0bb198583e67b",
      "tree": "21d703ebdef813915d57d622ef9c0ccb72cedbf8",
      "parents": [
        "7ef35c6ed54a0573afe24fbee9463cc7eb02b5b7",
        "d299f4e332419effcc5e164d186e227362585352"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Jul 03 11:32:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 11:32:20 2026"
      },
      "message": "Merge pull request #488 from happysnaker/docs-sortflags-example\n\ndocs: clarify SortFlags example with complete runnable program"
    },
    {
      "commit": "d299f4e332419effcc5e164d186e227362585352",
      "tree": "21d703ebdef813915d57d622ef9c0ccb72cedbf8",
      "parents": [
        "7ef35c6ed54a0573afe24fbee9463cc7eb02b5b7"
      ],
      "author": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Fri Jul 03 08:28:32 2026"
      },
      "committer": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Fri Jul 03 08:28:32 2026"
      },
      "message": "docs: clarify SortFlags example with complete runnable program\n\nThe existing SortFlags example used \u0027flags.SortFlags\u0027 without showing\nthat SortFlags is a field on FlagSet, not a package-level variable.\nThis led to confusion for users who tried to use pflag.SortFlags\ndirectly.\n\nUpdated the example to show a complete program using NewFlagSet,\nand added a separate note for the CommandLine case.\n\nFixes #456\n"
    },
    {
      "commit": "7ef35c6ed54a0573afe24fbee9463cc7eb02b5b7",
      "tree": "7c105ca241ee2301c3414940f520ca4665f71404",
      "parents": [
        "95a0aa354537f4ef7e68a02602ca48405c2f7ff2",
        "f64d0fce111e5e844eaa2029691fcac7cb364c15"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 02 10:09:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 10:09:04 2026"
      },
      "message": "Merge pull request #487 from happysnaker/fix-custom-isbool-compatibility\n\nfix: honor custom IsBoolFlag compatibility"
    },
    {
      "commit": "95a0aa354537f4ef7e68a02602ca48405c2f7ff2",
      "tree": "57ca8ccba75197ce44aae074fe1f313c3c0884e6",
      "parents": [
        "74752827e8d9c7a60d753adb5cb6ea8baf0ee396",
        "298bcdf4e200c0d9b3818f03c7adaa10192874e4"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 02 10:08:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 10:08:30 2026"
      },
      "message": "Merge pull request #484 from happysnaker/fix-uint-slice-hex-input\n\nfix: allow hex input in UintSlice"
    },
    {
      "commit": "298bcdf4e200c0d9b3818f03c7adaa10192874e4",
      "tree": "b5bd5cfff1e181a079680a7910b6ebbe080222b1",
      "parents": [
        "6404d8209615987d23eafd5c38207dc343a5881e"
      ],
      "author": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Thu Jul 02 06:37:00 2026"
      },
      "committer": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Thu Jul 02 06:37:00 2026"
      },
      "message": "fix: allow hex input in UintSlice\n"
    },
    {
      "commit": "f64d0fce111e5e844eaa2029691fcac7cb364c15",
      "tree": "4e527f3c1942041566d25b2eeea920e5c38feb8d",
      "parents": [
        "ad27a401853e78fbd8025291e61fe703cfdaea98"
      ],
      "author": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Thu Jul 02 06:00:58 2026"
      },
      "committer": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Thu Jul 02 06:00:58 2026"
      },
      "message": "test: fix staticcheck in custom bool flag coverage\n\nSigned-off-by: Shirong Lu \u003c73147033+happysnaker@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "74752827e8d9c7a60d753adb5cb6ea8baf0ee396",
      "tree": "c1cf74e41b570f1381860ea9de00f2dbc5b73c95",
      "parents": [
        "6404d8209615987d23eafd5c38207dc343a5881e",
        "ed81e5b5da02e7e859045affe37dbd59116d9202"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 02 05:35:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 05:35:44 2026"
      },
      "message": "Merge pull request #483 from happysnaker/fix-nil-default-ip-getter\n\nfix: allow nil default IP flags in GetIP"
    },
    {
      "commit": "ad27a401853e78fbd8025291e61fe703cfdaea98",
      "tree": "43be3786ed292321197135ddfef8e74a664183ea",
      "parents": [
        "6404d8209615987d23eafd5c38207dc343a5881e"
      ],
      "author": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Wed Jul 01 20:05:14 2026"
      },
      "committer": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Wed Jul 01 20:05:14 2026"
      },
      "message": "fix: honor custom IsBoolFlag compatibility\n"
    },
    {
      "commit": "ed81e5b5da02e7e859045affe37dbd59116d9202",
      "tree": "c1cf74e41b570f1381860ea9de00f2dbc5b73c95",
      "parents": [
        "6404d8209615987d23eafd5c38207dc343a5881e"
      ],
      "author": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Wed Jul 01 08:43:45 2026"
      },
      "committer": {
        "name": "Shirong Lu",
        "email": "73147033+happysnaker@users.noreply.github.com",
        "time": "Wed Jul 01 08:43:45 2026"
      },
      "message": "fix: allow nil default IP flags in GetIP\n"
    },
    {
      "commit": "6404d8209615987d23eafd5c38207dc343a5881e",
      "tree": "17059482d19d2686817f3d0c9335da4b9a9e265d",
      "parents": [
        "07769daf247071b40eb1fdb871c92bb6788244da"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jun 24 20:09:37 2026"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jun 24 20:09:46 2026"
      },
      "message": "Fix lint issues for correct golangci-lint version\n\nFor future reference, run golangci-lint locally with\n\n    docker run \\\n        --rm \\\n        -v \"$(pwd):/app\" \\\n        -w /app \\\n        docker.io/golangci/golangci-lint:v2.7 \\\n        golangci-lint run\n\nusing whatever version of golangci-lint is specified in\\\n.github/workflows/ci.yaml.\n"
    },
    {
      "commit": "07769daf247071b40eb1fdb871c92bb6788244da",
      "tree": "4aeb8c52b9f05d14078e2a067c714d0ca408491c",
      "parents": [
        "9912b67606cffec47de0160b52e650ac3d6611ac"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jun 24 19:58:35 2026"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jun 24 19:58:35 2026"
      },
      "message": "Fix linter issues after merging #440\n\nNot sure why these weren\u0027t caught on pre-merge checks.\n"
    },
    {
      "commit": "9912b67606cffec47de0160b52e650ac3d6611ac",
      "tree": "6d8924f01b415edc4dd7bcb66e1e0f228d95461c",
      "parents": [
        "00f25b95f69bff9884458b73df1f38d5479f44a1",
        "c0bdd631c7115eaabfce7d6c38f09cb42da8909e"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Jun 06 14:20:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 14:20:53 2026"
      },
      "message": "Merge pull request #440 from ikedam/feature/337_PreserveUnknownFlagsEnum\n\nExtend `UnknownFlags` to `UnknownFlagsHandling` and introduce `PassUnknownFlagToArgs` (#337)"
    },
    {
      "commit": "00f25b95f69bff9884458b73df1f38d5479f44a1",
      "tree": "fed1353daace1178ce599f59138873bed66c5ae2",
      "parents": [
        "18450ea2f1d4209b15df2915d762da99171ebb67",
        "de240239d6923296d2c692a2ffc097af700d2445"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat May 16 14:05:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 14:05:00 2026"
      },
      "message": "Merge pull request #469 from reuvenharrison/friendly-parse-errors\n\nReplace raw stdlib parse errors in typed flag Set methods (#269)"
    },
    {
      "commit": "de240239d6923296d2c692a2ffc097af700d2445",
      "tree": "fed1353daace1178ce599f59138873bed66c5ae2",
      "parents": [
        "75568a5a6689c27d55286707e5d2831da6506cc6"
      ],
      "author": {
        "name": "Reuven Harrison",
        "email": "reuvenharrison@gmail.com",
        "time": "Sat May 16 09:14:04 2026"
      },
      "committer": {
        "name": "Reuven Harrison",
        "email": "reuvenharrison@gmail.com",
        "time": "Sat May 16 09:14:04 2026"
      },
      "message": "flag_test: gofmt + use ioutil.Discard for Go 1.12 compatibility\n\nCI surfaced two issues in the test changes:\n- flag_test.go:669 column alignment off after the cases struct rename\n  (gofmt -w produces a 3-line diff)\n- flag_test.go:688 uses io.Discard which was introduced in Go 1.16;\n  pflag\u0027s CI matrix still tests Go 1.12, so the Test (1.12) job failed\n  with \u0027undefined: io.Discard\u0027. ioutil.Discard works in all Go versions\n  back to 1.0 and is still functional despite the post-1.16 deprecation.\n"
    },
    {
      "commit": "75568a5a6689c27d55286707e5d2831da6506cc6",
      "tree": "3744220751ac700f6647a6a2b361a03920fb72e0",
      "parents": [
        "18450ea2f1d4209b15df2915d762da99171ebb67"
      ],
      "author": {
        "name": "Reuven Harrison",
        "email": "reuvenharrison@gmail.com",
        "time": "Sun May 10 13:38:00 2026"
      },
      "committer": {
        "name": "Reuven Harrison",
        "email": "reuvenharrison@gmail.com",
        "time": "Sun May 10 13:38:00 2026"
      },
      "message": "Replace raw stdlib parse errors in typed flag Set methods (#269)\n\nEach typed flag\u0027s Set method previously returned its strconv (or\ntime.ParseDuration) error verbatim, which leaks implementation detail\ninto user-facing CLI errors:\n\n    invalid argument \"x\" for \"--bool\" flag: strconv.ParseBool: parsing \"x\": invalid syntax\n\nReplace with human-readable hints, keyed off the flag\u0027s underlying type:\n\n    invalid argument \"x\" for \"--bool\" flag: must be true or false\n\nCovered: bool, int/int8/16/32/64, uint/uint8/16/32/64, float32/64,\nduration. Slices and map types fall through to their existing behavior.\n\nUpdates the affected line in TestParse, and adds TestInvalidArgumentMessages\nto lock in the new messages across types.\n\nRefs #269.\n"
    },
    {
      "commit": "18450ea2f1d4209b15df2915d762da99171ebb67",
      "tree": "80ca3f003e58e9cc68ea9a5057f7139b80a61261",
      "parents": [
        "ee87ca5ff3b6049f5e33faeacfe8a3ade14fbb67",
        "76da3f6f2e092de00ae8a5bb76ce3dd1ad514f2d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Tue May 05 23:13:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 23:13:52 2026"
      },
      "message": "Merge pull request #464 from spf13/fix-link\n\nFix broken link to POSIX argument conventions"
    },
    {
      "commit": "ee87ca5ff3b6049f5e33faeacfe8a3ade14fbb67",
      "tree": "fcecacd5e00ae1d9231030403cc54362c3c40a3f",
      "parents": [
        "3d32e71abc0bd7f78417460609bd5efca87508be",
        "cc34e583b5bdf92bee09d6b4227ff6c4417e24d0"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Mon May 04 08:28:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 08:28:36 2026"
      },
      "message": "Merge pull request #467 from malklera/readme-godoc\n\nfix: README.md indicating the use of godoc(deprecated)"
    },
    {
      "commit": "cc34e583b5bdf92bee09d6b4227ff6c4417e24d0",
      "tree": "fcecacd5e00ae1d9231030403cc54362c3c40a3f",
      "parents": [
        "3d32e71abc0bd7f78417460609bd5efca87508be"
      ],
      "author": {
        "name": "malklera",
        "email": "malklerulo@gmail.com",
        "time": "Sun May 03 14:49:46 2026"
      },
      "committer": {
        "name": "malklera",
        "email": "malklerulo@gmail.com",
        "time": "Sun May 03 14:49:46 2026"
      },
      "message": "fix: README.md indicating the use of godoc(deprecated)\n\nPoint to the use of go doc -http and pkg.go.dev\n\nFrom what I read the command godoc stop having a CLI in Go 1.12 https://go.dev/doc/go1.12#godoc\n\nIn Go 1.13 was taken out from the default installation. https://go.dev/doc/go1.13#godoc\n\ngodoc.org was replaced by pkg.go.dev officially in 2021 according to https://github.com/golang/go/issues/43178#issuecomment-775313687\n"
    },
    {
      "commit": "c0bdd631c7115eaabfce7d6c38f09cb42da8909e",
      "tree": "106110f1233fdedf62921125641b4fbcdbcafd57",
      "parents": [
        "d1d7aeebabe5cb8f98a083bc82685272c6083c1b"
      ],
      "author": {
        "name": "ikedam",
        "email": "devld@ikedam.jp",
        "time": "Fri Mar 06 17:04:17 2026"
      },
      "committer": {
        "name": "ikedam",
        "email": "devld@ikedam.jp",
        "time": "Fri Mar 06 17:04:17 2026"
      },
      "message": "Rename symbols to shorter ones #337\n\n* `UnknownFlagsHandlingErrorOnUnknown` to `ErrorOnUnknownFlag` and so on\n"
    },
    {
      "commit": "d1d7aeebabe5cb8f98a083bc82685272c6083c1b",
      "tree": "582a23d82dae97c94e0d625d36dd1646a4eaf30d",
      "parents": [
        "2cd30f1c04e1ca0ed86a38e49ae7f90467b78174"
      ],
      "author": {
        "name": "ikedam",
        "email": "devld@ikedam.jp",
        "time": "Fri Mar 06 16:50:09 2026"
      },
      "committer": {
        "name": "ikedam",
        "email": "devld@ikedam.jp",
        "time": "Fri Mar 06 16:50:09 2026"
      },
      "message": "Handle both ParseErrorsAllowlist and ParseErrorsWhitelist #337\n"
    },
    {
      "commit": "2cd30f1c04e1ca0ed86a38e49ae7f90467b78174",
      "tree": "8fc3e888da5e9bfb046c930f2ec7d145af561ad4",
      "parents": [
        "3d32e71abc0bd7f78417460609bd5efca87508be"
      ],
      "author": {
        "name": "ikedam",
        "email": "devld@ikedam.jp",
        "time": "Sat Aug 09 07:03:00 2025"
      },
      "committer": {
        "name": "ikedam",
        "email": "devld@ikedam.jp",
        "time": "Fri Mar 06 16:44:31 2026"
      },
      "message": "Extend `UnknownFlags` to `UnknownFlagsHandling` and introduce `UnknownFlagsHandlingPassUnknownToArgs` (#337)\n\n* Conflicted with #446\n"
    },
    {
      "commit": "3d32e71abc0bd7f78417460609bd5efca87508be",
      "tree": "c1dc55358bb223f64fac2666449f13f58ca25f96",
      "parents": [
        "0db51fd026c64cc3efe411e672887b1f15f1ec6b",
        "936b42e114fdeead8f6ef3e419a304a97c70e45d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Mar 05 10:20:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 10:20:58 2026"
      },
      "message": "Merge pull request #450 from thaJeztah/fix_linting\n\nupdate actions, and fix linting issues"
    },
    {
      "commit": "0db51fd026c64cc3efe411e672887b1f15f1ec6b",
      "tree": "e6a5592d581b6f92c682bff42f023910f9ae7dd0",
      "parents": [
        "a165e4b7d4c2f93614d69125dac1409f148df7ec",
        "0e7f6c83e92354746b1d586c57ce6bc4e7844e4a"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Mar 05 10:19:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 10:19:42 2026"
      },
      "message": "Merge pull request #462 from wellitonscheer/get-flag-error-message\n\nFix getFlagType error message"
    },
    {
      "commit": "a165e4b7d4c2f93614d69125dac1409f148df7ec",
      "tree": "af7a7122173c0064e44a2c6cc1192b0d71a12eec",
      "parents": [
        "b85eb9e15911a41cd7c05d955503542e9befadf4",
        "4b232952c4203c78ebcad47bce8ca181a6c0325d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Mar 05 10:15:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 10:15:57 2026"
      },
      "message": "Merge pull request #457 from brandon1024/string-to-string-fix\n\nfix(map): ensure string-to-string flags maintain stable pointers"
    },
    {
      "commit": "4b232952c4203c78ebcad47bce8ca181a6c0325d",
      "tree": "af7a7122173c0064e44a2c6cc1192b0d71a12eec",
      "parents": [
        "b85eb9e15911a41cd7c05d955503542e9befadf4"
      ],
      "author": {
        "name": "Brandon Richardson",
        "email": "brandon.richardson@siemens.com",
        "time": "Sat Nov 29 15:35:20 2025"
      },
      "committer": {
        "name": "Brandon Richardson",
        "email": "brandon.richardson@siemens.com",
        "time": "Thu Mar 05 07:45:31 2026"
      },
      "message": "fix(map): ensure string-to-string flags maintain stable pointers\n\nThis revision tweaks the internals of the StringToString flag type to\nensure that pointers are consistent across invocations of\nFlagSet.Parse(), Flag.Set(), and FlagSet.GetStringToString().\n\nPrior to this change, each call to GetStringToString would allocate and\nreturn a new map. Although this provides nice encapsulation, it means\nthat users cannot manipulate the map (in tests, for instance). To\naddress this, GetStringToString now returns the map directly from\nFlag.Value. Set() now avoids new allocations as well, updating the\nexisting map over allocating new ones.\n\nDocumentation for all StringToString flags have been reworked for\nimproved clarity. The tests for this flag type have been completely\nreworked. A small example demonstrating this flag type was also added.\n"
    },
    {
      "commit": "0e7f6c83e92354746b1d586c57ce6bc4e7844e4a",
      "tree": "788c1eaffc6e169996a825aff06c7bb88c2db9e1",
      "parents": [
        "7b587c595d3b75872eb0d0acfc6797c72cfae7ed"
      ],
      "author": {
        "name": "wellitonscheer",
        "email": "wellitonscheer@gmail.com",
        "time": "Thu Mar 05 00:40:56 2026"
      },
      "committer": {
        "name": "wellitonscheer",
        "email": "wellitonscheer@gmail.com",
        "time": "Thu Mar 05 00:40:56 2026"
      },
      "message": "Remove unused flagNotDefinedMessage\n"
    },
    {
      "commit": "936b42e114fdeead8f6ef3e419a304a97c70e45d",
      "tree": "69c6ebc8de2752b970e50f90cf5bba0588b56e02",
      "parents": [
        "4bd84d59f26e2e5304d85c49af346a6aec646091"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Sep 02 08:09:48 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:37 2026"
      },
      "message": "gha: tweak settings, add testing for \"stable\" and \"oldstable\" go\n\n- set default permissions to \"content: read\" as actions in this repository\n  don\u0027t require write acccess.\n- set a guardrails timeout; this should not be needed normally, but\n  GitHub\u0027s default timeout is 6 Hours, and prevents runaway actions\n  that may happen occasionally on GitHub service outages.\n- remove filter for branch name and run on pull-requests, push events\n- add \"stable\" and \"oldstable\" Go versions to the matrix; these always\n  point to the currently maintained versions of Go (currently Go1.25\n  and Go1.24). Using the fixed (\"oldstable\", \"stable\") keywords reduces\n  maintainance and helps marking checks as \"required\" in branch protection,\n  as such options are using the name generated from the matrix.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "4bd84d59f26e2e5304d85c49af346a6aec646091",
      "tree": "adeabd9b164c62e46b8a0bdf5c5f9ed339e5d6d9",
      "parents": [
        "5b0611e0fad3e74c201a025c8e4a71f12445fe57"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 20:47:12 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:36 2026"
      },
      "message": "gha: update checkout v6.0.1, setup-go v6.1.0, golangci-lint v9.2.0\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5b0611e0fad3e74c201a025c8e4a71f12445fe57",
      "tree": "97181950685016d7047fee4f1228f0a302c61905",
      "parents": [
        "fd694822b178f587fd18d9dbae1c2c0665886f16"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Thu Dec 18 11:58:17 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:36 2026"
      },
      "message": "fix godoc for InvalidSyntaxError.GetSpecifiedFlag\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "fd694822b178f587fd18d9dbae1c2c0665886f16",
      "tree": "0e30c9c17351211a552ba7fcd946e5364334f869",
      "parents": [
        "8fb9edde3511c0186bd0714e8e064b4409f594c6"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 20:38:39 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:36 2026"
      },
      "message": "fix revive linting\n\n   bool_func_test.go:53:48: unused-parameter: parameter \u0027s\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n            fset.BoolFunc(\"flag1\", \"usage message\", func(s string) error { return nil })\n                                                         ^\n    bool_func_test.go:67:72: unused-parameter: parameter \u0027s\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n            fset.BoolFunc(\"flag2\", \"usage message with `name` placeholder\", func(s string) error { return nil })\n                                                                                 ^\n    flag_test.go:763:27: unused-parameter: parameter \u0027f\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n    func wordSepNormalizeFunc(f *FlagSet, name string) NormalizedName {\n                              ^\n    flag_test.go:821:31: unused-parameter: parameter \u0027f\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n    func aliasAndWordSepFlagNames(f *FlagSet, name string) NormalizedName {\n                                  ^\n    flag_test.go:1390:27: unused-parameter: parameter \u0027f\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n        fs.SetNormalizeFunc(func(f *FlagSet, name string) NormalizedName {\n                                 ^\n    func_test.go:67:44: unused-parameter: parameter \u0027s\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n            fset.Func(\"flag1\", \"usage message\", func(s string) error { return nil })\n                                                     ^\n\n    golangflag.go:74:6: exported: func name will be used as pflag.PFlagFromGoFlag by other packages, and that stutters; consider calling this FromGoFlag (revive)\n    func PFlagFromGoFlag(goflag *goflag.Flag) *Flag {\n         ^\n    ipnet_slice_test.go:11:14: unused-parameter: parameter \u0027ip\u0027 seems to be unused, consider removing or renaming it as _ (revive)\n    func getCIDR(ip net.IP, cidr *net.IPNet, err error) net.IPNet {\n                 ^\n    time.go:54:9: indent-error-flow: if block ends with a return statement, so drop this else and outdent its block (revive)\n        } else {\n            return d.Time.Format(time.RFC3339Nano)\n        }\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8fb9edde3511c0186bd0714e8e064b4409f594c6",
      "tree": "136d95f15f504e222d7f1688a37555c98fa0103d",
      "parents": [
        "02fbac80fed8c52ed996fe5ae3878b8f2c9da5cb"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 20:31:59 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:36 2026"
      },
      "message": "fix unparam linting\n\n    flag_test.go:754:52: replaceSeparators - to always receives \".\" (unparam)\n    func replaceSeparators(name string, from []string, to string) string {\n                                                       ^\n    flag_test.go:1182:24: parseReturnStderr - t is unused (unparam)\n    func parseReturnStderr(t *testing.T, f *FlagSet, args []string) (string, error) {\n                           ^\n    ip_slice.go:73:56: (*ipSliceValue).fromString - result 1 (error) is always nil (unparam)\n    func (s *ipSliceValue) fromString(val string) (net.IP, error) {\n                                                           ^\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "02fbac80fed8c52ed996fe5ae3878b8f2c9da5cb",
      "tree": "97dc08bd39c78046a7049251ee75662eb6cf0f58",
      "parents": [
        "d6bb2cc825894e1cda9a7217dd6667d15fb5a704"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 20:25:25 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:35 2026"
      },
      "message": "fix unconvert linting\n\n    bool_test.go:29:22: unnecessary conversion (unconvert)\n        return triStateValue(*v)\n                            ^\n    count.go:16:18: unnecessary conversion (unconvert)\n            *i \u003d countValue(*i + 1)\n                           ^\n    uint64.go:30:15: unnecessary conversion (unconvert)\n        return uint64(v), nil\n                     ^\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "d6bb2cc825894e1cda9a7217dd6667d15fb5a704",
      "tree": "8d882c5a1bc6640fe75041419434a1c64bcb50a7",
      "parents": [
        "f2f15d09139ad70a8f6ac397b5771e603e6c587d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 20:21:18 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:35 2026"
      },
      "message": "fix staticcheck linting\n\n    duration_slice.go:49:12: S1025: should use String() instead of fmt.Sprintf (staticcheck)\n            out[i] \u003d fmt.Sprintf(\"%s\", d)\n                     ^\n    duration_slice.go:59:9: S1025: should use String() instead of fmt.Sprintf (staticcheck)\n        return fmt.Sprintf(\"%s\", val)\n               ^\n    flag.go:658:10: QF1004: could use strings.ReplaceAll instead (staticcheck)\n            return strings.Replace(s, \"\\n\", \"\\n\"+strings.Repeat(\" \", i), -1)\n                   ^\n    flag.go:676:10: QF1004: could use strings.ReplaceAll instead (staticcheck)\n            return strings.Replace(s, \"\\n\", r, -1)\n                   ^\n    flag.go:688:10: QF1004: could use strings.ReplaceAll instead (staticcheck)\n        r \u003d r + strings.Replace(l, \"\\n\", \"\\n\"+strings.Repeat(\" \", i), -1)\n                ^\n    flag_test.go:641:5: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)\n        if flag \u003d\u003d nil {\n           ^\n    flag_test.go:644:10: SA5011: possible nil pointer dereference (staticcheck)\n        if flag.Name !\u003d \"boola\" {\n                ^\n    flag_test.go:654:2: SA4006: this value of flag is never used (staticcheck)\n        flag \u003d f.ShorthandLookup(\"ab\")\n        ^\n    ipnet_slice_test.go:16:2: S1008: should use \u0027return c1.String() \u003d\u003d c2.String()\u0027 instead of \u0027if c1.String() \u003d\u003d c2.String() { return true }; return false\u0027 (staticcheck)\n        if c1.String() \u003d\u003d c2.String() {\n        ^\n    string_array.go:33:2: S1001: should use copy(to, from) instead of a loop (staticcheck)\n        for i, d :\u003d range val {\n        ^\n    string_array.go:42:2: S1001: should use copy(to, from) instead of a loop (staticcheck)\n        for i, d :\u003d range *s.value {\n        ^\n    flag.go:658:10: QF1004: could use strings.ReplaceAll instead (staticcheck)\n            return strings.Replace(s, \"\\n\", \"\\n\"+strings.Repeat(\" \", i), -1)\n                   ^\n    flag.go:676:10: QF1004: could use strings.ReplaceAll instead (staticcheck)\n            return strings.Replace(s, \"\\n\", r, -1)\n                   ^\n    flag_test.go:757:12: QF1004: could use strings.ReplaceAll instead (staticcheck)\n            result \u003d strings.Replace(result, sep, to, -1)\n                     ^\n    flag_test.go:757:12: QF1004: could use strings.ReplaceAll instead (staticcheck)\n            result \u003d strings.Replace(result, sep, to, -1)\n                     ^\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "f2f15d09139ad70a8f6ac397b5771e603e6c587d",
      "tree": "1a0970ef3f220907be2dc3a96bfe95dfc3a2d0ca",
      "parents": [
        "8e4b114ebe78706a89c7d8bd798576cd203df945"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 19:56:26 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:09:28 2026"
      },
      "message": "fix errcheck linting\n\nSome of these were a slightly false positive, because flagSet.parseLongArg\nuses a named output var which was already assigned to `err`, and `flagSet.fail()`\nreturns the error-as is; https://github.com/spf13/pflag/blob/10438578954bba2527fe5cae3684d4532b064bbe/flag.go#L935-L942\n\n    flag.go:1033:9: Error return value of `f.fail` is not checked (errcheck)\n            f.fail(err)\n                  ^\n    flag.go:1109:9: Error return value of `f.fail` is not checked (errcheck)\n            f.fail(err)\n                  ^\n\nThis patch just re-assigns it to `err` to keep the linters happy.\n\nMany other unhandled errors were either \"neglectable\" (e.g. errors from\n`fmt.Printf`), and some unhandled errors would likely cause tests to fail\nlater on, but it doesn\u0027t hurt to be explicit and to explicitly mark unhandled\nerrors.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8e4b114ebe78706a89c7d8bd798576cd203df945",
      "tree": "126b7a742b8af24957a2a26e21b92af1eb3f8ae3",
      "parents": [
        "b85eb9e15911a41cd7c05d955503542e9befadf4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 20:09:11 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 04 22:08:01 2026"
      },
      "message": "format code with gofumpt\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "76da3f6f2e092de00ae8a5bb76ce3dd1ad514f2d",
      "tree": "30ef8d40d9d6c19dd4883c18cd984ba5e46683d8",
      "parents": [
        "b85eb9e15911a41cd7c05d955503542e9befadf4"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Mar 04 20:14:13 2026"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Mar 04 20:14:13 2026"
      },
      "message": "Fix broken link to POSIX argument conventions\n"
    },
    {
      "commit": "7b587c595d3b75872eb0d0acfc6797c72cfae7ed",
      "tree": "1dff32c6027abd307033a52f05598dec65648c8f",
      "parents": [
        "b85eb9e15911a41cd7c05d955503542e9befadf4"
      ],
      "author": {
        "name": "caie",
        "email": "wellitonscheer@gmail.com",
        "time": "Thu Feb 12 18:04:51 2026"
      },
      "committer": {
        "name": "caie",
        "email": "wellitonscheer@gmail.com",
        "time": "Thu Feb 12 18:04:51 2026"
      },
      "message": "Fix getFlagType error message\n"
    },
    {
      "commit": "b85eb9e15911a41cd7c05d955503542e9befadf4",
      "tree": "a56ccfe618e3f19c894dc87950272f152d7f17cd",
      "parents": [
        "6fcfbc9910e1af538fde31db820be7d1bec231e4",
        "00153c6ac5d57e570f8378dedf321f34e373e4c3"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Jan 10 15:15:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 10 15:15:13 2026"
      },
      "message": "Merge pull request #460 from pterjan/patch-2\n\nFix for Go 1.24"
    },
    {
      "commit": "00153c6ac5d57e570f8378dedf321f34e373e4c3",
      "tree": "a56ccfe618e3f19c894dc87950272f152d7f17cd",
      "parents": [
        "6fcfbc9910e1af538fde31db820be7d1bec231e4"
      ],
      "author": {
        "name": "Pascal Terjan",
        "email": "pterjan@gmail.com",
        "time": "Fri Jan 09 14:07:08 2026"
      },
      "committer": {
        "name": "Pascal Terjan",
        "email": "pterjan@mageia.org",
        "time": "Sat Jan 10 11:37:33 2026"
      },
      "message": "Fix for Go 1.24\n\nGo 1.24 no longer allows dynamic format string.\n"
    },
    {
      "commit": "6fcfbc9910e1af538fde31db820be7d1bec231e4",
      "tree": "ff40d07565c686e57f51a8e41b9da6851e00759b",
      "parents": [
        "be274af2a6d762e76dcb020967844bbcf3b3dbd4",
        "666b603e380566b3faf684b385848e6d9fc63004"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Tue Oct 07 10:14:50 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 07 10:14:50 2025"
      },
      "message": "Merge pull request #453 from alimpfard/bool-flag-help\n\nShow \u0027correct\u0027 explicit bool value syntax in help"
    },
    {
      "commit": "666b603e380566b3faf684b385848e6d9fc63004",
      "tree": "ff40d07565c686e57f51a8e41b9da6851e00759b",
      "parents": [
        "be274af2a6d762e76dcb020967844bbcf3b3dbd4"
      ],
      "author": {
        "name": "Ali Mohammad Pur",
        "email": "ali.mpfard@gmail.com",
        "time": "Thu Oct 02 22:54:20 2025"
      },
      "committer": {
        "name": "Ali Mohammad Pur",
        "email": "ali.mpfard@gmail.com",
        "time": "Sun Oct 05 08:56:11 2025"
      },
      "message": "Show \u0027correct\u0027 explicit bool value syntax in help\n"
    },
    {
      "commit": "be274af2a6d762e76dcb020967844bbcf3b3dbd4",
      "tree": "7fcd981ded4f4d1178988977094b5cae5a23852c",
      "parents": [
        "0491e5702ad2bb108bc519a5221bcc0f52aa9564",
        "5494e14f8cb125d5439aad4c37b344d7ea23e45b"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Sep 04 12:07:44 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 12:07:44 2025"
      },
      "message": "Merge pull request #452 from thaJeztah/update_readme\n\nREADME: update badges and minor linting fixes"
    },
    {
      "commit": "5494e14f8cb125d5439aad4c37b344d7ea23e45b",
      "tree": "7fcd981ded4f4d1178988977094b5cae5a23852c",
      "parents": [
        "0491e5702ad2bb108bc519a5221bcc0f52aa9564"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Sep 02 09:20:09 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Tue Sep 02 09:20:09 2025"
      },
      "message": "README: update badges and minor linting fixes\n\n- Update build status badge to point to GitHub actions\n- Add a license badge\n- Update documentation badge to point to pkg.go.dev\n- Minor fixes in examples to make them runnable\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "0491e5702ad2bb108bc519a5221bcc0f52aa9564",
      "tree": "ebc18802293a1645c75129f464c8be463d3d035c",
      "parents": [
        "72abab1d978352c34a7274f374d30f413e1c83f3",
        "7e4dfb1e325ce429e29994933210abe53de7041d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Tue Sep 02 06:08:29 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 06:08:29 2025"
      },
      "message": "Merge pull request #448 from thaJeztah/fix_go_version\n\nremove uses of errors.Is, which requires go1.13, move go1.16/go1.21 tests to separate file"
    },
    {
      "commit": "72abab1d978352c34a7274f374d30f413e1c83f3",
      "tree": "3d5c5850add1ff6bfac8d96e623ccc83b9b31ef3",
      "parents": [
        "10438578954bba2527fe5cae3684d4532b064bbe",
        "45a48733e35ba296a5f4dcc2b01996b89dc91a06"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Tue Sep 02 04:54:41 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 04:54:41 2025"
      },
      "message": "Merge pull request #447 from thaJeztah/fix_deprecation_comment\n\nfix deprecation comment for (FlagSet.)ParseErrorsWhitelist"
    },
    {
      "commit": "7e4dfb1e325ce429e29994933210abe53de7041d",
      "tree": "ce5d513eca373c0b12cd6e4dd91e1a4a3d9e63d0",
      "parents": [
        "18a9d17d0ee8bd64d5c2071fc031be86fa2cd328"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Mon Sep 01 19:32:25 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 21:10:11 2025"
      },
      "message": "Test on Go 1.12\n\nSince 1.12 is what we specify in go.mod, and therefore implicitly is what\nwe promise to work with, we should ensure that we don\u0027t introduce changes\nwhich break this promise (e.g. as 1bf832c6fec8a35a8c1d61e5fb14f5ce404197ef).\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "18a9d17d0ee8bd64d5c2071fc031be86fa2cd328",
      "tree": "b9ff208cf79a488329fddf768cd832b21cbaaa94",
      "parents": [
        "c5b9e989df31c5d19573e50d6188550ad51a971e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 10:48:45 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 21:10:11 2025"
      },
      "message": "move Func, BoolFunc, tests as they require go1.21\n\nCommit 69bc3bd5b37fa90e994be9acecf7430269591713 added support for Func()\nand BoolFunc() to match stdlib. However, the Func method was added in\n[go1.16.0], and BoolFunc in [go1.21.0], so running the tests on older\nversions of Go would fail;\n\n    docker run -it --rm -v ./:/pflag -w /pflag golang:1.21 sh -c \u0027go test -v ./...\u0027\n    # github.com/spf13/pflag [github.com/spf13/pflag.test]\n    ./bool_func_test.go:86:28: cannot use stdFSet (type *flag.FlagSet) as type BoolFuncFlagSet in argument to runCase:\n        *flag.FlagSet does not implement BoolFuncFlagSet (missing BoolFunc method)\n    ./bool_func_test.go:113:21: undefined: io.Discard\n    ./bool_func_test.go:116:28: cannot use stdFSet (type *flag.FlagSet) as type BoolFuncFlagSet in argument to runCase:\n        *flag.FlagSet does not implement BoolFuncFlagSet (missing BoolFunc method)\n    ./bool_func_test.go:139:7: undefined: errors.Is\n    ./func_test.go:92:28: cannot use stdFSet (type *flag.FlagSet) as type FuncFlagSet in argument to runCase:\n        *flag.FlagSet does not implement FuncFlagSet (missing Func method)\n    ./func_test.go:119:21: undefined: io.Discard\n    ./func_test.go:122:28: cannot use stdFSet (type *flag.FlagSet) as type FuncFlagSet in argument to runCase:\n        *flag.FlagSet does not implement FuncFlagSet (missing Func method)\n    ./func_test.go:145:7: undefined: errors.Is\n    ./func_test.go:145:7: too many errors\n    FAIL\tgithub.com/spf13/pflag [build failed]\n\nThis patch moves the tests to a separate file that is not built for older\nversions of Go.\n\n[go1.16.0]: https://pkg.go.dev/flag@go1.16.0#Func\n[go1.21.0]: https://pkg.go.dev/flag@go1.21.0#BoolFunc\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "c5b9e989df31c5d19573e50d6188550ad51a971e",
      "tree": "b82907c198f0abb6dcb3f887bd4036c6db414cff",
      "parents": [
        "10438578954bba2527fe5cae3684d4532b064bbe"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 19:10:46 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 21:10:00 2025"
      },
      "message": "remove uses of errors.Is, which requires go1.13\n\nCommit 1bf832c6fec8a35a8c1d61e5fb14f5ce404197ef introduced the use of\n`errors.Is`, which was added in [go1.13], but the `go.mod` was not\nupdated to reflect this, causing compile failures on go1.12:\n\n    docker run -it --rm -v ./:/pflag -w /pflag golang:1.12 sh -c \u0027go test -v ./...\u0027\n    # github.com/spf13/pflag [github.com/spf13/pflag.test]\n    ./flag.go:1190:7: undefined: errors.Is\n    ./flag.go:1219:7: undefined: errors.Is\n    ./bool_func_test.go:86:28: cannot use stdFSet (type *flag.FlagSet) as type BoolFuncFlagSet in argument to runCase:\n        *flag.FlagSet does not implement BoolFuncFlagSet (missing BoolFunc method)\n    ...\n\nAs the error that is tested will not be wrapped, we can omit the `errors.Is`,\nand instead continue doing a straight comparison.\n\n[go1.13]: https://pkg.go.dev/errors@go1.13#Is\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "45a48733e35ba296a5f4dcc2b01996b89dc91a06",
      "tree": "3d5c5850add1ff6bfac8d96e623ccc83b9b31ef3",
      "parents": [
        "10438578954bba2527fe5cae3684d4532b064bbe"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 09:58:23 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Sep 01 21:05:22 2025"
      },
      "message": "fix deprecation comment for (FlagSet.)ParseErrorsWhitelist\n\nCommit 7412009ab0f29ad89cbc6625911a58c0618cf31e added back these types\nand marked them as deprecated, but did not use the correct format as\ndocumented in the [go documentation].\n\nDeprecation comments should be in their own paragraph within the GoDoc,\nand start with `Deprecated:`, which is case-sensitive. Currently, the\ndeprecation comment is not properly detected, and does not show up as\ndeprecated on [pkg.go.dev].\n\nThis patch;\n\n- Fixes the deprecation comments to be in the right format.\n- Updates the GoDoc to use a \"docs link\" to refer to their replacement,\n  which creates a link to those types on pkg.go.dev.\n- Adds back GoDoc for the deprecated functions to make sure the GoDoc\n  is in the correct format and keep linters happy.\n\n[go documentation]: https://go.dev/doc/comment#deprecations\n[pkg.go.dev]: https://pkg.go.dev/github.com/spf13/pflag@v1.0.9#ParseErrorsWhitelist\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "10438578954bba2527fe5cae3684d4532b064bbe",
      "tree": "23b5f8a728b5e6c398f066535567a3583dd70d80",
      "parents": [
        "b9c16fa5ec31cd7339621b8d208bf4f2769486c4",
        "7412009ab0f29ad89cbc6625911a58c0618cf31e"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Mon Sep 01 07:27:15 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 07:27:15 2025"
      },
      "message": "Merge pull request #446 from spf13/fix-backwards-compat\n\nfix: Restore ParseErrorsWhitelist name for now"
    },
    {
      "commit": "7412009ab0f29ad89cbc6625911a58c0618cf31e",
      "tree": "23b5f8a728b5e6c398f066535567a3583dd70d80",
      "parents": [
        "b9c16fa5ec31cd7339621b8d208bf4f2769486c4"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Mon Sep 01 07:03:48 2025"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Mon Sep 01 07:03:48 2025"
      },
      "message": "fix: Restore ParseErrorsWhitelist name for now\n\nThis will be removed in a future release, but is reintroduced here to not break backwards compatibility.\n"
    },
    {
      "commit": "b9c16fa5ec31cd7339621b8d208bf4f2769486c4",
      "tree": "d40000fba0de4dd93b4bd6389632c9918c49f282",
      "parents": [
        "40abc492254e0920cbb9fb31d6fe7184e746ad31",
        "d25dd242b134a8ca037812921a93cac978b86fd5"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sun Aug 31 19:49:19 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 31 19:49:19 2025"
      },
      "message": "Merge pull request #444 from spf13/reset-args-even-if-empty\n\nReset args on re-parse even if empty"
    },
    {
      "commit": "40abc492254e0920cbb9fb31d6fe7184e746ad31",
      "tree": "143aac5046a680006ae6e96db836583bffb58d74",
      "parents": [
        "094909dbe8ce782026dd7c254622b06ec385b640",
        "1bf832c6fec8a35a8c1d61e5fb14f5ce404197ef"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Aug 30 07:47:38 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 30 07:47:38 2025"
      },
      "message": "Merge pull request #443 from spf13/silence-errhelp\n\nfix: Don\u0027t print ErrHelp in ParseAll"
    },
    {
      "commit": "1bf832c6fec8a35a8c1d61e5fb14f5ce404197ef",
      "tree": "6b0de29645c0750726e4403a5e9b29556b863611",
      "parents": [
        "b55ffb6b7ca272b5085317ae58e4631a0f90199d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Aug 30 06:36:09 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 30 06:36:09 2025"
      },
      "message": "Use errors.Is instead of equality check"
    },
    {
      "commit": "d25dd242b134a8ca037812921a93cac978b86fd5",
      "tree": "ee9601364abb12488a2d415049509f18b1bb6426",
      "parents": [
        "7c651d1d398142c3056ff45df14f2019bad2146d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:33:29 2025"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:42:21 2025"
      },
      "message": "Reset args on re-parse even if empty\n\nThis ensures fs.Args() returns the expected thing after every parse.\n\nFixes #439.\n"
    },
    {
      "commit": "094909dbe8ce782026dd7c254622b06ec385b640",
      "tree": "8f0e6c81280367c13ef0c16c797cfb1e89942bc3",
      "parents": [
        "7c651d1d398142c3056ff45df14f2019bad2146d",
        "ccb49e5fea9f96c72827c71454198b28bf11ef49"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:38:26 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 29 20:38:26 2025"
      },
      "message": "Merge pull request #365 from vaguecoder/str2str-sorted\n\nPrint Default Values of String-to-String in Sorted Order"
    },
    {
      "commit": "ccb49e5fea9f96c72827c71454198b28bf11ef49",
      "tree": "8f0e6c81280367c13ef0c16c797cfb1e89942bc3",
      "parents": [
        "7c651d1d398142c3056ff45df14f2019bad2146d"
      ],
      "author": {
        "name": "Bhargav Ravuri",
        "email": "vaguecoder0to.n@gmail.com",
        "time": "Sat Nov 19 16:25:53 2022"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:35:41 2025"
      },
      "message": "Print Default Values of String-to-String in Sorted Order\n\nSigned-off-by: Bhargav Ravuri \u003cvaguecoder0to.n@gmail.com\u003e\n"
    },
    {
      "commit": "b55ffb6b7ca272b5085317ae58e4631a0f90199d",
      "tree": "9dae445b702a32eb21612c4f18448f9e540dc81c",
      "parents": [
        "7c651d1d398142c3056ff45df14f2019bad2146d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:13:14 2025"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:13:14 2025"
      },
      "message": "fix: Don\u0027t print ErrHelp in ParseAll\n\nThis is a fixup of #407 to ensure behavior of ExitOnError is consistent.\n"
    },
    {
      "commit": "7c651d1d398142c3056ff45df14f2019bad2146d",
      "tree": "321b27604470eed0b00615ea41f0f32f9bf8104a",
      "parents": [
        "1db553c27f5b9952dbb6484ed9999547b9e7dfb2",
        "fd649b20e66a30631ee35bba78164180d02730d4"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 20:01:40 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 29 20:01:40 2025"
      },
      "message": "Merge pull request #407 from tmc/fix-errhelp\n\nflag: Emulate stdlib behavior and do not print ErrHelp"
    },
    {
      "commit": "fd649b20e66a30631ee35bba78164180d02730d4",
      "tree": "321b27604470eed0b00615ea41f0f32f9bf8104a",
      "parents": [
        "d66f0ce2a7f887f0ff5f5af48649f3a01b3f0566",
        "1db553c27f5b9952dbb6484ed9999547b9e7dfb2"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Fri Aug 29 19:59:56 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 29 19:59:56 2025"
      },
      "message": "Merge branch \u0027master\u0027 into fix-errhelp"
    },
    {
      "commit": "1db553c27f5b9952dbb6484ed9999547b9e7dfb2",
      "tree": "0fe75c2d543516d4194bd6c5e0d864c1b5a3ba27",
      "parents": [
        "bfb56184cc124b2a206273c751d7144ec4a8533a",
        "44aa4aa86e19d69d62479bfa1a244d4858a62ee5"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Aug 02 04:39:23 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 02 04:39:23 2025"
      },
      "message": "Merge pull request #330 from pohly/copy-to-go-flagset\n\nimplement CopyToGoFlagSet"
    },
    {
      "commit": "bfb56184cc124b2a206273c751d7144ec4a8533a",
      "tree": "878a2dedc3c9386172ee78fe799e24b6a22c9166",
      "parents": [
        "c78f730fb023e4012c4097b24408867cd5c5bdde",
        "1b52f7648f880d6ef6aaa19e45b102edadd6c50a"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Aug 02 04:30:24 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 02 04:30:24 2025"
      },
      "message": "Merge pull request #438 from mologie/fix-time-default-text\n\nOmit zero time.Time default from usage line"
    },
    {
      "commit": "44aa4aa86e19d69d62479bfa1a244d4858a62ee5",
      "tree": "a9f740a38a62706ae1124624809eebd32dd90847",
      "parents": [
        "c78f730fb023e4012c4097b24408867cd5c5bdde"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Wed Sep 15 10:49:31 2021"
      },
      "committer": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Wed Jul 30 08:26:34 2025"
      },
      "message": "add CopyToGoFlagSet\n\nThis is useful for programs which want to define some flags with pflag (for\nexample, in external packages) but still need to use Go flag command line\nparsing to preserve backward compatibility with previous releases, in\nparticular support for single-dash flags.\n\nWithout this in pflag, such tools have to resort to copying via the public\nAPI, which leads to less useful help messages (type of basic values\nwill be unknown).\n"
    },
    {
      "commit": "1b52f7648f880d6ef6aaa19e45b102edadd6c50a",
      "tree": "878a2dedc3c9386172ee78fe799e24b6a22c9166",
      "parents": [
        "c78f730fb023e4012c4097b24408867cd5c5bdde"
      ],
      "author": {
        "name": "Oliver Kuckertz",
        "email": "oliver.kuckertz@authenticvision.com",
        "time": "Thu Jul 24 15:52:43 2025"
      },
      "committer": {
        "name": "Oliver Kuckertz",
        "email": "oliver.kuckertz@authenticvision.com",
        "time": "Thu Jul 24 15:54:07 2025"
      },
      "message": "Omit zero time.Time default from usage line\n\nThis was missed in #348, there previously was no way to omit the\ndefault value. Treating zero timestamp values as canary for absence\nof a default is in line with other flag types, e.g. zero ints.\n"
    },
    {
      "commit": "c78f730fb023e4012c4097b24408867cd5c5bdde",
      "tree": "71e39980c518afe645c279857d1f3377b9b50ff3",
      "parents": [
        "c2fd743bf6955c7ac319714a7855bd184cc58af7",
        "0aa4171c4229535ef4247b9283732fb21867b08e"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 17 09:32:04 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 17 09:32:04 2025"
      },
      "message": "Merge pull request #261 from dubrie/master\n\nSwitching from whitelist to Allowlist terminology. Fixes #294"
    },
    {
      "commit": "c2fd743bf6955c7ac319714a7855bd184cc58af7",
      "tree": "81f68e8eb4d08ee202998286e00969093b0ea94c",
      "parents": [
        "f9cbdd9ca94287ab4ef0848e67ecd77cf1361d48",
        "391036c21b8dc5e6c4b1d535e69885d8e613fb06"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 17 09:22:12 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 17 09:22:12 2025"
      },
      "message": "Merge pull request #364 from vaguecoder/duplicate-error\n\nRemove Redundant \"Unknown-Flag\" Error"
    },
    {
      "commit": "391036c21b8dc5e6c4b1d535e69885d8e613fb06",
      "tree": "49f749b9b8fb4817aac7ebf1dba0ecc5ad470ea5",
      "parents": [
        "5159cdaa32a65acb63296cbd45033696aa9c7e88"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 17 09:18:53 2025"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 17 09:18:53 2025"
      },
      "message": "Ensure output is written also from ParseAll\n"
    },
    {
      "commit": "5159cdaa32a65acb63296cbd45033696aa9c7e88",
      "tree": "4cf8169910ff6a3fc9074507f438ccc97d58fcae",
      "parents": [
        "1a9275f338e607971cca74c95ac1bc01e4904f7a"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 17 09:18:39 2025"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu Jul 17 09:18:39 2025"
      },
      "message": "Ensure output is written to correct stream\n"
    },
    {
      "commit": "f9cbdd9ca94287ab4ef0848e67ecd77cf1361d48",
      "tree": "f1ac1605fcce5193d2d9d16969e90db2fc59ede7",
      "parents": [
        "1c62fb2813da5f1d1b893a49180a41b3f6be3262",
        "e3be2ebcffcc36be35e23d418d3e0ba86239826a"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jul 16 21:42:25 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 16 21:42:25 2025"
      },
      "message": "Merge pull request #348 from max-frank/add-time-flag-support\n\nAdd support for time.Time flags"
    },
    {
      "commit": "e3be2ebcffcc36be35e23d418d3e0ba86239826a",
      "tree": "f1ac1605fcce5193d2d9d16969e90db2fc59ede7",
      "parents": [
        "7cc25e3bdd8c540b243f70c366ba1f1856fcd9e9"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jul 16 21:38:11 2025"
      },
      "committer": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jul 16 21:40:43 2025"
      },
      "message": "Reduce duplication by forwarding to sibling functions\n"
    },
    {
      "commit": "7cc25e3bdd8c540b243f70c366ba1f1856fcd9e9",
      "tree": "9db547e4fa34df81f3637d76b572e355783fc5e9",
      "parents": [
        "d15848db482b52179577da9738cf9702d8d28466"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed Jul 16 21:37:38 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 16 21:37:38 2025"
      },
      "message": "Don\u0027t export `TimeValue` (yet)"
    },
    {
      "commit": "d15848db482b52179577da9738cf9702d8d28466",
      "tree": "638921f9167031ffcd8c114c5ed9fe73199e41df",
      "parents": [
        "c5ce22e836c6268eb270e8f28ae5e3729a27c82d"
      ],
      "author": {
        "name": "Maximilian Frank",
        "email": "mfrank@mercari.com",
        "time": "Sun Jul 13 23:52:47 2025"
      },
      "committer": {
        "name": "Maximilian Frank",
        "email": "mfrank@mercari.com",
        "time": "Sun Jul 13 23:52:47 2025"
      },
      "message": "Remove unnecessary time test stderr dev null redirect\n"
    },
    {
      "commit": "c5ce22e836c6268eb270e8f28ae5e3729a27c82d",
      "tree": "028618898a525ecb4378afd38e3d5778c234e449",
      "parents": [
        "1992c5a7b88da3490ad7ac088c72dd20b466ee8d"
      ],
      "author": {
        "name": "Maximilian Frank",
        "email": "mfrank@mercari.com",
        "time": "Sun Jul 13 23:44:29 2025"
      },
      "committer": {
        "name": "Maximilian Frank",
        "email": "mfrank@mercari.com",
        "time": "Sun Jul 13 23:44:29 2025"
      },
      "message": "Use time.Time for expectations in time flag tests\n"
    },
    {
      "commit": "1992c5a7b88da3490ad7ac088c72dd20b466ee8d",
      "tree": "7b837b0ca19b287092331cad9e423a5203852c25",
      "parents": [
        "1c62fb2813da5f1d1b893a49180a41b3f6be3262"
      ],
      "author": {
        "name": "Maximilian Frank",
        "email": "mfrank@mercari.com",
        "time": "Wed Mar 23 11:42:55 2022"
      },
      "committer": {
        "name": "Maximilian Frank",
        "email": "mfrank@mercari.com",
        "time": "Sun Jul 13 23:35:47 2025"
      },
      "message": "Add support for time.Time flags\n"
    },
    {
      "commit": "1c62fb2813da5f1d1b893a49180a41b3f6be3262",
      "tree": "289c9ab56575327b848a6dae879737cf9b1edb4d",
      "parents": [
        "8a6c85f2ae488081f953744f9edc414bac10ee45",
        "1a4b5b2e5c7ee4a194cebc579bb34198187df73d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat Jun 28 09:26:14 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 28 09:26:14 2025"
      },
      "message": "Merge pull request #431 from LeGEC/430-fix-usage-message-for-func-flags\n\nfix usage message for func flags, fix arguments order"
    },
    {
      "commit": "1a4b5b2e5c7ee4a194cebc579bb34198187df73d",
      "tree": "289c9ab56575327b848a6dae879737cf9b1edb4d",
      "parents": [
        "4730aa0d979f34d4f7427d524b84043557ba72ef"
      ],
      "author": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Fri Jun 27 16:02:03 2025"
      },
      "committer": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Fri Jun 27 16:03:26 2025"
      },
      "message": "fix discrepancy in order of arguments for Func() and BoolFunc() #433\n\nfor no good reason: the order of arguments would differ when calling\npflag.BoolFuncP(...) and (*FlagSet).BoolFuncP(...)\n(same goes for Func() and FuncP())\n\nin this commit: align all functions on stdlib\u0027s order\n\nfixes #433\n"
    },
    {
      "commit": "4730aa0d979f34d4f7427d524b84043557ba72ef",
      "tree": "1216ad677454c2ffba6da37299a473a2296d5b98",
      "parents": [
        "f4c97c2487b06cff392d2958534e7195f79847fb"
      ],
      "author": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Mon Jun 09 18:38:23 2025"
      },
      "committer": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Mon Jun 09 19:14:57 2025"
      },
      "message": "fix help message for Func and BoolFunc flags #430\n\n* have \u0027.Type()\u0027 for boolfuncValue return \"boolfunc\" (dedicated value,\n  which now makes it distinct from funcValue)\n* hide extra \"(default )\" by stating that \"\" should be treated as\n  a zero value for a boolFlag\n  note:\n  - a boolfuncValue matches \u0027case boolFlag:\u0027, as it\n    implements the boolFlag interface,\n  - treating \"\" as a value which shouldn\u0027t trigger a \"(default )\"\n    for a regular Bool flag does not look like a breaking change\n* hide extra \"[\u003dsomething]\" for boolfuncValue\n* set default placeholder name for \"boolfunc\" and \"func\" flag types\n"
    },
    {
      "commit": "f4c97c2487b06cff392d2958534e7195f79847fb",
      "tree": "396084677a2d9f4b0303e46cb3c37324e3cd09ec",
      "parents": [
        "8a6c85f2ae488081f953744f9edc414bac10ee45"
      ],
      "author": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Mon Jun 09 19:03:34 2025"
      },
      "committer": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Mon Jun 09 19:03:47 2025"
      },
      "message": "minor: fix typos in comments\n"
    },
    {
      "commit": "8a6c85f2ae488081f953744f9edc414bac10ee45",
      "tree": "67d437afa7187f8a88e5bce056f48dc9d0eff667",
      "parents": [
        "bca0664b6991016400b98ac29aae5a73f926bd71",
        "f9b6619ed0e0d771f7812fea23cd8b514faf2b2d"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sun Jun 01 09:27:42 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 01 09:27:42 2025"
      },
      "message": "Merge pull request #409 from ShawnJeffersonWang/master\n\nfix: correct argument length check in FlagSet.Parse"
    },
    {
      "commit": "bca0664b6991016400b98ac29aae5a73f926bd71",
      "tree": "3a4ed965307ae8ee2acf11ac2a92124b859e216e",
      "parents": [
        "196624cc28da007ab68e13213b7fb6447211ad31",
        "69bc3bd5b37fa90e994be9acecf7430269591713"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Sat May 24 21:06:39 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 24 21:06:39 2025"
      },
      "message": "Merge pull request #429 from LeGEC/426-add-func-and-bool-func\n\nadd support for Func() and BoolFunc() #426"
    },
    {
      "commit": "69bc3bd5b37fa90e994be9acecf7430269591713",
      "tree": "3a4ed965307ae8ee2acf11ac2a92124b859e216e",
      "parents": [
        "196624cc28da007ab68e13213b7fb6447211ad31"
      ],
      "author": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Thu May 22 18:56:18 2025"
      },
      "committer": {
        "name": "Georges Varouchas",
        "email": "georges.varouchas@gmail.com",
        "time": "Thu May 22 19:08:30 2025"
      },
      "message": "add support for Func() and BoolFunc() #426\n\nAdd support for two features which landed in the \u0027flag\u0027 package\nfrom the standard library: Func() and BoolFunc()\nand their two pflag specific versions: FuncP() and BoolFuncP()\n\nfixes #426\n"
    },
    {
      "commit": "196624cc28da007ab68e13213b7fb6447211ad31",
      "tree": "3f0a00c49539532d92fdb83775999d9a948bb16c",
      "parents": [
        "7322552c7c20c512a8b5bedeb1ad4a9504fcee00",
        "011db0c1163722ac2fa4452be8be8123768dc912"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Thu May 15 06:34:45 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 15 06:34:45 2025"
      },
      "message": "Merge pull request #418 from hujun-open/master\n\nadd support equivalent to golang flag.TextVar(), also fixes the test failure as described in #368"
    },
    {
      "commit": "7322552c7c20c512a8b5bedeb1ad4a9504fcee00",
      "tree": "8f65bfadb6ff474bb04d04683e7a3b3cfeab38a6",
      "parents": [
        "957ea4b77e38a9c6673053aa3513a727393b6941",
        "9c97fadb5c53411b3c4f0c1021f605b967632efd"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed May 14 19:39:01 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 14 19:39:01 2025"
      },
      "message": "Merge pull request #424 from valdar/issue/423\n\nfix #423 : Add helper function and some documentation to parse shorthand go test flags."
    },
    {
      "commit": "9c97fadb5c53411b3c4f0c1021f605b967632efd",
      "tree": "9dda321340d46f7f2d86aeaa0d23ceeacb46aa9b",
      "parents": [
        "19c9c4072e41218b18b93dbfc3798c18835d2fd5"
      ],
      "author": {
        "name": "Andrea Tarocchi",
        "email": "andrea.tarocchi@gmail.com",
        "time": "Sun Apr 13 09:25:48 2025"
      },
      "committer": {
        "name": "Andrea Tarocchi",
        "email": "andrea.tarocchi@gmail.com",
        "time": "Wed May 14 09:59:31 2025"
      },
      "message": "fix #423 : Add helper function and some documentation to parse shorthand go test flags.\n"
    },
    {
      "commit": "011db0c1163722ac2fa4452be8be8123768dc912",
      "tree": "2e5527611783628aca69318fcf67523824047475",
      "parents": [
        "2a2b77a54936c042e155dd11eaacf2159b4b6cdf"
      ],
      "author": {
        "name": "Hu Jun",
        "email": "hujun.work@gmail.com",
        "time": "Sat May 10 23:26:11 2025"
      },
      "committer": {
        "name": "Hu Jun",
        "email": "hujun.work@gmail.com",
        "time": "Sat May 10 23:26:11 2025"
      },
      "message": "- update text_test.go based on PR review comments\n- return is missing in one error path of GetText(), fixed\n"
    },
    {
      "commit": "957ea4b77e38a9c6673053aa3513a727393b6941",
      "tree": "84bdddc0a15cb99f04f55e8837a9a8e73dc43634",
      "parents": [
        "d661846b4df0d6611ad95577ddfb240474d21b7c",
        "155e7f39ce86bdc58e103be0e6c786df26f04c73"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Wed May 07 06:50:24 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 07 06:50:24 2025"
      },
      "message": "Merge pull request #428 from co63oc/fix1\n\nFix typos"
    },
    {
      "commit": "155e7f39ce86bdc58e103be0e6c786df26f04c73",
      "tree": "84bdddc0a15cb99f04f55e8837a9a8e73dc43634",
      "parents": [
        "d661846b4df0d6611ad95577ddfb240474d21b7c"
      ],
      "author": {
        "name": "co63oc",
        "email": "co63oc@users.noreply.github.com",
        "time": "Tue May 06 06:47:37 2025"
      },
      "committer": {
        "name": "co63oc",
        "email": "co63oc@users.noreply.github.com",
        "time": "Tue May 06 06:47:37 2025"
      },
      "message": "Fix typos\n"
    },
    {
      "commit": "2a2b77a54936c042e155dd11eaacf2159b4b6cdf",
      "tree": "61329708f247bad0cc247c0257d3a66d1b522386",
      "parents": [
        "aae8e193d1d01538cb04b9768a722ea18d8aed44",
        "d661846b4df0d6611ad95577ddfb240474d21b7c"
      ],
      "author": {
        "name": "Hu Jun",
        "email": "hujun.work@gmail.com",
        "time": "Tue Apr 29 03:37:52 2025"
      },
      "committer": {
        "name": "Hu Jun",
        "email": "hujun.work@gmail.com",
        "time": "Tue Apr 29 03:37:52 2025"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027\n"
    },
    {
      "commit": "d661846b4df0d6611ad95577ddfb240474d21b7c",
      "tree": "319f3221c52fb10c2e870d50cdfdc531c22eb4e4",
      "parents": [
        "19c9c4072e41218b18b93dbfc3798c18835d2fd5",
        "6ca66b16cbe1b365ce9a6c56faf9b04acb8d8035"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Tue Apr 22 15:47:47 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 22 15:47:47 2025"
      },
      "message": "Merge pull request #425 from eth-p/error-structs\n\nfeat: Use structs for errors returned by pflag."
    },
    {
      "commit": "6ca66b16cbe1b365ce9a6c56faf9b04acb8d8035",
      "tree": "319f3221c52fb10c2e870d50cdfdc531c22eb4e4",
      "parents": [
        "ca5cf963c30751583422d6264a5427e9682f1a1a"
      ],
      "author": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 04:54:00 2025"
      },
      "committer": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 05:06:34 2025"
      },
      "message": "test: Add tests for error structs\n"
    },
    {
      "commit": "ca5cf963c30751583422d6264a5427e9682f1a1a",
      "tree": "7588ff2fe2ddd1d0eecacec60f04fd019b2d6114",
      "parents": [
        "8d771585bd8aed7c04b9d409f30599f3c7ed39c7"
      ],
      "author": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 04:47:13 2025"
      },
      "committer": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 05:06:34 2025"
      },
      "message": "feat: Add getters to error structs\n"
    },
    {
      "commit": "8d771585bd8aed7c04b9d409f30599f3c7ed39c7",
      "tree": "d0feb9a166a36d95befb86139f5d1f8a0ef82172",
      "parents": [
        "e9268909c269ea54836435ff420ce0d5d59324ac"
      ],
      "author": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 04:29:30 2025"
      },
      "committer": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 05:06:33 2025"
      },
      "message": "feat: Use error structs for most returned errors\n\nThis allows callers to differentiate between error types without having\nto parse the error message string.\n"
    },
    {
      "commit": "e9268909c269ea54836435ff420ce0d5d59324ac",
      "tree": "11277985fbde7e7706b5dc0b95a1fd96dd05c31d",
      "parents": [
        "19c9c4072e41218b18b93dbfc3798c18835d2fd5"
      ],
      "author": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 04:28:13 2025"
      },
      "committer": {
        "name": "Ethan P.",
        "email": "eth-p+git@hidden.email",
        "time": "Tue Apr 22 04:44:31 2025"
      },
      "message": "test: Commonly-returned error messages\n\nAdd tests to ensure invalid arguments and unknown flag error messages\ndon\u0027t change.\n"
    },
    {
      "commit": "19c9c4072e41218b18b93dbfc3798c18835d2fd5",
      "tree": "8b776ebe618ee95f5c1db63c1c4b71b3b35b0b60",
      "parents": [
        "5ca813443bd2a4d9f46a253ea0407d23b3790713",
        "c96309303407244840d6f2bc00ae32dc95390c25"
      ],
      "author": {
        "name": "Tomas Aschan",
        "email": "1550920+tomasaschan@users.noreply.github.com",
        "time": "Tue Apr 01 20:50:37 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 01 20:50:37 2025"
      },
      "message": "Merge pull request #422 from MidnightRocket/fix-default-is-zerovalue-for-generic-value-type\n\nFix defaultIsZeroValue check for generic Value types"
    },
    {
      "commit": "c96309303407244840d6f2bc00ae32dc95390c25",
      "tree": "8b776ebe618ee95f5c1db63c1c4b71b3b35b0b60",
      "parents": [
        "edb16648484c5752d70fd84f08b3aecc46e61339"
      ],
      "author": {
        "name": "MidnightRocket",
        "email": "git@midnightrocket.dev",
        "time": "Fri Mar 21 17:03:46 2025"
      },
      "committer": {
        "name": "MidnightRocket",
        "email": "git@midnightrocket.dev",
        "time": "Tue Apr 01 19:24:03 2025"
      },
      "message": "Improve readability for error in TestPrintDefaults\n"
    },
    {
      "commit": "edb16648484c5752d70fd84f08b3aecc46e61339",
      "tree": "d014832f50bf84cf17f3c2c268c2772593187718",
      "parents": [
        "9edfc8d416bea8aecfbdf0790a838f95ae133078"
      ],
      "author": {
        "name": "MidnightRocket",
        "email": "git@midnightrocket.dev",
        "time": "Fri Mar 21 17:02:55 2025"
      },
      "committer": {
        "name": "MidnightRocket",
        "email": "git@midnightrocket.dev",
        "time": "Tue Apr 01 19:23:37 2025"
      },
      "message": "Add better test for defaultIsZeroValue for generic Value type\n"
    },
    {
      "commit": "9edfc8d416bea8aecfbdf0790a838f95ae133078",
      "tree": "bc36aae6386440a7c1044e3b15a85965ecf7e691",
      "parents": [
        "5ca813443bd2a4d9f46a253ea0407d23b3790713"
      ],
      "author": {
        "name": "MidnightRocket",
        "email": "git@midnightrocket.dev",
        "time": "Tue Mar 18 13:07:18 2025"
      },
      "committer": {
        "name": "MidnightRocket",
        "email": "git@midnightrocket.dev",
        "time": "Tue Mar 18 14:17:18 2025"
      },
      "message": "Fix defaultIsZeroValue check for generic Value type\n"
    },
    {
      "commit": "aae8e193d1d01538cb04b9768a722ea18d8aed44",
      "tree": "86ee3a2a7b9c9da6756973ebd67f4956846c60f1",
      "parents": [
        "1118d46dfe34c2d77aee04d819315a21942aa444",
        "5ca813443bd2a4d9f46a253ea0407d23b3790713"
      ],
      "author": {
        "name": "Hu Jun",
        "email": "hujun.work@gmail.com",
        "time": "Sat Mar 08 22:28:53 2025"
      },
      "committer": {
        "name": "Hu Jun",
        "email": "hujun.work@gmail.com",
        "time": "Sat Mar 08 22:28:53 2025"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027\n"
    }
  ],
  "next": "5ca813443bd2a4d9f46a253ea0407d23b3790713"
}
