)]}'
{
  "log": [
    {
      "commit": "125b2b9e2260ec1268dd73d75519fd146e8a5e6e",
      "tree": "bb4458f0bafeee2994dd6c870077f0de69ac4a7e",
      "parents": [
        "616db837d1e05c41f158dc0813cf1b10e481b255"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Mon Apr 13 22:35:11 2026 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Mon Apr 13 22:35:11 2026 +0530"
      },
      "message": "record the changes and contributor of pull request 230\n"
    },
    {
      "commit": "616db837d1e05c41f158dc0813cf1b10e481b255",
      "tree": "05f64b4dbb58bd6ce229b5a1ec98f56315e51fa9",
      "parents": [
        "4d1d05e989c0ffa493164ff9c4f2156676d1d773"
      ],
      "author": {
        "name": "jmjaffe37",
        "email": "111303274+jmjaffe37@users.noreply.github.com",
        "time": "Mon Apr 13 09:12:40 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 21:42:40 2026 +0530"
      },
      "message": "Removed outdated Microsoft vendor hardcoding which can cause errors"
    },
    {
      "commit": "4d1d05e989c0ffa493164ff9c4f2156676d1d773",
      "tree": "c71822e0898b30bff37bc5a62cde5a1b1e10e78e",
      "parents": [
        "ead2a75806f3cef76601b965bdfad0ca0f93e55a"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Apr 11 15:01:47 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Apr 11 15:01:47 2026 +0200"
      },
      "message": "use default timezone and locale in tstamp when SOURCE_DATE_EPOCH is used\n"
    },
    {
      "commit": "ead2a75806f3cef76601b965bdfad0ca0f93e55a",
      "tree": "03757078c6105abc79b1803d5b0b22cd09c75235",
      "parents": [
        "4198028c333ea163ac67e58a0e63f31d0475a214"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Apr 06 11:14:11 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 10 17:15:29 2026 +0200"
      },
      "message": "Prepare for RC1 of version 1.10.17 of Ant\n"
    },
    {
      "commit": "4198028c333ea163ac67e58a0e63f31d0475a214",
      "tree": "73ede8865772c1205bbfd4f10b841cfbd15037e9",
      "parents": [
        "c1764693292691887107328cf10302a1ea825579"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Apr 05 19:38:15 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Apr 05 19:38:15 2026 +0200"
      },
      "message": "documented format for TSTAMP is also wrong\n"
    },
    {
      "commit": "c1764693292691887107328cf10302a1ea825579",
      "tree": "cdf243d6ff72766d5aaaa7e6ba354ec03d1663e5",
      "parents": [
        "a8bc5d766655f54c1e4889f2cf4c00f9ad81dbf3",
        "abf19d2a6b99c4cf47b54a5085634ba69a39b0f0"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Apr 05 17:36:03 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 17:36:03 2026 +0000"
      },
      "message": "Merge pull request #229 from pzygielo/tsfmt\n\nSynchronize docs with code"
    },
    {
      "commit": "abf19d2a6b99c4cf47b54a5085634ba69a39b0f0",
      "tree": "cdf243d6ff72766d5aaaa7e6ba354ec03d1663e5",
      "parents": [
        "a8bc5d766655f54c1e4889f2cf4c00f9ad81dbf3"
      ],
      "author": {
        "name": "Piotrek Żygieło",
        "email": "pzygielo@users.noreply.github.com",
        "time": "Sun Apr 05 14:58:33 2026 +0200"
      },
      "committer": {
        "name": "Piotrek Żygieło",
        "email": "pzygielo@users.noreply.github.com",
        "time": "Sun Apr 05 14:58:33 2026 +0200"
      },
      "message": "Synchronize docs with code\n"
    },
    {
      "commit": "a8bc5d766655f54c1e4889f2cf4c00f9ad81dbf3",
      "tree": "f265747194b34ec2de4cba8f5e3db2a311edbb33",
      "parents": [
        "11ed01df5832a72342710681344b89b4a272cc5b"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 03 10:29:01 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 03 10:29:01 2026 +0200"
      },
      "message": "remove static reference fro JavaEnvUtis to FileUtils completely\n"
    },
    {
      "commit": "11ed01df5832a72342710681344b89b4a272cc5b",
      "tree": "27d4cc0ae04a3d9dec5a5d159c4e990c6da21009",
      "parents": [
        "8b82aa501391738fec9ba0f2788f39982e1edb22"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 03 09:55:00 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 03 09:55:00 2026 +0200"
      },
      "message": "\"fixed it\" and a copy-paste error\n"
    },
    {
      "commit": "8b82aa501391738fec9ba0f2788f39982e1edb22",
      "tree": "32d3208089e013808b30d0ede6c108562661d29a",
      "parents": [
        "b2f327263a039464067bc97eabd6b6324c673301"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 03 09:45:15 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Apr 03 09:45:15 2026 +0200"
      },
      "message": "allow JavaEnvUtils class to be loaded without loading FileUtils explicitly\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d69992\n"
    },
    {
      "commit": "b2f327263a039464067bc97eabd6b6324c673301",
      "tree": "fb6013de3afa8e1a833faaa8c10c58c21cdeabe0",
      "parents": [
        "756f12eba2d3ea96d287e682ddaf95b6da86ab4d"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Apr 01 17:40:28 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Apr 01 17:40:28 2026 +0200"
      },
      "message": "typos\n"
    },
    {
      "commit": "756f12eba2d3ea96d287e682ddaf95b6da86ab4d",
      "tree": "51e08b78fd4d028ca5a885273a4f8b66aa6cb3e5",
      "parents": [
        "cbb8191bc823d7634b8fa63287f3cf3d68c125d5",
        "0f752d1eefda766a939a9524222b56917a2a6398"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Apr 01 14:35:19 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Apr 01 14:42:05 2026 +0200"
      },
      "message": "Merge tag \u0027rel/1.10.16\u0027\n\nTagging version 1.10.16 of Ant\n\n# -----BEGIN PGP SIGNATURE-----\n#\n# iIkEABYKADEWIQRqkxYesZkOg0bnuisjc439fEDeQwUCacz6shMcYm9kZXdpZ0Bh\n# cGFjaGUub3JnAAoJECNzjf18QN5DDJwA/R42uZa0MdS7Flif60l4hdFDQu5KPWV3\n# MJwwoxh5405WAQDhfo2q4eRAEv84B4+MUiSygCYSQBwqvV3yTguWTsRWDw\u003d\u003d\n# \u003dKeZL\n# -----END PGP SIGNATURE-----\n# gpg: Signatur vom Mi 01 Apr 2026 13:00:02 CEST\n# gpg:                mittels EDDSA-Schlüssel 6A93161EB1990E8346E7BA2B23738DFD7C40DE43\n# gpg:                Aussteller \"bodewig@apache.org\"\n# gpg: Korrekte Signatur von \"Stefan Bodewig \u003cbodewig@apache.org\u003e\" [ultimativ]\n"
    },
    {
      "commit": "cbb8191bc823d7634b8fa63287f3cf3d68c125d5",
      "tree": "58141bf8d0917bfda6e6720d04387970de66ddb8",
      "parents": [
        "537f5ebcea80b4ec914d3f389409c6170081971c"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 29 12:22:47 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 29 12:22:47 2026 +0200"
      },
      "message": "snap linter recommends a donation field\n"
    },
    {
      "commit": "0f752d1eefda766a939a9524222b56917a2a6398",
      "tree": "1160dd9b4f098ee05c7f72b1c3ea1150c7b5177e",
      "parents": [
        "9049b6b3f3d768b51971af9f685173d791a938eb"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 29 11:52:40 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 29 11:52:40 2026 +0200"
      },
      "message": "Prepare for RC2 of version 1.10.16 of Ant\n"
    },
    {
      "commit": "9049b6b3f3d768b51971af9f685173d791a938eb",
      "tree": "c95beb147aef429b24dee9c299b3c20d596f517f",
      "parents": [
        "537f5ebcea80b4ec914d3f389409c6170081971c"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 29 11:31:54 2026 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 29 11:31:54 2026 +0200"
      },
      "message": "fix URI\n"
    },
    {
      "commit": "537f5ebcea80b4ec914d3f389409c6170081971c",
      "tree": "9feb53e6408aad4ae4e5dc0178a8e8a5507e776b",
      "parents": [
        "b474a0cdaa3e230cbddfbd9cf217b4a961a5ea05"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Tue Mar 24 09:58:16 2026 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Tue Mar 24 09:58:16 2026 +0530"
      },
      "message": "fix typo\n"
    },
    {
      "commit": "b474a0cdaa3e230cbddfbd9cf217b4a961a5ea05",
      "tree": "3bc00a6992a88b7b532d9ce63dceca3a360a0b02",
      "parents": [
        "8a6efc192eb1c081d7a1827a7fa73c3eeb284b68"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 21:46:10 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 21:46:10 2026 +0100"
      },
      "message": "more documentation for #124\n"
    },
    {
      "commit": "8a6efc192eb1c081d7a1827a7fa73c3eeb284b68",
      "tree": "935bb9c6034d27ac494bedd3f1d5993ffa093df6",
      "parents": [
        "3e952c4735f00de312b2b00b3060ed7b8b05d034",
        "e59accad84214b4c1a77d67cb8ad47db5db7f2eb"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 20:28:45 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 03 20:28:45 2026 +0000"
      },
      "message": "Merge pull request #124 from bigstinky86/hide-sensitive-data\n\nHide sensitive data"
    },
    {
      "commit": "3e952c4735f00de312b2b00b3060ed7b8b05d034",
      "tree": "a77628ad35c7e31d508c4f6b7e7ae674658dd021",
      "parents": [
        "760a55315de16863e796181b1bc68a606e798246"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 21:14:25 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 21:15:03 2026 +0100"
      },
      "message": "test was disabled by accident\n"
    },
    {
      "commit": "760a55315de16863e796181b1bc68a606e798246",
      "tree": "c64d878a65d3473c52852394aa91a8e3b0f7c0bf",
      "parents": [
        "f4ca0342e5c41220eab5b2c0687603785c8c8f6e"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 20:53:50 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Mar 03 20:53:50 2026 +0100"
      },
      "message": "add mklink task to the navigation\n"
    },
    {
      "commit": "f4ca0342e5c41220eab5b2c0687603785c8c8f6e",
      "tree": "fbacb59c1d27ce45bbfe97339343b19c691a762e",
      "parents": [
        "9fea2afdb508be761fbc35ccb454b0979d8a780c"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Mar 02 14:52:42 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Mar 02 14:52:42 2026 +0100"
      },
      "message": "bug report has been published\n"
    },
    {
      "commit": "9fea2afdb508be761fbc35ccb454b0979d8a780c",
      "tree": "9d1a52023d21645e71c14365e0b62c3b6483d5ea",
      "parents": [
        "2dad9b0d4f21ec883572ee1d2b5b7522baf06183"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 01 18:38:01 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 01 18:38:01 2026 +0100"
      },
      "message": "Jenkins has lower case drive letters?\n"
    },
    {
      "commit": "2dad9b0d4f21ec883572ee1d2b5b7522baf06183",
      "tree": "bf9623597ba347d4ca828da30dcf28e51cdd0bfa",
      "parents": [
        "198c8ea1b0e5cedcdc462927c3c9c54010d04ec3"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 01 17:07:30 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 01 17:07:30 2026 +0100"
      },
      "message": "skip test that relies on getCanonicalPath to work properly\n"
    },
    {
      "commit": "198c8ea1b0e5cedcdc462927c3c9c54010d04ec3",
      "tree": "0097d1615c1b20d01077aea8e346d47c7cc90dcf",
      "parents": [
        "41ab4f9ade1326b67c224080eeb45502630ffc6c"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 01 12:25:54 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Mar 01 12:25:54 2026 +0100"
      },
      "message": "make resolvePath work for not existing files as good as possible\n"
    },
    {
      "commit": "41ab4f9ade1326b67c224080eeb45502630ffc6c",
      "tree": "ffd78f628993ed28b14248e8a967b725814970fd",
      "parents": [
        "6a8f02c1926c756ff9aed75a73dd34159cb9d8c8"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 14 17:31:48 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 14 17:31:48 2026 +0100"
      },
      "message": "wrong variable names\n"
    },
    {
      "commit": "6a8f02c1926c756ff9aed75a73dd34159cb9d8c8",
      "tree": "1bd1c78d44d58cff497653b3e2b5095730008961",
      "parents": [
        "39894571c55aab754259ee0d846bbdacab39d242"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 17:36:38 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 17:36:38 2026 +0100"
      },
      "message": "tweak release instructions\n"
    },
    {
      "commit": "39894571c55aab754259ee0d846bbdacab39d242",
      "tree": "533b6eb8434b6fbdb7460a4a80f72e4bd708f86f",
      "parents": [
        "cf296cb9fa5ee401128caa9d4aa6f4dbddfd54d0"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 14:00:26 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 14:00:26 2026 +0100"
      },
      "message": "really create a junction\n"
    },
    {
      "commit": "cf296cb9fa5ee401128caa9d4aa6f4dbddfd54d0",
      "tree": "9dc92f5de606cdcd07c7058d438d5ab89b806ba9",
      "parents": [
        "8dfa700a09e3520e33c2bdea267753d2dbd20c1d"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 12:31:51 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 12:31:51 2026 +0100"
      },
      "message": "actOnLinkTarget*s*\n"
    },
    {
      "commit": "8dfa700a09e3520e33c2bdea267753d2dbd20c1d",
      "tree": "303538e9b204f83baea35a9cfca8a659e98224ce",
      "parents": [
        "e60943e10cb4e9c08b9fae8dc0d23b594d6f80ae"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 11:38:36 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 11:38:36 2026 +0100"
      },
      "message": "make AntUnit test tearDown more reliable\n"
    },
    {
      "commit": "e60943e10cb4e9c08b9fae8dc0d23b594d6f80ae",
      "tree": "30fd8576dcc6ffb2e0b58187cfe4ed6cd7698a65",
      "parents": [
        "32a6a558d711ebfcfbffb811a766976c72210a98"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 11:38:08 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 11:38:08 2026 +0100"
      },
      "message": "allow permissions to be set on links themselves rather their targets\n"
    },
    {
      "commit": "32a6a558d711ebfcfbffb811a766976c72210a98",
      "tree": "ed127325aee855da6a143f0a01f91f64921fc9cb",
      "parents": [
        "ad623758675a78c1c487f4a5f820d03e37c0e840"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 09:48:57 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 09:48:57 2026 +0100"
      },
      "message": "and another case of invoking \"ln\"\n"
    },
    {
      "commit": "ad623758675a78c1c487f4a5f820d03e37c0e840",
      "tree": "376dd00cdcc6882dfc8eafdb8e954b0b4942367b",
      "parents": [
        "cfd6a7b7d743e7430a45879ec2d1749163c7a4ac"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:53:40 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:53:40 2026 +0100"
      },
      "message": "test deletion of dangling junctions as well\n"
    },
    {
      "commit": "cfd6a7b7d743e7430a45879ec2d1749163c7a4ac",
      "tree": "ebd754e42887179aa923725bc24ffe04e6559e9e",
      "parents": [
        "085e47148ed12704d762f40d2bbd1a9f5951606f"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:47:40 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:47:40 2026 +0100"
      },
      "message": "symlinks on Windows are either file or directory links, you can\u0027t change the target \"type\" and expect the link to still work\n"
    },
    {
      "commit": "085e47148ed12704d762f40d2bbd1a9f5951606f",
      "tree": "bbdb23c6dcf754582ed3dc205596c7d0d9ed6520",
      "parents": [
        "2ee5e68383a94c915c75858b92cd457bee514592"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:28:52 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:28:52 2026 +0100"
      },
      "message": "some more tweaks\n"
    },
    {
      "commit": "2ee5e68383a94c915c75858b92cd457bee514592",
      "tree": "d9ee98c481203883b4a349a047efdc8383175bc6",
      "parents": [
        "e0d1641308fb0967418fddc083aa264d647f5dc4"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:27:31 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Feb 08 08:27:31 2026 +0100"
      },
      "message": "how many ways to create and check symlinks have we created?\n"
    },
    {
      "commit": "e0d1641308fb0967418fddc083aa264d647f5dc4",
      "tree": "0b7d5f8c2c79f7d2aa26d83c4acf09fdd5464205",
      "parents": [
        "a0b0b25f61b97d700495e93a8e07189f1dc1e511"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 22:10:33 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 22:10:33 2026 +0100"
      },
      "message": "fix test\n"
    },
    {
      "commit": "a0b0b25f61b97d700495e93a8e07189f1dc1e511",
      "tree": "e945ed9cc67c3b2bab8f120c810751ef7216fd77",
      "parents": [
        "0da87da43c99f18bcbf6e3f675aad8c3ca276e09"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 22:04:13 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 22:04:13 2026 +0100"
      },
      "message": "help PermissionUtils to tell WIndows junctions from plain directories\n"
    },
    {
      "commit": "0da87da43c99f18bcbf6e3f675aad8c3ca276e09",
      "tree": "78cd6074b30f01e5d72991217fb80601ff827f06",
      "parents": [
        "c45e66cd5a1c8d42cb9b16f3e22bdc06374b0c35"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 22:03:55 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 22:03:55 2026 +0100"
      },
      "message": "make a few javadocs mentions windows junctions\n"
    },
    {
      "commit": "c45e66cd5a1c8d42cb9b16f3e22bdc06374b0c35",
      "tree": "1883c024ae7af66f330302aad5d964d228c91318",
      "parents": [
        "015da2c68b1681572e3126e22880bcfee3df7fb2"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 19:04:01 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 19:04:01 2026 +0100"
      },
      "message": "make documentation about symlinks agree with reality\n"
    },
    {
      "commit": "015da2c68b1681572e3126e22880bcfee3df7fb2",
      "tree": "008e316a5d1f07a62ef19c124d8e5ae24fc5e369",
      "parents": [
        "62b7fa1e09e761206c6d006260c82b470fba2e04"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 16:02:51 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 16:02:51 2026 +0100"
      },
      "message": "add a file selector for Windows junctions\n"
    },
    {
      "commit": "62b7fa1e09e761206c6d006260c82b470fba2e04",
      "tree": "04f679f31143970befaf2b136f518fc758c16cec",
      "parents": [
        "01bb3e6b636f781d713639f8d8e61a6b7238cb0f"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 15:41:39 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 15:41:39 2026 +0100"
      },
      "message": "consistently refer to junctions as \"Windows junctions\"\n"
    },
    {
      "commit": "01bb3e6b636f781d713639f8d8e61a6b7238cb0f",
      "tree": "7385ab3f14b89d8f8268aa4dc87576e60efd0dbb",
      "parents": [
        "ebf0fa0ed675070a191c5e7fe9869fe106f29ddb"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 15:22:59 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 15:22:59 2026 +0100"
      },
      "message": "remove assumption symlinks can only be created on Unix from tests\n"
    },
    {
      "commit": "ebf0fa0ed675070a191c5e7fe9869fe106f29ddb",
      "tree": "badf4280bef3e0a765a5436ead567d7ff165351e",
      "parents": [
        "9001e35782b67d2f0ba250ea7f340da8be935fa2"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 14:16:49 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat Feb 07 14:16:49 2026 +0100"
      },
      "message": "add canCreateSymlink condition\n"
    },
    {
      "commit": "9001e35782b67d2f0ba250ea7f340da8be935fa2",
      "tree": "f698a8409ccb254890bb00deb57512756dac34d2",
      "parents": [
        "d734cf0bdd8f806ec56aa292414d2f043cc7b65b"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 21:59:12 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 21:59:12 2026 +0100"
      },
      "message": "replace File#getCanonicalPath with FileUtils#getResolvedPath\n"
    },
    {
      "commit": "d734cf0bdd8f806ec56aa292414d2f043cc7b65b",
      "tree": "acebbf83cc12b510cbc7064f4c5057f1878cd5ee",
      "parents": [
        "f494eb279f9e0465a33ad1d3a4db4a400b3879bc"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 20:43:23 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 20:43:23 2026 +0100"
      },
      "message": "document new behavior of removeNotFollowedSymlinks in \u003cdelete\u003e\n"
    },
    {
      "commit": "f494eb279f9e0465a33ad1d3a4db4a400b3879bc",
      "tree": "a2358f3f14946b36c2edc8d77acbaa9f888aa635",
      "parents": [
        "45b84bb3c3384b771f446b26fbb6ebb0a97fd9c5"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 20:40:50 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 20:40:50 2026 +0100"
      },
      "message": "of course NIO needs its own exception for \"file not found\"\n"
    },
    {
      "commit": "45b84bb3c3384b771f446b26fbb6ebb0a97fd9c5",
      "tree": "ed35d2fc85ed4fc9bb9523245eeca72b32249891",
      "parents": [
        "3c005b701a7561f70282624661807fcc03671809"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 18:48:41 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 18:48:41 2026 +0100"
      },
      "message": "treat Windows junctions like symlinks in DirectoryScanner and \u003cdelete\u003e\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d66293\n"
    },
    {
      "commit": "3c005b701a7561f70282624661807fcc03671809",
      "tree": "04ce0519379f2231a415effc683195f8d939d20c",
      "parents": [
        "0bdebe0ca3637822e79f027450e91038fb88f3f8"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 18:30:42 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 18:31:54 2026 +0100"
      },
      "message": "add \u003cdelete link\u003d\"...\"\u003e that deletes symbolic links or Windows junctions\n"
    },
    {
      "commit": "0bdebe0ca3637822e79f027450e91038fb88f3f8",
      "tree": "764b8aec855aa14084af2fbf22ae09ccc602c885",
      "parents": [
        "7aa3af61c599fffa4119825aa1ea46d1979bd574"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 15:55:35 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Feb 06 16:05:01 2026 +0100"
      },
      "message": "add a new mklink task that can create file system links on windows\n"
    },
    {
      "commit": "7aa3af61c599fffa4119825aa1ea46d1979bd574",
      "tree": "bde13d9b203cf73074e402c0aabd3602edf4e81e",
      "parents": [
        "3ffea30ee459d9fc4b9a005d418a192157e0e3ac"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Wed Feb 04 06:55:10 2026 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Wed Feb 04 06:55:10 2026 +0530"
      },
      "message": "record the 69485 change\n"
    },
    {
      "commit": "3ffea30ee459d9fc4b9a005d418a192157e0e3ac",
      "tree": "2f8493971c0b8f791b816410560879c7945a57bc",
      "parents": [
        "f862774a9e2d2afe3d25d7116f0672eeb4f3e9bf"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jan 04 15:37:45 2026 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jan 04 15:37:45 2026 +0100"
      },
      "message": "happy new year\n"
    },
    {
      "commit": "f862774a9e2d2afe3d25d7116f0672eeb4f3e9bf",
      "tree": "fdbf2419c2dc04f88e1174a2f1052525f9cbd865",
      "parents": [
        "79b72ac4f3852eab5736a2b56f96c2ec191506a0"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Thu Dec 25 15:18:33 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Thu Dec 25 15:18:33 2025 +0530"
      },
      "message": "bz-69485 Revert the foreach loop change that was done to FTPTaskMirrorImpl in 1c80d507f496dde98869890e671edf635bef8dec\n"
    },
    {
      "commit": "79b72ac4f3852eab5736a2b56f96c2ec191506a0",
      "tree": "2f0f1ab0dc8bcfdf5efa4d4cd8284992ec5f2868",
      "parents": [
        "789ba373a8f5da77fa6956e44401255134b5b379"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Mon Dec 01 21:49:18 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Mon Dec 01 21:51:46 2025 +0530"
      },
      "message": "bz-69485 Revert the foreach loop change that was done to FTP.java in 1c80d507f496dde98869890e671edf635bef8dec\n"
    },
    {
      "commit": "789ba373a8f5da77fa6956e44401255134b5b379",
      "tree": "b7bcb3a1798db70250b5fd8001431876e7744f19",
      "parents": [
        "708513e7ae3f070a35c6cc1b59081eb1d6eebd38",
        "033eee2aebce1d2baf3d043f0054b6709baea335"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Tue Aug 19 03:41:30 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 19 03:41:30 2025 +0000"
      },
      "message": "Merge pull request #223 from mattbertolini/mbertolini/resource-collection-stream-support\n\nUse StreamSupport and spliterator to create a stream for ResourceCollection"
    },
    {
      "commit": "033eee2aebce1d2baf3d043f0054b6709baea335",
      "tree": "b7bcb3a1798db70250b5fd8001431876e7744f19",
      "parents": [
        "f30f15762a10f94d30fcf87413123e63e851b9ae"
      ],
      "author": {
        "name": "Matt Bertolini",
        "email": "viper2843@gmail.com",
        "time": "Mon Aug 18 21:11:16 2025 -0400"
      },
      "committer": {
        "name": "Matt Bertolini",
        "email": "viper2843@gmail.com",
        "time": "Mon Aug 18 21:11:16 2025 -0400"
      },
      "message": "Revert \"Override the spliterator method\"\n\nThis reverts commit f30f15762a10f94d30fcf87413123e63e851b9ae.\n"
    },
    {
      "commit": "f30f15762a10f94d30fcf87413123e63e851b9ae",
      "tree": "009bc25310d5ba4a7292fb12601d7b35f91bf5cb",
      "parents": [
        "0f3b6fae51ad7d9b3201c24cbc3f8d7aaa6a508e"
      ],
      "author": {
        "name": "Matt Bertolini",
        "email": "viper2843@gmail.com",
        "time": "Mon Aug 11 21:33:20 2025 -0400"
      },
      "committer": {
        "name": "Matt Bertolini",
        "email": "viper2843@gmail.com",
        "time": "Mon Aug 11 21:33:20 2025 -0400"
      },
      "message": "Override the spliterator method\n\nThis creates a spliterator with the known size of the resource collection.\n"
    },
    {
      "commit": "0f3b6fae51ad7d9b3201c24cbc3f8d7aaa6a508e",
      "tree": "b7bcb3a1798db70250b5fd8001431876e7744f19",
      "parents": [
        "708513e7ae3f070a35c6cc1b59081eb1d6eebd38"
      ],
      "author": {
        "name": "Matt Bertolini",
        "email": "viper2843@gmail.com",
        "time": "Sat Jul 26 10:52:06 2025 -0400"
      },
      "committer": {
        "name": "Matt Bertolini",
        "email": "viper2843@gmail.com",
        "time": "Sat Jul 26 10:52:06 2025 -0400"
      },
      "message": "Use StreamSupport and spliterator to create a stream for ResourceCollection\n\nMotivation\n----------\n\nI noticed that the stream method to the ResourceCollection interface was using a builder and foreach method to create the stream. This seems odd to me as that would eagerly iterate through the entire collection and load everything into memory at once. It would make things like findFirst more expensive than it needs to be as all items would have been scanned instead of stopping at the first match. I checked to see how the JDK Collection interface creates a stream, and it uses what I expected: the StreamSupport class and a spliterator. This PR moves the Ant ResourceCollection over to this means of creating a stream.\n\nModifications\n-------------\n\nThe existing method body was removed and replaced with a call to StreamSupport.stream() passing the Iterables spliterator to the factory method. The stream is marked as parallel false to match the JDK Collection semantics.\n\nResult\n------\n\nThe result is the ResourceCollection stream method returns a stream without eagerly loading all elements of the collection.\n"
    },
    {
      "commit": "708513e7ae3f070a35c6cc1b59081eb1d6eebd38",
      "tree": "af3066ee9b54ddd7cb4530be1fef005925c76e68",
      "parents": [
        "f134449a646550bb4f3edb77a0e268a48e2f1070"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jul 03 17:31:42 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jul 03 17:31:42 2025 +0200"
      },
      "message": "record #222\n"
    },
    {
      "commit": "f134449a646550bb4f3edb77a0e268a48e2f1070",
      "tree": "150201304744a15c55b6416494b803ec398529f4",
      "parents": [
        "fe3727ee48b5ff89f65de52dea91c1bc757e4705",
        "75761891317d8127a74a2f49bc438ca57c416a72"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jul 03 15:30:27 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 15:30:27 2025 +0000"
      },
      "message": "Merge pull request #222 from robho/ant_bat_error_when_no_ant_home\n\nExit ant.bat with ERROR_ENVVAR_NOT_FOUND if ANT_HOME isn\u0027t/can\u0027t be set"
    },
    {
      "commit": "75761891317d8127a74a2f49bc438ca57c416a72",
      "tree": "d06f0176bd413d0795e0692b9eec9fe3d7e7376f",
      "parents": [
        "6a37d4724894dfd73f1a001a5f54c95d85fa09c6"
      ],
      "author": {
        "name": "Robert Högberg",
        "email": "robert.hogberg@gmail.com",
        "time": "Fri Jun 27 12:17:14 2025 +0200"
      },
      "committer": {
        "name": "Robert Högberg",
        "email": "robert.hogberg@gmail.com",
        "time": "Thu Jul 03 15:21:38 2025 +0200"
      },
      "message": "Exit ant.bat with ERROR_ENVVAR_NOT_FOUND if ANT_HOME isn\u0027t/can\u0027t be set\n"
    },
    {
      "commit": "fe3727ee48b5ff89f65de52dea91c1bc757e4705",
      "tree": "ff61c6659aa26d007d05c3be685d115c535c44de",
      "parents": [
        "54350f7e967f965169a07f65ec925b621cef231d"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Tue Jul 01 19:28:59 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Tue Jul 01 21:44:43 2025 +0530"
      },
      "message": "FileUtils.tryHardToDelete() - On Windows, mark the file writable if it\u0027s read-only, before retrying File.delete()\n"
    },
    {
      "commit": "54350f7e967f965169a07f65ec925b621cef231d",
      "tree": "7e5f7c482347d214f4ac590e723dd671462755b9",
      "parents": [
        "6a37d4724894dfd73f1a001a5f54c95d85fa09c6"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Tue Jul 01 18:45:20 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Tue Jul 01 21:44:43 2025 +0530"
      },
      "message": "antunit-tests - mark files as writable before attempting to delete in our antunit tests\u0027 tearDown()\n\nSome of these antunit tests used to create read-only files and then tearDown() would delete the files and the directories containing them.\nStarting Java 25, after https://bugs.openjdk.org/browse/JDK-8355954 bug fix, read-only files on Windows cannot be deleted.\nThe tearDown() method in these tests has now been updated to reset the permission on these test generated files to writable before deleting them.\n"
    },
    {
      "commit": "6a37d4724894dfd73f1a001a5f54c95d85fa09c6",
      "tree": "12ce3e745acb6038b50fb925ca020de871d2d4ac",
      "parents": [
        "22852cbe55b7c1b3384d7fd277d09d1fd9d91aac"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Jun 09 22:29:33 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Jun 09 22:29:33 2025 +0200"
      },
      "message": "explicitly explain the use of nested text in concat.\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d60421\n"
    },
    {
      "commit": "22852cbe55b7c1b3384d7fd277d09d1fd9d91aac",
      "tree": "7837539861bc5cb5ac485dc108f1e0f75edd3543",
      "parents": [
        "a8cd05dc064f708c0675cdd84de734642bd76e15",
        "01324b9b3c3e3e6e788051a48408d8d3c8d3c43e"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Jun 09 16:11:18 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 09 16:11:18 2025 +0000"
      },
      "message": "Merge pull request #219 from apache/mailer-tls-server-check\n\nimprove security of TLS handling in MimeMailers"
    },
    {
      "commit": "01324b9b3c3e3e6e788051a48408d8d3c8d3c43e",
      "tree": "7837539861bc5cb5ac485dc108f1e0f75edd3543",
      "parents": [
        "6154296c226e07bceb944f40d7ed071a49c945c4"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 18:12:16 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 18:12:16 2025 +0200"
      },
      "message": "document default value\n"
    },
    {
      "commit": "6154296c226e07bceb944f40d7ed071a49c945c4",
      "tree": "18d5c20a8398c73a1179359ca8b022a7e4f2ee61",
      "parents": [
        "a8cd05dc064f708c0675cdd84de734642bd76e15"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat May 31 16:30:35 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 18:10:49 2025 +0200"
      },
      "message": "improve security of TLS handling in MimeMailers\n\nBugzilla Report https://bz.apache.org/bugzilla/show_bug.cgi?id\u003d69416\n"
    },
    {
      "commit": "a8cd05dc064f708c0675cdd84de734642bd76e15",
      "tree": "636d4e61fcafaa8d155cc7ca2df6455600d8b34a",
      "parents": [
        "4dec3b0f783fcd4a775d0252ec5229bda1d9b50d"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 10:16:01 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 10:16:01 2025 +0200"
      },
      "message": "recod fix for bugzilla report 69680\n"
    },
    {
      "commit": "4dec3b0f783fcd4a775d0252ec5229bda1d9b50d",
      "tree": "d7094e8e14fe3bfb0891b609f072b6936e1ce17a",
      "parents": [
        "9b9b69504ccd1a7a281a435e12179cb41cf0b524"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 09:51:58 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 09:59:53 2025 +0200"
      },
      "message": "only strip leading character in getName when it actually is a path separator\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d69680\n"
    },
    {
      "commit": "9b9b69504ccd1a7a281a435e12179cb41cf0b524",
      "tree": "b0aa0f08552c8437b81644feb1d4433d84220432",
      "parents": [
        "6d2f06bd9feea5b20c6999f026cc6cc2e6629476"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 09:51:44 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 09:51:44 2025 +0200"
      },
      "message": "use extracted logic for detecting and stripping leading path separators\n"
    },
    {
      "commit": "6d2f06bd9feea5b20c6999f026cc6cc2e6629476",
      "tree": "7dac407427a0814449693df71ac80aa5db0c17e6",
      "parents": [
        "5e9795966c12620b7bf3eb54578c34969844a7e0"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 09:06:04 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 08 09:51:24 2025 +0200"
      },
      "message": "extract logic for detecting and stripping leading path separators\n"
    },
    {
      "commit": "5e9795966c12620b7bf3eb54578c34969844a7e0",
      "tree": "fe417b177a8b169f5fea2588a7549a639ef46252",
      "parents": [
        "8e3e4ba0faf08db7205804596c7db8180bf4e95d"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 22:25:07 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 22:25:07 2025 +0200"
      },
      "message": "explicitly mention Laucher is going to terminate the VM\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d65148\n"
    },
    {
      "commit": "8e3e4ba0faf08db7205804596c7db8180bf4e95d",
      "tree": "b495e2ea50f3e1c965130211bf483ea4f41b0138",
      "parents": [
        "dc3d7ed34cd506a5b853af5f6dee25ec9ff8a094"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 22:14:38 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 22:14:38 2025 +0200"
      },
      "message": "actually MacOS X is reported as family \"mac\" as well.\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d65437\n"
    },
    {
      "commit": "dc3d7ed34cd506a5b853af5f6dee25ec9ff8a094",
      "tree": "0a886eaafdfff5dd855ef9833fb87f9b88de5d11",
      "parents": [
        "b3f64f0f7b418f8afc9e32773e3982b2821ebf5a"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 20:57:04 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 20:57:30 2025 +0200"
      },
      "message": "make xslt use similar out-of-dateness check as other tasks\n\nhttps://bz.apache.org/bugzilla/show_bug.cgi?id\u003d65756\n"
    },
    {
      "commit": "b3f64f0f7b418f8afc9e32773e3982b2821ebf5a",
      "tree": "6242e3b3c2631110808efff361ae776d271dab8f",
      "parents": [
        "8a302c615936305459df23fe089f1c27e62d15ea",
        "f2eb4ae33478d2a13ea738640e8af777d9c0969d"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Thu Jun 05 16:15:46 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 05 16:15:46 2025 +0000"
      },
      "message": "Merge pull request #212 from esaulpaugh/master\n\nrefactor array filtering"
    },
    {
      "commit": "f2eb4ae33478d2a13ea738640e8af777d9c0969d",
      "tree": "e5045957b01babd21a6b2d6d73724c8f0ef37988",
      "parents": [
        "6afcb46eb60d25b3e46247bc4652cf1f6ac7834f"
      ],
      "author": {
        "name": "Evan Saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Thu Jun 05 09:35:47 2025 -0500"
      },
      "committer": {
        "name": "Evan Saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Thu Jun 05 09:35:47 2025 -0500"
      },
      "message": "add name to contributors\n"
    },
    {
      "commit": "8a302c615936305459df23fe089f1c27e62d15ea",
      "tree": "7a21187c11f4d5525edac17c6ad622b6b566d4ad",
      "parents": [
        "19104154cc463011904413e280bd71a88def6b3e"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Jun 04 19:32:06 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Jun 04 19:32:06 2025 +0200"
      },
      "message": "credit @Tomodachi94 for #215\n"
    },
    {
      "commit": "6afcb46eb60d25b3e46247bc4652cf1f6ac7834f",
      "tree": "3c34f0dea9c84664e7593c4a094bd109ac6e2a81",
      "parents": [
        "985714efce00338ff3d537d16ec0113f795c7c91"
      ],
      "author": {
        "name": "Evan Saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Tue Jun 03 20:48:18 2025 -0500"
      },
      "committer": {
        "name": "Evan Saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Tue Jun 03 20:48:18 2025 -0500"
      },
      "message": "avoid array copy when no symlinks filtered out\n"
    },
    {
      "commit": "985714efce00338ff3d537d16ec0113f795c7c91",
      "tree": "57733d8fbbfbfdbbffe285fa142973c812315ac3",
      "parents": [
        "38393ea487e4a261073e0e2d26964c9d32c2a780"
      ],
      "author": {
        "name": "Evan Saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Tue Jun 03 20:45:19 2025 -0500"
      },
      "committer": {
        "name": "Evan Saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Tue Jun 03 20:45:19 2025 -0500"
      },
      "message": "refactor Path construction\n"
    },
    {
      "commit": "38393ea487e4a261073e0e2d26964c9d32c2a780",
      "tree": "0017102ffe1a097c201d39922b3c6568d0927cef",
      "parents": [
        "3275173a3d712306c878fca57ed221fd5051eb83",
        "19104154cc463011904413e280bd71a88def6b3e"
      ],
      "author": {
        "name": "evan saulpaugh",
        "email": "evan.saulpaugh@gmail.com",
        "time": "Tue Jun 03 18:12:00 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 03 18:12:00 2025 -0700"
      },
      "message": "Merge branch \u0027apache:master\u0027 into master\n"
    },
    {
      "commit": "19104154cc463011904413e280bd71a88def6b3e",
      "tree": "a4b53e79264a3df5f53796242c586af94dadd99b",
      "parents": [
        "06af74742b25bdeb30a27efac322349dc8b949d0"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "stefan.bodewig@innoq.com",
        "time": "Sun Jun 01 15:51:25 2025 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "stefan.bodewig@innoq.com",
        "time": "Sun Jun 01 15:51:25 2025 +0200"
      },
      "message": "credit Björn Kautler @Vampire for #218\n"
    },
    {
      "commit": "06af74742b25bdeb30a27efac322349dc8b949d0",
      "tree": "04c04e7d3db56dbb9c3b8fbd9e0f32452bc00edb",
      "parents": [
        "7d5fed8e0ac07d7bae406e28c7eee8b6bbcb529d",
        "01de21e6175c71aaa78cb227a47b38befbac821a"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 01 13:36:40 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 01 13:36:40 2025 +0000"
      },
      "message": "Merge pull request #217 from kiendang/permissiontuils-filetype-symlink\n\nFix PermissionUtils.FileType.of for sym links"
    },
    {
      "commit": "01de21e6175c71aaa78cb227a47b38befbac821a",
      "tree": "99e0f61c76002a27fa46a83319d656989f07b08d",
      "parents": [
        "ee43489440fd94883106f6863e1fd5ffecaaf33f"
      ],
      "author": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Sun Jun 01 20:00:19 2025 +0800"
      },
      "committer": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Sun Jun 01 20:00:19 2025 +0800"
      },
      "message": "Add to list of contributors\n"
    },
    {
      "commit": "ee43489440fd94883106f6863e1fd5ffecaaf33f",
      "tree": "c8321c9a225beab7c08f73863476e352e4d7f47d",
      "parents": [
        "8e821ba8fd485876a2e36e923154a426891b7028"
      ],
      "author": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Sun Jun 01 19:57:06 2025 +0800"
      },
      "committer": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Sun Jun 01 19:57:06 2025 +0800"
      },
      "message": "Use more conventional os check\n"
    },
    {
      "commit": "7d5fed8e0ac07d7bae406e28c7eee8b6bbcb529d",
      "tree": "6aa5f0b9471ee245cbb27298aaed3a35baf5880e",
      "parents": [
        "315a019b831ff3e9525a916346aa9d8963581e2b",
        "50ab728f13b22552ff790512219e725ccbd74c47"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sun Jun 01 06:46:28 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 01 06:46:28 2025 +0000"
      },
      "message": "Merge pull request #215 from tomodachi94/chore/hamcrest-3.0-upgrade\n\nUpgrade Hamcrest to 3.0"
    },
    {
      "commit": "50ab728f13b22552ff790512219e725ccbd74c47",
      "tree": "f68f6ce1aa46693da01743b78336aafc620dc801",
      "parents": [
        "f7ad3a50f32a3a7c7232d73606bfae08067b2530"
      ],
      "author": {
        "name": "Tomodachi94",
        "email": "tomodachi94@protonmail.com",
        "time": "Sun Jun 01 03:33:47 2025 +0000"
      },
      "committer": {
        "name": "Tomodachi94",
        "email": "tomodachi94@protonmail.com",
        "time": "Sun Jun 01 03:33:47 2025 +0000"
      },
      "message": "Update Hamcrest license\n\nSource:\nhttps://github.com/hamcrest/JavaHamcrest/blob/ad5c9f2eb1fd19ff798eeb5d5ba5109075c50176/LICENSE\n"
    },
    {
      "commit": "f7ad3a50f32a3a7c7232d73606bfae08067b2530",
      "tree": "70cb90e4259200a87d7da0df9fb8c8cf96109b30",
      "parents": [
        "9905daf772d16290bbc9cc4ecb6726d58cb4d85b"
      ],
      "author": {
        "name": "Tomodachi94",
        "email": "tomodachi94@protonmail.com",
        "time": "Sun Jun 01 03:31:59 2025 +0000"
      },
      "committer": {
        "name": "Tomodachi94",
        "email": "tomodachi94@protonmail.com",
        "time": "Sun Jun 01 03:31:59 2025 +0000"
      },
      "message": "Update in-tree Hamcrest JARs to latest\n"
    },
    {
      "commit": "315a019b831ff3e9525a916346aa9d8963581e2b",
      "tree": "98585c43b22f166f6560066fe389afc3f9f982bb",
      "parents": [
        "1a9de1ec23b1844d89b78bf9be6a202e8fbb5575",
        "d1247b72e6a9af0aa8ccb91ee9d449a81c388785"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Sat May 31 13:08:35 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 31 13:08:35 2025 +0000"
      },
      "message": "Merge pull request #218 from Vampire/junit-report-title-handling\n\nImprove JUnit report title handling"
    },
    {
      "commit": "d1247b72e6a9af0aa8ccb91ee9d449a81c388785",
      "tree": "98585c43b22f166f6560066fe389afc3f9f982bb",
      "parents": [
        "1a9de1ec23b1844d89b78bf9be6a202e8fbb5575"
      ],
      "author": {
        "name": "Björn Kautler",
        "email": "Bjoern@Kautler.net",
        "time": "Mon May 12 13:08:50 2025 +0200"
      },
      "committer": {
        "name": "Björn Kautler",
        "email": "Bjoern@Kautler.net",
        "time": "Mon May 12 13:08:50 2025 +0200"
      },
      "message": "Improve JUnit report title handling\n"
    },
    {
      "commit": "1a9de1ec23b1844d89b78bf9be6a202e8fbb5575",
      "tree": "dbd6514061d095eaf80a15defd75506c6b776285",
      "parents": [
        "629e7b710ba83ecd57ee92941c48e21dc5d2311c"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Wed Mar 19 09:49:29 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Wed Mar 19 09:49:29 2025 +0530"
      },
      "message": "add contributor for bz-69586 patch\n"
    },
    {
      "commit": "8e821ba8fd485876a2e36e923154a426891b7028",
      "tree": "d27b602873eccfda933bad490c13681fe13061cf",
      "parents": [
        "e208a7feb2e323e5caf7f9659af08abc9ed09a5e"
      ],
      "author": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Thu Mar 13 12:51:05 2025 +0800"
      },
      "committer": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Thu Mar 13 12:51:05 2025 +0800"
      },
      "message": "Fix PermissionUtils.FileType.of for sym links\n"
    },
    {
      "commit": "e208a7feb2e323e5caf7f9659af08abc9ed09a5e",
      "tree": "e65a5447ecb8ec323e49f5ed4d3b451d987cf8ce",
      "parents": [
        "629e7b710ba83ecd57ee92941c48e21dc5d2311c"
      ],
      "author": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Thu Mar 13 12:50:46 2025 +0800"
      },
      "committer": {
        "name": "Kien Dang",
        "email": "kiend@proton.me",
        "time": "Thu Mar 13 12:50:46 2025 +0800"
      },
      "message": "Add test\n"
    },
    {
      "commit": "629e7b710ba83ecd57ee92941c48e21dc5d2311c",
      "tree": "80ce81b44f2680f49dbf4bb6b7ffa43076e3afb6",
      "parents": [
        "fd0d38bdeb3cb92c1fd7f7f61263c7282a9263ef"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Sun Mar 09 11:46:37 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Sun Mar 09 11:48:44 2025 +0530"
      },
      "message": "record the change from GitHub PR 216\n"
    },
    {
      "commit": "fd0d38bdeb3cb92c1fd7f7f61263c7282a9263ef",
      "tree": "b204f3cf35864ac12e06a10b349a4cb662e04fff",
      "parents": [
        "ecfca50b0133c576021dd088f855ee878a6b8e66"
      ],
      "author": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Sun Mar 09 11:33:43 2025 +0530"
      },
      "committer": {
        "name": "Jaikiran Pai",
        "email": "jaikiran@apache.org",
        "time": "Sun Mar 09 11:36:48 2025 +0530"
      },
      "message": "69586: javac argument file generation creates invalid classpath entry when no classpath is defined\n\nContributed by: SeB\n"
    },
    {
      "commit": "ecfca50b0133c576021dd088f855ee878a6b8e66",
      "tree": "9cea701107bee774e77612ad3f6936155d2b340b",
      "parents": [
        "3b712742e6c06613f956af1ff8ed7371a915ebea"
      ],
      "author": {
        "name": "Hannes Wellmann",
        "email": "wellmann.hannes1@gmx.net",
        "time": "Wed Feb 05 06:15:04 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 05 10:45:04 2025 +0530"
      },
      "message": "Consider VM-configuration when determining if SecurityManager may be set (#216)\n\nDo not set the SecurityManager if java.security.manager system property is set to \"disallow\""
    },
    {
      "commit": "3b712742e6c06613f956af1ff8ed7371a915ebea",
      "tree": "f27bb0c65dad16d89b2d0d507e2170b478c7cfcc",
      "parents": [
        "375b5132adfb66953cc698aedebb9b356c1ca180"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Jan 01 11:01:19 2025 +0100"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Wed Jan 01 11:01:19 2025 +0100"
      },
      "message": "happy new year\n"
    },
    {
      "commit": "9905daf772d16290bbc9cc4ecb6726d58cb4d85b",
      "tree": "493d745a9a0699256c45fcaf7557c28b42892156",
      "parents": [
        "375b5132adfb66953cc698aedebb9b356c1ca180"
      ],
      "author": {
        "name": "Tomodachi94",
        "email": "tomodachi94@protonmail.com",
        "time": "Sun Dec 08 06:56:44 2024 +0000"
      },
      "committer": {
        "name": "Tomodachi94",
        "email": "tomodachi94@protonmail.com",
        "time": "Sun Dec 08 19:12:04 2024 +0000"
      },
      "message": "Upgrade Hamcrest to 3.0\n\nIf upstream changelogs are to be believed, there are no\nbreaking changes except for:\n* The packaging method being changed[1] from several JARs\n  to one JAR.\n* An annotation, `org.hamcrest.Factory`, being removed\n  (we don\u0027t use it, and upstream says that people should\n  not have been using it externally)\n* The minimum version being upgraded to Java 8[2], \n  which is already the case in Ant.\n\n[1]: https://github.com/hamcrest/JavaHamcrest/releases/tag/v2.1\n[2]: https://github.com/hamcrest/JavaHamcrest/releases/tag/v3.0\n"
    },
    {
      "commit": "375b5132adfb66953cc698aedebb9b356c1ca180",
      "tree": "a20b81331f40e686e80500a5d371f4f6cafec2eb",
      "parents": [
        "2540910dec4decc0d9aa34c5918fcc9d0cd5e6e2",
        "33d8af2ca8e6ccb138ab37747c152791090068e6"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Fri Nov 08 17:39:12 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 08 17:39:12 2024 +0100"
      },
      "message": "Merge pull request #214 from Vampire/fix-docs\n\nFix copy\u0026paste error in signjar documentation"
    },
    {
      "commit": "33d8af2ca8e6ccb138ab37747c152791090068e6",
      "tree": "a20b81331f40e686e80500a5d371f4f6cafec2eb",
      "parents": [
        "2540910dec4decc0d9aa34c5918fcc9d0cd5e6e2"
      ],
      "author": {
        "name": "Björn Kautler",
        "email": "Bjoern@Kautler.net",
        "time": "Thu Nov 07 11:32:27 2024 +0100"
      },
      "committer": {
        "name": "Björn Kautler",
        "email": "Bjoern@Kautler.net",
        "time": "Thu Nov 07 11:32:27 2024 +0100"
      },
      "message": "Fix copy\u0026paste error in signjar documentation\n"
    },
    {
      "commit": "2540910dec4decc0d9aa34c5918fcc9d0cd5e6e2",
      "tree": "8bfd7bc52c17086d494580acb587f2c2555e9494",
      "parents": [
        "7c6c127e854e9dbb4d444181ac1fb43510485848"
      ],
      "author": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Oct 14 09:15:30 2024 +0200"
      },
      "committer": {
        "name": "Stefan Bodewig",
        "email": "bodewig@apache.org",
        "time": "Mon Oct 14 09:15:30 2024 +0200"
      },
      "message": "lastIndex*O*f\n"
    },
    {
      "commit": "7c6c127e854e9dbb4d444181ac1fb43510485848",
      "tree": "20cebd3bf168908d264ef7a77cae255eb3d6022c",
      "parents": [
        "e0a636389911cf221832646569702b70c7096169"
      ],
      "author": {
        "name": "FROZENCADET",
        "email": "51886109+FROZENCADET@users.noreply.github.com",
        "time": "Thu Oct 10 12:28:40 2024 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 10 12:28:40 2024 +0530"
      },
      "message": "Ensure indexOfPath is bigger than indexOfAt"
    }
  ],
  "next": "e0a636389911cf221832646569702b70c7096169"
}
