)]}'
{
  "commit": "102d4621e19e1cde16db239a1f0c4d4d6804978d",
  "tree": "82a78c348ffc62e7d69499a68e480f2c837a34b1",
  "parents": [
    "eddbc060b3c27a2d8301ba43dfca3812476f6cba"
  ],
  "author": {
    "name": "Gary Gregory",
    "email": "garydgregory@users.noreply.github.com",
    "time": "Sun Aug 23 18:59:16 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Aug 23 18:59:16 2026 -0400"
  },
  "message": "Fix UrlFileObject when Java 8\u0027s KeepAliveStream reuse causes (#780)\n\nIOException: Stream closed.\n\ndoGetContentSize, doGetLastModifiedTime and doGetType now use HEAD for\nHttpURLConnection and call conn.connect() instead of opening and closing\na full GET InputStream. This removes the body download and avoids the\nJava 8 KeepAliveStream reuse that causes IOException: Stream closed.\n\ndoGetInputStream now sets Connection: close for HTTP URLs on Java 8 so\nthe pooled socket is not reused for the next metadata call.\n\nWith this change LastModifiedTests.testGetLastModifiedFile and the\nVfsClassLoaderTests and UrlProviderHttpTest provider tests no longer hit\nthe Stream closed error on Java 8 on macOS and Windows.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d1cef5c05435fa18b602b9205bcf2577c32f681",
      "old_mode": 33188,
      "old_path": "commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/url/UrlFileObject.java",
      "new_id": "58c9073ebd418d1464e305cc60c3a4abe2cc67d0",
      "new_mode": 33188,
      "new_path": "commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/url/UrlFileObject.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7cc8cda2f9a0ae41f151dd60cc6c67ca899350f5",
      "new_mode": 33188,
      "new_path": "commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/url/UrlFileObjectKeepAliveTest.java"
    },
    {
      "type": "modify",
      "old_id": "97f842354815efde15cf62afa7dba03e12e4f25c",
      "old_mode": 33188,
      "old_path": "src/changes/changes.xml",
      "new_id": "08a1777dfd540a4f4b25407dd8b8a8e8c7579f27",
      "new_mode": 33188,
      "new_path": "src/changes/changes.xml"
    }
  ]
}
