)]}'
{
  "log": [
    {
      "commit": "a3f978362021ff053527ee7579ece5d5d26a4727",
      "tree": "acfc33b0497f447c6b9d573758071927e1d08cdb",
      "parents": [
        "801fea7a12a4e431048f114f550c22d4b52c169b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 14:24:46 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 14:24:46 2026 -0400"
      },
      "message": "Update legacy GitHub links in CONTRIBUTING.md\n"
    },
    {
      "commit": "801fea7a12a4e431048f114f550c22d4b52c169b",
      "tree": "83ca428f7acd090db72293ffc03f03c6de14fda2",
      "parents": [
        "843372f2f0fa780e6634f4d242a7e1b787a1fa48"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 11:01:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jun 11 11:01:11 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 101 to 102.\n"
    },
    {
      "commit": "843372f2f0fa780e6634f4d242a7e1b787a1fa48",
      "tree": "b79356d555a114214c5090ece22ac3ed3be94379",
      "parents": [
        "4b4df36e1b12dea73578b91c2698e6907fcecea1"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:13:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:13:35 2026 -0400"
      },
      "message": "Bump GH CI actions/dependency-review-action from 4.9.0 to 5.0.0\n"
    },
    {
      "commit": "4b4df36e1b12dea73578b91c2698e6907fcecea1",
      "tree": "c68eb2003c667ed7753821b0d132707e2353610e",
      "parents": [
        "663866ace8b28f75712ddea3997b51fc3007049c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:09:53 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jun 07 10:09:53 2026 -0400"
      },
      "message": "Bump GH CI actions/checkout from 6.0.2 to 6.0.3\n"
    },
    {
      "commit": "663866ace8b28f75712ddea3997b51fc3007049c",
      "tree": "374ead3f12af740b3b10d14cc0228466ef3daea2",
      "parents": [
        "981c2a9998501ded827e8484c9319775e9f51d93"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 06 10:05:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 06 10:05:49 2026 -0400"
      },
      "message": "Harden AbstractProviderTestSuite tear down.\n"
    },
    {
      "commit": "981c2a9998501ded827e8484c9319775e9f51d93",
      "tree": "58e2d00a3ceee2dc65f641dada99b6e3b92729b0",
      "parents": [
        "081f77b4bb2d562cdcddef801e0303d482e7c0db"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 06 07:45:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Jun 06 07:45:47 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 100 to 101\n"
    },
    {
      "commit": "081f77b4bb2d562cdcddef801e0303d482e7c0db",
      "tree": "1f2d6a10739ec12da99654b9b172ad6ce4dca1dd",
      "parents": [
        "01455c6b6d84fe7896d1680319863426cdec891d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 05 07:29:04 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jun 05 07:29:04 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.36.0 to 4.36.2\n"
    },
    {
      "commit": "01455c6b6d84fe7896d1680319863426cdec891d",
      "tree": "89914bcd9c5c91fcdfd03db7b28804f2982c9699",
      "parents": [
        "83dde15cc2b5885fa866ad467b0ef6c5b016ddde"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 27 16:52:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 27 16:52:47 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.5 to 4.36.0\n"
    },
    {
      "commit": "83dde15cc2b5885fa866ad467b0ef6c5b016ddde",
      "tree": "9f098c74fbb3fa34e6160e17e6c1d9d89be7ac68",
      "parents": [
        "669a833deb29e23df006f2bd13348887b57282ce"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu May 21 22:19:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu May 21 22:19:48 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 99 to 100\n"
    },
    {
      "commit": "669a833deb29e23df006f2bd13348887b57282ce",
      "tree": "d99d1ed89035ae8a0010ac836345dbb817b800cd",
      "parents": [
        "07d015ad25d6726eec4b981440121d5806495c96"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 20 06:44:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed May 20 06:44:47 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.4 to 4.35.5\n"
    },
    {
      "commit": "07d015ad25d6726eec4b981440121d5806495c96",
      "tree": "4cba76aa43509e6556166f64457887aec831f56c",
      "parents": [
        "79256bb2ed3fce4a841ffbceba7f50ce99b0d77a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 12 18:50:18 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 12 18:50:18 2026 +0000"
      },
      "message": "Bump github/codeql-action from 4.35.3 to 4.35.4\n"
    },
    {
      "commit": "79256bb2ed3fce4a841ffbceba7f50ce99b0d77a",
      "tree": "734437a6741405d9d480b68ce3e0dc0a0928ed6b",
      "parents": [
        "5fbe00a7f2d5183bbb0c392f4d9813b64dedc96c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri May 08 07:26:43 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri May 08 07:26:43 2026 -0400"
      },
      "message": "Bump Log4j from 2.25.4 to 2.26.0.\n"
    },
    {
      "commit": "5fbe00a7f2d5183bbb0c392f4d9813b64dedc96c",
      "tree": "8c9e71df9c55c5ecfc589ca1f6df9fdec0512a93",
      "parents": [
        "616d0b9884d8115d2c30d435e02e3a40c1ce1080"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 05 11:24:20 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue May 05 11:24:20 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.2 to 4.35.3\n"
    },
    {
      "commit": "616d0b9884d8115d2c30d435e02e3a40c1ce1080",
      "tree": "a42d2cb63aab9b3bb82e88525ee1bedfd206913b",
      "parents": [
        "ae26c4667ed66acd7cd9aa7b453033d7705a7bca"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 30 21:52:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 30 21:52:00 2026 -0400"
      },
      "message": "Bump org.apache.mina:mina-core from 2.2.6 to 2.2.7"
    },
    {
      "commit": "ae26c4667ed66acd7cd9aa7b453033d7705a7bca",
      "tree": "6f3e3f71ed52f9fcf2c91dfcd891770b45156042",
      "parents": [
        "b2d42596b43619172afa45a83698675dc6da2685"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:18:16 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:18:16 2026 -0400"
      },
      "message": "Add comment\n"
    },
    {
      "commit": "b2d42596b43619172afa45a83698675dc6da2685",
      "tree": "7511f91f81532b4ed6beb0ff659e0472be74194c",
      "parents": [
        "ed4ac340686fee5b521d73d5dba3c1bd37212459"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:16:57 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:16:57 2026 -0400"
      },
      "message": "Bump Apache Mina SSHD from 3.0.0-M2 to 3.0.0-M3.\n"
    },
    {
      "commit": "ed4ac340686fee5b521d73d5dba3c1bd37212459",
      "tree": "6bb75b768bebb69968d8c9f2d188fb2cc6389502",
      "parents": [
        "ae152020004a3c489075c1bede9383ea6012c827"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:06:17 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:06:17 2026 -0400"
      },
      "message": "Bump org.apache.mina:mina-core from 2.2.5 to 2.2.6.\n"
    },
    {
      "commit": "ae152020004a3c489075c1bede9383ea6012c827",
      "tree": "3801ee92e603343ee19438bd45c5f8a70d42d01f",
      "parents": [
        "b1e2aaef0c54213c362207f7532ffd3014a98fe8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:03:48 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Apr 29 08:03:48 2026 -0400"
      },
      "message": "Refactor Apache Mina SSHd version into a POM property.\n"
    },
    {
      "commit": "b1e2aaef0c54213c362207f7532ffd3014a98fe8",
      "tree": "32e63e6e2bc36182767d83a3c1b0f8b03c583e19",
      "parents": [
        "ed1d845883a6fff860367da43da73658dae602e6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 28 14:54:22 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 28 14:54:22 2026 -0400"
      },
      "message": "Port SFTP tests from  Apache SSHd 0.8.0 to 3.0.0-M2 #754\n\n- Reuse IOUtils.closeQuietly()\n- Sort members\n- Use longer lines\n- Reduce nesting\n"
    },
    {
      "commit": "ed1d845883a6fff860367da43da73658dae602e6",
      "tree": "c0bda61ed7af2b36c3cd0a10be24fca31509c098",
      "parents": [
        "aa91b879dde9f49081b0d0c65238f26f77ff19da"
      ],
      "author": {
        "name": "VaishKumbhar",
        "email": "84306592+VaishKumbhar@users.noreply.github.com",
        "time": "Tue Apr 28 23:58:33 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 14:28:33 2026 -0400"
      },
      "message": "Add SFTP password authentication tests for Commons VFS2 (#754)\n\n* Add SFTP password authentication tests for Commons VFS2\n\n* Migrate SFTP test infrastructure from Apache MINA SSHD 0.x to 3.x API\n\n* Migrate SFTP test infrastructure from Apache MINA SSHD 0.x to 3.x API\n\n---------\n\nCo-authored-by: Vaishnavi Kumbhar \u003cvaishkum@amdocs.com\u003e"
    },
    {
      "commit": "aa91b879dde9f49081b0d0c65238f26f77ff19da",
      "tree": "4a8d80c3401229e75fb4345dfbeb4662b1abbd2d",
      "parents": [
        "5da8bdbc327fa30b35302cf97560a488a4123d25"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 26 08:01:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 26 08:01:51 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 98 to 99\n"
    },
    {
      "commit": "5da8bdbc327fa30b35302cf97560a488a4123d25",
      "tree": "0f16187ddf4b93d033348f009f59b43ec3c596c0",
      "parents": [
        "b847aba412038d4be8d4c46ae8db6fe8d42262ef"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 24 20:51:41 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 24 20:51:41 2026 -0400"
      },
      "message": "Bump commons-codec:commons-codec from 1.21.0 to 1.22.0.\n"
    },
    {
      "commit": "b847aba412038d4be8d4c46ae8db6fe8d42262ef",
      "tree": "4c3f31e97cdc549a76dfff5897848dda6c60219c",
      "parents": [
        "9c70668e55c9bcea5d7a4dc8665b2d960568146d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 07:04:51 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 23 07:04:51 2026 -0400"
      },
      "message": "Bump commons-io:commons-io from 2.21.0 to 2.22.0.\n"
    },
    {
      "commit": "9c70668e55c9bcea5d7a4dc8665b2d960568146d",
      "tree": "041c6800a081fe88f72617920310472dc589bb32",
      "parents": [
        "1f6e94e3e76d0ddc77cbeda8254ec383544562b0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 06:55:26 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 19 06:55:26 2026 -0400"
      },
      "message": "Bump org.apache.httpcomponents.client5:httpclient5 from 5.6 to 5.6.1\n"
    },
    {
      "commit": "1f6e94e3e76d0ddc77cbeda8254ec383544562b0",
      "tree": "792b11adb2a04c216e033f8caf4f8ff0533b1807",
      "parents": [
        "3ef1a667ecf156b6304cb3a081d5af004fbe06de"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 16 07:11:10 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Apr 16 07:11:10 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.35.1 to 4.35.2\n"
    },
    {
      "commit": "3ef1a667ecf156b6304cb3a081d5af004fbe06de",
      "tree": "94decad17e3b6d1845cb37d3ec2d835409a7299a",
      "parents": [
        "d6eea9df42f36250d060182983d11245e74be7cf"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:55:35 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:55:35 2026 -0400"
      },
      "message": "Bump actions/upload-artifact from 7.0.0 to 7.0.1\n"
    },
    {
      "commit": "d6eea9df42f36250d060182983d11245e74be7cf",
      "tree": "6bc952fb0f7ddc70cc8bd38f142a665d1d069f38",
      "parents": [
        "b7b22d449380016c0e9803b2ad0b084505aed88b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:49:38 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 14 07:49:38 2026 -0400"
      },
      "message": "Bump actions/cache from 5.0.4 to 5.0.5\n"
    },
    {
      "commit": "b7b22d449380016c0e9803b2ad0b084505aed88b",
      "tree": "36a314abd184b6da0e38ce04ff58a40eed95f38f",
      "parents": [
        "ed12c66973c3f647e5a7c949423dd684a7629909"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Apr 11 07:59:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Apr 11 07:59:52 2026 -0400"
      },
      "message": "[VFS-862] Fix ON_RESOLVE triggering refresh on internal navigation\n"
    },
    {
      "commit": "ed12c66973c3f647e5a7c949423dd684a7629909",
      "tree": "6ff3a4c4adbc34bdc2926bafe2cc53dd672c9ce2",
      "parents": [
        "2ab6374e8c40c23e237fbd74e200d669eccba9b1"
      ],
      "author": {
        "name": "Ilan Goldfeld",
        "email": "ilang@users.noreply.github.com",
        "time": "Sat Apr 11 04:58:36 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 11 07:58:36 2026 -0400"
      },
      "message": "[VFS-862] Fix ON_RESOLVE triggering refresh on internal navigation (#761)\n\n* [VFS-862] Fix ON_RESOLVE triggering refresh on internal navigation\n\nCacheStrategy.ON_RESOLVE is intended to refresh files when the user\nresolves them via the public API. However, internal navigation methods\n(getParent, getRoot, getChildren child resolution, symlink resolution)\nalso called fileSystem.resolveFile(), triggering ON_RESOLVE refreshes\non files the user never asked to refresh.\n\nThis became a severe regression after refresh() was changed to\nunconditionally clear FtpFileObject.childMap: each child\u0027s getParent()\nrefreshed the parent, clearing its childMap, forcing a new FTP LIST\ncommand per child. A directory with N files produced ~N LIST commands\ninstead of 1.\n\nFix:\n- Add resolveFileInternal() that skips the ON_RESOLVE refresh. All\n  internal navigation call sites use it instead of resolveFile().\n- After a fresh directory listing, FTP and SFTP providers propagate\n  metadata to cached child objects in-place, preserving object identity.\n\nThis establishes a clear contract: cached state is used until the user\nexplicitly calls refresh() or resolves via the public API. Internal\nnavigation never triggers server operations.\n\nTests:\n- FtpGetChildrenListCommandTest: verifies findFiles() on a directory\n  with 50 files issues exactly 1 LIST command with ON_RESOLVE.\n- SftpGetChildrenListCommandTest: verifies refresh + findFiles()\n  returns fresh children reflecting filesystem changes.\n\n* [VFS-862] Disable HTTP persistent connections in Jackrabbit 1.x tests\n\nJackrabbit 1.x bundles Jetty 6.x which does not drain unconsumed\nrequest bodies before sending error responses (e.g. 404) on persistent\nconnections, violating HTTP/1.1 requirements. This leaves stale request\nbytes that corrupt the next request on a reused connection.\n\nThe resolveFileInternal change in getParent() removed an extra PROPFIND\nrequest to the parent directory that used to happen between the child\u0027s\nPROPFIND (404) and the child\u0027s PUT. That extra request happened to flush\nthe stale bytes from the connection. Without it, the server reads the\n112-byte PROPFIND XML request body as the PUT file content.\n\nFix: add Connection: close to the test HttpClient configuration so\neach request uses a fresh connection.\n\nJetty 9.4+ handles this correctly (see jetty#651, jetty#4117, jetty#6168).\nJackrabbit 2 tests pass without changes. No production code modified.\n\n* [VFS-862] Remove SFTP test that passes without the fix\n\nThe SFTP test cannot distinguish the fix from the original ON_RESOLVE\nbehavior because SFTP\u0027s doListChildrenResolved() pushes metadata to\neach child via setStat() immediately after resolution. The ON_RESOLVE\nrefresh clears attrs, but setStat() repopulates it right after — same\nserver traffic either way. The optimization is purely client-side.\n\nThe FTP test remains and definitively proves the fix (82 LISTs without\nthe fix, 1 LIST with).\n\n* Add comment.\n\n---------\n\nCo-authored-by: Gary Gregory \u003cgarydgregory@users.noreply.github.com\u003e"
    },
    {
      "commit": "2ab6374e8c40c23e237fbd74e200d669eccba9b1",
      "tree": "1b530b533f282e37db07efcd6877bcc98d0a98cc",
      "parents": [
        "25a19b413fd5983077ea474558cbe89e991f2701"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 10 20:28:45 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 10 20:28:45 2026 -0400"
      },
      "message": "Bump org.apache.ant:ant from 1.10.16 to 1.10.17.\n"
    },
    {
      "commit": "25a19b413fd5983077ea474558cbe89e991f2701",
      "tree": "a8f4bd00f943ddb039f99a9cf0f38d88d9cc09a1",
      "parents": [
        "b79f1492959d69c195bc8803c90bac377854e894"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 13:09:34 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Apr 07 13:09:34 2026 -0400"
      },
      "message": "Bump org.apache.commons:commons-parent from 97 to 98\n"
    },
    {
      "commit": "b79f1492959d69c195bc8803c90bac377854e894",
      "tree": "8e4e20fbf5d44f907014f8a5efd6b94381a90dee",
      "parents": [
        "c1e214db04945551b3652584eb0c24b4d392e314"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:32:11 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:32:11 2026 -0400"
      },
      "message": "Use static imports only for JUnit\n"
    },
    {
      "commit": "c1e214db04945551b3652584eb0c24b4d392e314",
      "tree": "b82e95839e8adba5632bffc19d057d6f856a7052",
      "parents": [
        "3d72c9aac57ffa2a170693f355565797a9172782"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:14:49 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:14:49 2026 -0400"
      },
      "message": "Fix Javadoc since tag\n"
    },
    {
      "commit": "3d72c9aac57ffa2a170693f355565797a9172782",
      "tree": "de2f7176d995d1fde280286da8b88c1a9ba37f67",
      "parents": [
        "f6d991cc4fd4f93aba8699a151a486c564d8ff08"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:12:27 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 10:12:27 2026 -0400"
      },
      "message": "Fix refresh() not clearing cached state when file was never\nattached #758\n\n- Use longer lines\n- Sort members\n- Reduce vertical whitespace\n"
    },
    {
      "commit": "f6d991cc4fd4f93aba8699a151a486c564d8ff08",
      "tree": "07918522f47736173a2e7d6be7738bde254289cf",
      "parents": [
        "5f773632e7c61aebe44fad20c00f0f9cc5aaa8fd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:59:32 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:59:32 2026 -0400"
      },
      "message": "Fix refresh() not clearing cached state when file was never\nattached #758\n"
    },
    {
      "commit": "5f773632e7c61aebe44fad20c00f0f9cc5aaa8fd",
      "tree": "9b1b406ea4ef7c1cce7c53d4baea2f3980af274a",
      "parents": [
        "dbe34a9505d76ba611013738cca654ddee53d4cb"
      ],
      "author": {
        "name": "Ilan Goldfeld",
        "email": "ilang@users.noreply.github.com",
        "time": "Sun Apr 05 06:58:55 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 09:58:55 2026 -0400"
      },
      "message": "[VFS] Fix refresh() not clearing cached state when file was never attached (#758)\n\nAbstractFileObject.detach() guards both doDetach() and cache clearing\nwith \u0027if (attached)\u0027. This prevents clearing cached state (type, parent,\nchildren) on objects that were never attached. However, provider-specific\ncached fields can be populated without going through attach():\n- FtpFileObject.childMap via getChildFile() -\u003e doGetChildren()\n- SftpFileObject.attrs via setStat() in doListChildrenResolved()\n\nWhen refresh() calls detach() on such an object, the stale cached data\nis silently preserved, causing exists() to return incorrect results.\n\nFix:\n- FtpFileObject.refresh(): clear childMap explicitly, since doDetach()\n  is guarded by attached and may not run.\n- SftpFileObject.refresh(): override to clear attrs explicitly, same\n  reason.\n- AbstractFileObject.detach(): move base-class cache clearing\n  (setFileType, parent, removeChildrenCache) outside the \u0027if (attached)\u0027\n  guard as a defensive measure. Currently these fields are only populated\n  via code paths that call attach(), but this ensures correctness if\n  future changes introduce paths that bypass attach().\n\nTests:\n- FtpRefreshCachedStateTest: verifies exists() returns false after a\n  file is deleted and parent is refreshed (FTP childMap scenario).\n- SftpRefreshCachedStateTest: verifies exists() returns false after a\n  file is deleted and refreshed (SFTP attrs scenario)."
    },
    {
      "commit": "dbe34a9505d76ba611013738cca654ddee53d4cb",
      "tree": "d8ba01fcb08436682c98a69138454be00c5e16f6",
      "parents": [
        "a29cb5197d2114b6a1b9a6917497b2c6a4fd739c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:51:52 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:51:52 2026 -0400"
      },
      "message": "Fix FtpFileObject.exists() returning true for root-level folders after\nconnection drop #757\n\n- Use static imports for JUnit only\n- Sort members\n- Reduce vertical whitespace\n"
    },
    {
      "commit": "a29cb5197d2114b6a1b9a6917497b2c6a4fd739c",
      "tree": "987976a181eb6e880d78ec1deb143fc0e70fe4f3",
      "parents": [
        "924cc6ef7ede8d2a8feb809eb50fe4fbaf0df9b4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:49:44 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:49:44 2026 -0400"
      },
      "message": "Use final\n"
    },
    {
      "commit": "924cc6ef7ede8d2a8feb809eb50fe4fbaf0df9b4",
      "tree": "656fceb9bad0be630b0c747f931f64626e1d610c",
      "parents": [
        "3ab81757c908f7b343eaeb607d9aa9461fbce684"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:49:32 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:49:32 2026 -0400"
      },
      "message": "FTPClientWrapper.java‎\n\nSort new member\n"
    },
    {
      "commit": "3ab81757c908f7b343eaeb607d9aa9461fbce684",
      "tree": "e93e61b69677c8e601fa531761336190a80c5cf1",
      "parents": [
        "50b4c72ff081e44d6e93f8a9f5d96b80aead9e01"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:48:47 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:48:47 2026 -0400"
      },
      "message": "Fix FtpFileObject.exists() returning true for root-level folders after\nconnection drop #757\n"
    },
    {
      "commit": "50b4c72ff081e44d6e93f8a9f5d96b80aead9e01",
      "tree": "c306d3a4ae2456df86ee216d03f054e08edffea9",
      "parents": [
        "3a3febbfae323147aece48852405546a085139e0"
      ],
      "author": {
        "name": "Ilan Goldfeld",
        "email": "ilang@users.noreply.github.com",
        "time": "Sun Apr 05 06:47:41 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 09:47:41 2026 -0400"
      },
      "message": "Fix FtpFileObject.exists() returning true for root-level folders after connection drop (#757)\n\n* [VFS] Fix FtpFileObject.exists() returning true for root-level folders after connection drop\n\nsetFTPFile() blindly assumed that root-level directories (where\ngetParent() returns null) always exist by creating a synthetic FTPFile\nwith DIRECTORY_TYPE. This caused exists() to return true even after the\nFTP connection was lost.\n\nFix: add verifyRootDirectory() which uses CWD \".\" to verify the\ndirectory exists on the server. CWD \".\" checks the current directory\n(the logical VFS root) which is correct for both configurations:\n- userDirIsRoot\u003dtrue: current dir is the user\u0027s login directory\n- userDirIsRoot\u003dfalse: current dir is \"/\" (set by the factory CWD)\n\nUsing \".\" rather than \"/\" avoids a semantic mismatch on non-chroot\nservers with userDirIsRoot\u003dtrue, where \"/\" would go to the actual\nserver root instead of the user\u0027s login directory.\n\nAdd FtpClient.changeDirectory() default method and FTPClientWrapper\nimplementation to support CWD from FtpFileObject.\n\n* Fix Javadoc since tag.\n\n---------\n\nCo-authored-by: Gary Gregory \u003cgarydgregory@users.noreply.github.com\u003e"
    },
    {
      "commit": "3a3febbfae323147aece48852405546a085139e0",
      "tree": "599bf0b734bbf62f4c430913b06841534b9bac85",
      "parents": [
        "1245cc009e866614960f25f9b72050f4f0610493"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:23:13 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:23:13 2026 -0400"
      },
      "message": "Use final\n"
    },
    {
      "commit": "1245cc009e866614960f25f9b72050f4f0610493",
      "tree": "3b8d00da8007d65300d111b8a925f3a2b3d32825",
      "parents": [
        "0d62a6af44c9da4365090c92cc2dd589825810d6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:00:32 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 09:00:32 2026 -0400"
      },
      "message": "Remove useless lambda block.\n"
    },
    {
      "commit": "0d62a6af44c9da4365090c92cc2dd589825810d6",
      "tree": "972c20faa2c81cabf89dfbefd7922363213ec29d",
      "parents": [
        "f10239d74056c7bbccec0c3e3a6def71fd440593"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 08:47:36 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 08:47:36 2026 -0400"
      },
      "message": "Add missing @Override\n"
    },
    {
      "commit": "f10239d74056c7bbccec0c3e3a6def71fd440593",
      "tree": "5cc92abe7ffcb07a8f4b74351cc9933361152d88",
      "parents": [
        "0026a9200621043333d86addbc9d23153a3a1756"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 08:47:16 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Apr 05 08:47:16 2026 -0400"
      },
      "message": "Use static imports but only for JUnit instead of FQCN in code.\n"
    },
    {
      "commit": "0026a9200621043333d86addbc9d23153a3a1756",
      "tree": "5a5b71d386ba8348828183667fc809c47d5298c9",
      "parents": [
        "227710ed2e525605154f6cb54b7f9f341111e73a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 03 06:53:27 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Apr 03 06:53:27 2026 -0400"
      },
      "message": "Run builds only on push to master and pull requests\n"
    },
    {
      "commit": "227710ed2e525605154f6cb54b7f9f341111e73a",
      "tree": "25c6cd4912407e620ba1b252ccefd5e055ad3a1d",
      "parents": [
        "9d5881514afe79fd29d72dcc28605b870f4eef88"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Wed Apr 01 13:43:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 13:43:57 2026 -0400"
      },
      "message": "Bump org.apache.ant:ant from 1.10.15 to 1.10.16 #760."
    },
    {
      "commit": "9d5881514afe79fd29d72dcc28605b870f4eef88",
      "tree": "2b8a396a1299ebad467a25caceb0ae54adc65c88",
      "parents": [
        "cd971239c6358241f83d7f1ba9117b91560457c4"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Apr 01 13:42:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 13:42:55 2026 -0400"
      },
      "message": "Bump org.apache.ant:ant from 1.10.15 to 1.10.16 (#760)\n\nBumps org.apache.ant:ant from 1.10.15 to 1.10.16.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.ant:ant\n  dependency-version: 1.10.16\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "cd971239c6358241f83d7f1ba9117b91560457c4",
      "tree": "bb74230e0fd2ba70cb9bae26b15354745c2c82e0",
      "parents": [
        "a8ebf970b78ce530c158638832c66454bfbe8cce"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Mar 31 21:45:01 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Mar 31 21:45:01 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.34.1 to 4.35.1\n"
    },
    {
      "commit": "a8ebf970b78ce530c158638832c66454bfbe8cce",
      "tree": "bc728ff31063b579b0f4d6479a359abc4cded790",
      "parents": [
        "a058d32f7ec30e4f676ca203cb4cf94459c85a4f"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Mar 31 20:41:44 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Mar 31 20:41:44 2026 -0400"
      },
      "message": "Bump actions/dependency-review-action from 4.8.2 to 4.9.0\n"
    },
    {
      "commit": "a058d32f7ec30e4f676ca203cb4cf94459c85a4f",
      "tree": "e9f270b0fe4f8bfb9cbad104041300fbabe7f2e8",
      "parents": [
        "6a401678c71ffc1d1edcf2f487f7f8c01bd75e70"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 30 07:17:32 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 30 07:17:32 2026 -0400"
      },
      "message": "Bump Bump actions/cache from 5.0.3 to 5.0.4\n"
    },
    {
      "commit": "6a401678c71ffc1d1edcf2f487f7f8c01bd75e70",
      "tree": "090d4b019f215bd30f015825daf3ca4967f74fe2",
      "parents": [
        "5a7d7edf08974e4ba0956444002406d950b88b13"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sat Mar 28 10:13:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 28 10:13:23 2026 -0400"
      },
      "message": "Update hadoop.version from 3.4.2 to 3.4.3 #756"
    },
    {
      "commit": "5a7d7edf08974e4ba0956444002406d950b88b13",
      "tree": "48dfdd5a7bb4931aa18ff48467b7095bdcf25d69",
      "parents": [
        "262d1f8e9cc0b976d32aae79302d8c3902fc1531"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Mar 28 10:10:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 28 10:10:18 2026 -0400"
      },
      "message": "Bump hadoop.version from 3.4.2 to 3.4.3 (#756)\n\nBumps `hadoop.version` from 3.4.2 to 3.4.3.\n\nUpdates `org.apache.hadoop:hadoop-hdfs-client` from 3.4.2 to 3.4.3\n\nUpdates `org.apache.hadoop:hadoop-common` from 3.4.2 to 3.4.3\n\nUpdates `org.apache.hadoop:hadoop-hdfs` from 3.4.2 to 3.4.3\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.hadoop:hadoop-hdfs-client\n  dependency-version: 3.4.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n- dependency-name: org.apache.hadoop:hadoop-common\n  dependency-version: 3.4.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n- dependency-name: org.apache.hadoop:hadoop-hdfs\n  dependency-version: 3.4.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "262d1f8e9cc0b976d32aae79302d8c3902fc1531",
      "tree": "70004daf0d07af38912543966711d1fa9561b61b",
      "parents": [
        "7a3fa12ba23321e7161d4f0b63bd36f40e52070a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Mar 28 08:05:24 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Mar 28 08:05:24 2026 -0400"
      },
      "message": "Bump log4j2.version from 2.25.3 to 2.25.4\n"
    },
    {
      "commit": "7a3fa12ba23321e7161d4f0b63bd36f40e52070a",
      "tree": "ba0b9c05f864f4789f4acf4faefaf6fd3e35cf98",
      "parents": [
        "d6094e7ac564a771b0ffab4cea8494e5f366b3b0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 27 14:50:00 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 27 14:50:00 2026 -0400"
      },
      "message": "Bump github/codeql-action from 4.34.0 to 4.34.1\n"
    },
    {
      "commit": "d6094e7ac564a771b0ffab4cea8494e5f366b3b0",
      "tree": "f5440622df4fe8080681a72f3f27b2a2f9fe0908",
      "parents": [
        "19fd24bec888c4159728e9ffea6b8ac4e2b123ab"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 23 11:53:27 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 23 11:53:27 2026 -0700"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "19fd24bec888c4159728e9ffea6b8ac4e2b123ab",
      "tree": "f65a9ff1912b41a6e9a47e474f2e6739555a28e9",
      "parents": [
        "bb3f192f26dc36e07cbd483745841a2864a130b8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 20 17:33:10 2026 -0700"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 20 17:33:10 2026 -0700"
      },
      "message": "Bump github/codeql-action from 4.32.6 to 4.34.0\n"
    },
    {
      "commit": "bb3f192f26dc36e07cbd483745841a2864a130b8",
      "tree": "82d670d32411ddba67c034b2cb97719601ac35ec",
      "parents": [
        "55c96cfd2bdabe455058826ad86788f120b1425d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 19 23:46:57 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 19 23:46:57 2026 +0000"
      },
      "message": "Add a reference to safe deserlialization\n"
    },
    {
      "commit": "55c96cfd2bdabe455058826ad86788f120b1425d",
      "tree": "a37c57ade18022470fbe4f3f991b3806934a856e",
      "parents": [
        "8ac9ec3cb4f7116e6809ef4d146736ac637939c7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Mar 18 19:02:32 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Mar 18 19:02:32 2026 -0400"
      },
      "message": "Bump commons-net:commons-net from 3.12.0 to 3.13.0\n"
    },
    {
      "commit": "8ac9ec3cb4f7116e6809ef4d146736ac637939c7",
      "tree": "3bc31fca646a4792c8386d9d327c6729b8076b6a",
      "parents": [
        "d20debca30b19d9f485d805525b23b91720e5890"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 09 08:44:22 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 09 08:44:22 2026 -0400"
      },
      "message": "Bump actions/upload-artifact from 6.0.0 to 7.0.0\n"
    },
    {
      "commit": "d20debca30b19d9f485d805525b23b91720e5890",
      "tree": "3f57db3e3158c4f68b966eaa1453b642838b5b5f",
      "parents": [
        "fc5693db6b6a23d28c9af29c15bb7643a45000bf"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Mar 08 09:10:03 2026 -0400"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Mar 08 09:10:03 2026 -0400"
      },
      "message": "Bump commons-logging:commons-logging from 1.3.5 to 1.3.6.\n"
    },
    {
      "commit": "fc5693db6b6a23d28c9af29c15bb7643a45000bf",
      "tree": "24af9997261bc255d3a12b8d71ac5655226ad1f9",
      "parents": [
        "d1c8e7e6811ae870d3398c058362bbbd125b99e7"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 06 07:36:42 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 06 07:36:42 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.32.5 to 4.32.6\n"
    },
    {
      "commit": "d1c8e7e6811ae870d3398c058362bbbd125b99e7",
      "tree": "6feddf81c56a92525df1b3b847b3f931a6b4bff5",
      "parents": [
        "c5c168e0138e8cdaeb423e7497bb19833c1925cb"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 06 07:19:12 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 06 07:19:12 2026 -0500"
      },
      "message": "Undeprecate util method and reuse\n"
    },
    {
      "commit": "c5c168e0138e8cdaeb423e7497bb19833c1925cb",
      "tree": "fd683f6e48fb334cc2c14203ad8ddcf22669c712",
      "parents": [
        "b1dd62d1571c9ef68dece57b0e54a7467bb3b629"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 06 07:06:46 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Mar 06 07:06:46 2026 -0500"
      },
      "message": "[VFS-861] Http5FileProvider Basic authentication fails:\nUserAuthenticationData.setData(Type, char[]) should clone its array\ninput\n\nRefactor for reuse.\n"
    },
    {
      "commit": "b1dd62d1571c9ef68dece57b0e54a7467bb3b629",
      "tree": "77783d34b82bfb6580c750f906974117c41f434d",
      "parents": [
        "6af54206a247bca5440268bd77c0e1e7e529f172"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 05 20:44:13 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 05 20:44:13 2026 -0500"
      },
      "message": "[VFS-861] Http5FileProvider Basic authentication fails:\nUserAuthenticationData.setData(Type, char[]) should clone its array\ninput\n"
    },
    {
      "commit": "6af54206a247bca5440268bd77c0e1e7e529f172",
      "tree": "25759af7def6169965913d16a7ee1c620c3c45eb",
      "parents": [
        "c2f729dd7f81d35d6b33a575cdbf57342d337eab"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 05 17:45:16 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 05 17:45:16 2026 -0500"
      },
      "message": "Add .checkstyle to git ignore file\n"
    },
    {
      "commit": "c2f729dd7f81d35d6b33a575cdbf57342d337eab",
      "tree": "bce553e3357c50ce0c805969ac1a75ae4b848f14",
      "parents": [
        "14750728cab2d8abcd7e61df0be3de74be06afc0"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 05 17:38:37 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Mar 05 17:38:37 2026 -0500"
      },
      "message": "Bump org.apache.httpcomponents.core5:httpcore5 from 5.4.1 to 5.4.2\n"
    },
    {
      "commit": "14750728cab2d8abcd7e61df0be3de74be06afc0",
      "tree": "d0f34adda99add82e40d99098b1b1d2da2e643e2",
      "parents": [
        "1048388517b3fc295c6ce42fd3d6e4efb301c70c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 08:34:44 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 08:34:44 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.32.4 to 4.32.5\n"
    },
    {
      "commit": "1048388517b3fc295c6ce42fd3d6e4efb301c70c",
      "tree": "d7ffdffb394bf334c5babe9f9ee15920f0d1e4ec",
      "parents": [
        "84af4ea0f5747a9576ce1e85567cf2991affca82"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 08:26:59 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 08:26:59 2026 -0500"
      },
      "message": "Deprecate UserAuthenticatorUtils.toString(String).\n\n- Use ternary expressions\n- Javadoc\n- Inline single-use local variable\n"
    },
    {
      "commit": "84af4ea0f5747a9576ce1e85567cf2991affca82",
      "tree": "9bb7f056f5dfc40af3fda55d304a1f8e312eea97",
      "parents": [
        "bafb54b49db0cfa9c163fce03f28ff3d09742bb6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 08:09:27 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 08:09:27 2026 -0500"
      },
      "message": "Deprecate UserAuthenticatorUtils.toChar(String)\n"
    },
    {
      "commit": "bafb54b49db0cfa9c163fce03f28ff3d09742bb6",
      "tree": "e7490712be39250017330ca86ab311723078d6de",
      "parents": [
        "5d9ce7625dfd251fe8cdc2e7fbcd161c6cfac2cd"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:43:26 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:43:26 2026 -0500"
      },
      "message": "[VFS-861] Http5FileProvider Basic authentication fails:\nUserAuthenticationData.setData(Type, char[]) should clone its array\ninput.\n"
    },
    {
      "commit": "5d9ce7625dfd251fe8cdc2e7fbcd161c6cfac2cd",
      "tree": "c9f37bd20bd2ac51508a16cb64f7cbf96658af2d",
      "parents": [
        "22423f31c78b8040ec996acb09de2eeeb7f73022"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:33:26 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:33:26 2026 -0500"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "22423f31c78b8040ec996acb09de2eeeb7f73022",
      "tree": "8eb7b18c4f55eff81637c15b259e49d1ab233087",
      "parents": [
        "61e1c45e56a1addba3587e4875b5208a8e711e19"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:32:55 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:32:55 2026 -0500"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "61e1c45e56a1addba3587e4875b5208a8e711e19",
      "tree": "a00e9dcf2f39a496d64039b31ed7781c1d9aece9",
      "parents": [
        "6985bfcfc8831e367a668fc2f47e69183472bbf9"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:32:39 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Mar 02 07:32:39 2026 -0500"
      },
      "message": "Javadoc\n"
    },
    {
      "commit": "6985bfcfc8831e367a668fc2f47e69183472bbf9",
      "tree": "2203baabdf2ecbf8c36b1f24df995f7d93237521",
      "parents": [
        "9b4301f20f5d9601c43dcc8c2063f7de67fdbc49"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Feb 28 08:34:19 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sat Feb 28 08:34:19 2026 -0500"
      },
      "message": "Bump org.apache.commons:commons-parent from 96 to 97.\n"
    },
    {
      "commit": "9b4301f20f5d9601c43dcc8c2063f7de67fdbc49",
      "tree": "249a8854fff50fe38ca7beee0a006b3c260add85",
      "parents": [
        "c3b999a4b0cc370f488a0cdea18cdc0e2b9483dc"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Feb 23 10:59:21 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Feb 23 10:59:21 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.32.0 to 4.32.4\n"
    },
    {
      "commit": "c3b999a4b0cc370f488a0cdea18cdc0e2b9483dc",
      "tree": "f473df2caf16f8473e1f7bd64b6f2511f20056a9",
      "parents": [
        "af2e183ac069a911dde861889e274463a403a0c5"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Feb 20 07:42:47 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Feb 20 07:42:47 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.32.2 to 4.32.3\n"
    },
    {
      "commit": "af2e183ac069a911dde861889e274463a403a0c5",
      "tree": "a8917de077a2cfb32630f9b5ec4c6e413e4373c8",
      "parents": [
        "471b756aed3bac3eed347747ce922de774edaa6c"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Feb 17 15:48:33 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Tue Feb 17 15:48:33 2026 -0500"
      },
      "message": "Bump org.apache.httpcomponents.core5:httpcore5 from 5.4 to 5.4.1\n"
    },
    {
      "commit": "471b756aed3bac3eed347747ce922de774edaa6c",
      "tree": "aa37bdb80038ba7aa8b696a8ef2c62fbb101db8f",
      "parents": [
        "25b7f428381002e87a0e3b2e2c4074c9a9325680"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Feb 09 13:12:24 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Feb 09 13:12:24 2026 +0000"
      },
      "message": "Bump actions/cache from 5.0.2 to 5.0.3\n"
    },
    {
      "commit": "25b7f428381002e87a0e3b2e2c4074c9a9325680",
      "tree": "008328acfc3ebb1bc771a462c18f7ae0746e9dae",
      "parents": [
        "d35fba5db9174441c7fadb597d336cee91899589"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Feb 06 09:43:06 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Feb 06 09:43:06 2026 -0500"
      },
      "message": "Use \tmax-parallel: 20 as asked by Apache Infra\n"
    },
    {
      "commit": "d35fba5db9174441c7fadb597d336cee91899589",
      "tree": "ab82c9973ca82a423d240351a162904b90802a4d",
      "parents": [
        "fa5ff347002ccca096e80b11b5282f75b9ee6227"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Feb 06 12:35:40 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Feb 06 12:35:40 2026 +0000"
      },
      "message": "Bump github/codeql-action from 4.32.0 to 4.32.2\n"
    },
    {
      "commit": "fa5ff347002ccca096e80b11b5282f75b9ee6227",
      "tree": "4635e608d46be513f50da83debff08c14e208096",
      "parents": [
        "7b543bfb7765ce5e8dc875f0efa94d77fac58173"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jan 29 17:36:35 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jan 29 17:36:35 2026 -0500"
      },
      "message": "Bump commons-codec:commons-codec from 1.20.0 to 1.21.0.\n"
    },
    {
      "commit": "7b543bfb7765ce5e8dc875f0efa94d77fac58173",
      "tree": "4b5176d7e0313186ea73cfba7109079c81b8a161",
      "parents": [
        "528ac3f0fb1e35c3195958ce9ee5c1afa6b4aa18"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 15:46:02 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 15:46:02 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.31.11 to 4.32.0\n"
    },
    {
      "commit": "528ac3f0fb1e35c3195958ce9ee5c1afa6b4aa18",
      "tree": "93964bb4b736f60f18a16fd284cf58d1c38164fa",
      "parents": [
        "78c4b2e27e41963dc63c087a38362d0ba68ca6de"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 08:24:37 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 08:24:37 2026 -0500"
      },
      "message": "SftpFileSystem.executeCommand(String, StringBuilder) now restores the\ncurrent thread\u0027s interrupt flag when catching InterruptedException\n"
    },
    {
      "commit": "78c4b2e27e41963dc63c087a38362d0ba68ca6de",
      "tree": "4804ae98d27ff32bbab18443ab810f24902fc3d2",
      "parents": [
        "1daff9d855a854fbf4b73fd2c981ac5c92aae34a"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 08:23:34 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 08:23:34 2026 -0500"
      },
      "message": "DefaultFileMonitor now restores the current thread\u0027s interrupt flag when\ncatching InterruptedException.\n"
    },
    {
      "commit": "1daff9d855a854fbf4b73fd2c981ac5c92aae34a",
      "tree": "c7a6e7717060b2345b964547ee9953d1f87aa0fa",
      "parents": [
        "0ecf76212dbd3f4d40cd98469a90754e0ceca4a8"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 08:12:22 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 08:12:22 2026 -0500"
      },
      "message": "Update test to match InterruptedException guidelines\n"
    },
    {
      "commit": "0ecf76212dbd3f4d40cd98469a90754e0ceca4a8",
      "tree": "ffa34f79199cabce751ccf51f9e5aaf29cf1fbec",
      "parents": [
        "32d17c4217cb03fb760ca0315460701876ecbe21"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 07:08:28 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 28 07:08:28 2026 -0500"
      },
      "message": "Flip type and dev attributes\n"
    },
    {
      "commit": "32d17c4217cb03fb760ca0315460701876ecbe21",
      "tree": "ce52eef5bcf21f5c06497bc44560da20853c9820",
      "parents": [
        "0a3b6b54fa965589c78df8dcea069ed44eabfbf6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jan 26 09:37:45 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jan 26 09:37:45 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.31.10 to 4.31.11\n"
    },
    {
      "commit": "0a3b6b54fa965589c78df8dcea069ed44eabfbf6",
      "tree": "fe3a86067163b19c63f0837153bbeb4c4de16772",
      "parents": [
        "f9843e2832f56f844f3d98a22cb24318e8a2d254"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jan 23 07:44:43 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Fri Jan 23 07:44:43 2026 -0500"
      },
      "message": "Bump actions/checkout from 6.0.1 to 6.0.2\n"
    },
    {
      "commit": "f9843e2832f56f844f3d98a22cb24318e8a2d254",
      "tree": "983ecdcb99bc1eaaa783c615c9a1bad6cec6ee75",
      "parents": [
        "06e4304814a97fe2a488609e4c1a902d0e50035b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jan 22 14:30:54 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jan 22 14:30:54 2026 -0500"
      },
      "message": "Bump org.apache.commons:commons-parent from 95 to 96"
    },
    {
      "commit": "06e4304814a97fe2a488609e4c1a902d0e50035b",
      "tree": "f2d63ce6f2fc6cd8fa0d2f0d70d5faf79b2d5294",
      "parents": [
        "a142f31ce827e71a8396a1ab486354968e529b18"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jan 22 15:40:22 2026 +0000"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Thu Jan 22 15:40:22 2026 +0000"
      },
      "message": "Bump actions/setup-java from 5.1.0 to 5.2.0\n"
    },
    {
      "commit": "a142f31ce827e71a8396a1ab486354968e529b18",
      "tree": "e019a7756f98458bb867121ba2c2ac00f6a40ed7",
      "parents": [
        "0586f15d770a3bff24d533fbf9c97f2214ffd058"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 14 14:40:20 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Wed Jan 14 14:40:20 2026 -0500"
      },
      "message": "Fix Javadoc typos\n"
    },
    {
      "commit": "0586f15d770a3bff24d533fbf9c97f2214ffd058",
      "tree": "f44587a2e051ce9fb853d0859d2193be2b61c2c5",
      "parents": [
        "e938fc5b3e6b323b154ceabb6cd2d1072ad6da60"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jan 12 11:08:49 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jan 12 11:08:49 2026 -0500"
      },
      "message": "Bump org.apache.commons:commons-parent from 94 to 95.\n"
    },
    {
      "commit": "e938fc5b3e6b323b154ceabb6cd2d1072ad6da60",
      "tree": "fdac54764ecbada881730bbc9b419147868eab6e",
      "parents": [
        "d723c72d30a5c19159b11ddab449cfbbcb9259c6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jan 12 10:50:07 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Mon Jan 12 10:50:07 2026 -0500"
      },
      "message": "Bump github/codeql-action from 4.31.9 to 4.31.10\n"
    },
    {
      "commit": "d723c72d30a5c19159b11ddab449cfbbcb9259c6",
      "tree": "86f374d57f2f4d35009f2186d4abc584c2cbc0c4",
      "parents": [
        "81d2ad8e779f93e614c2d04494f86f3a3a261680"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:56 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:56 2026 -0500"
      },
      "message": "Javadoc\n\nAdd an empty line before a Javadoc comment\n"
    },
    {
      "commit": "81d2ad8e779f93e614c2d04494f86f3a3a261680",
      "tree": "5b5469d83ba5ccf140e66fdddf41bdb4a43151e1",
      "parents": [
        "2bbd2830bc2059a1187339a335b86b6daf32e877"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:52 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:52 2026 -0500"
      },
      "message": "Javadoc\n\nAdd an empty line before a Javadoc comment\n"
    },
    {
      "commit": "2bbd2830bc2059a1187339a335b86b6daf32e877",
      "tree": "e6c9576b124198564719696efde7f9610474d363",
      "parents": [
        "8d71b881bea339780ff9769309087775118ec705"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:47 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:47 2026 -0500"
      },
      "message": "Javadoc\n\nAdd an empty line before a Javadoc comment\n"
    },
    {
      "commit": "8d71b881bea339780ff9769309087775118ec705",
      "tree": "52045b1e448ed03b8a13880100fda438ff7032ab",
      "parents": [
        "8475da565e66e0c067c70d5cdf00bccbcbe91003"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:42 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:49:42 2026 -0500"
      },
      "message": "Javadoc\n\nAdd an empty line before a Javadoc comment\n"
    },
    {
      "commit": "8475da565e66e0c067c70d5cdf00bccbcbe91003",
      "tree": "4c928d8cd3539b7c12007f6dbc4eb42d7660f9cb",
      "parents": [
        "10ee200ac0b315c3ff8cf1022838e5bf7d50360d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:31:52 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:31:52 2026 -0500"
      },
      "message": "Fix Javadoc cruft"
    },
    {
      "commit": "10ee200ac0b315c3ff8cf1022838e5bf7d50360d",
      "tree": "98f139738cd59781949256280cc8f08ca54e6dbe",
      "parents": [
        "0d4153271e044fcda730ecbd82942ebd9cffe36d"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:31:24 2026 -0500"
      },
      "committer": {
        "name": "Gary Gregory",
        "email": "garydgregory@gmail.com",
        "time": "Sun Jan 04 15:31:24 2026 -0500"
      },
      "message": "Fix Javadoc cruft"
    }
  ],
  "next": "0d4153271e044fcda730ecbd82942ebd9cffe36d"
}
