)]}'
{
  "log": [
    {
      "commit": "afba680b24370b85430e5314512fb2e955dd1b88",
      "tree": "924e0b322f1ebbc2e036badb3fef8fc37cdde43f",
      "parents": [
        "cef10a62df9aec1a7129ab83a63a251126523d86"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Jun 07 19:05:33 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Mon Jun 15 13:37:40 2026 +0200"
      },
      "message": "HTTPCLIENT-2423: Propagate trace context in observation interceptors\nExpose outbound requests as Micrometer sender carriers for header injection.\n"
    },
    {
      "commit": "cef10a62df9aec1a7129ab83a63a251126523d86",
      "tree": "d9b12deb022e85476b03bbbacec4c1227b83f964",
      "parents": [
        "59ef293558d773fc358fe6a4fd608f2ddf8f09ea"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri May 29 10:36:26 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun May 31 11:02:23 2026 +0200"
      },
      "message": "Corrected handling of @Produces annotation by Jakarta REST client\n"
    },
    {
      "commit": "59ef293558d773fc358fe6a4fd608f2ddf8f09ea",
      "tree": "ac88fb325f065047f8e62d91adbc8c6ec5f67524",
      "parents": [
        "992faa51146dbd1aa22587cd1708e03f5b433e48"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Thu May 28 16:09:08 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun May 31 11:02:23 2026 +0200"
      },
      "message": "REST endpoint improved exception handling\n"
    },
    {
      "commit": "992faa51146dbd1aa22587cd1708e03f5b433e48",
      "tree": "75da5dc0b7b3cae8a4c0a78fba6721cfe3777dff",
      "parents": [
        "4b0cbd4bf94a92b703985630aa42144eed20402c"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Thu May 28 11:21:57 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun May 31 11:02:23 2026 +0200"
      },
      "message": "REST content representation improvement\n"
    },
    {
      "commit": "4b0cbd4bf94a92b703985630aa42144eed20402c",
      "tree": "dc4c7754b0d61e9aa704089cf7bfc78730d7cf4c",
      "parents": [
        "d989173f9e9c67e1710be47ac44a4617507e1c53"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed May 27 07:07:23 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat May 30 10:45:59 2026 +0100"
      },
      "message": "HTTPCLIENT-2422: Restore lazy content decompression\n\nDefer construction of the decompression stream until the response\ncontent is actually read.\n"
    },
    {
      "commit": "d989173f9e9c67e1710be47ac44a4617507e1c53",
      "tree": "acb26f8c5b18f495281a47a4090261004557b5e4",
      "parents": [
        "594fd4cb30acb673430f7c892182a46bf26f852e"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon May 25 11:10:22 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Wed May 27 10:15:49 2026 +0200"
      },
      "message": "Improved efficincy of Jakarta REST Response implementation\n"
    },
    {
      "commit": "594fd4cb30acb673430f7c892182a46bf26f852e",
      "tree": "e6b1c306fe7861306c6b90bf1391d9448e4477cc",
      "parents": [
        "b6dab493cb37306e719f0069420ea037e54d5bd0"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun May 24 14:29:28 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Tue May 26 08:24:12 2026 +0100"
      },
      "message": "HTTPCLIENT-1165: Drop server side from request collapsing example\n"
    },
    {
      "commit": "b6dab493cb37306e719f0069420ea037e54d5bd0",
      "tree": "5e600cc6a1c3a77bb1783e12844d526d19b71d1c",
      "parents": [
        "0d5d05fc7a55afb6c69dc360a0ac216bab3ad26f"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Jan 11 15:42:31 2026 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Tue May 26 08:24:12 2026 +0100"
      },
      "message": "HTTPCLIENT-1165: Add optional async cache request collapsing\n\nCoalesce concurrent cacheable async requests for the same cache key so that\nonly one backend request is executed on a cold miss. Waiting requests re-check\nthe cache after the leader completes.\nRequest collapsing is disabled by default and scoped to each caching executor.\n"
    },
    {
      "commit": "0d5d05fc7a55afb6c69dc360a0ac216bab3ad26f",
      "tree": "07a0203eeeb3870962057f2745a9e93165d59d50",
      "parents": [
        "96897cdbf2d3cc8b8cfa80e3b59d150a51e123f3"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon May 25 16:37:47 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon May 25 18:01:03 2026 +0200"
      },
      "message": "Parsing code optimization in DateUtils\n"
    },
    {
      "commit": "96897cdbf2d3cc8b8cfa80e3b59d150a51e123f3",
      "tree": "2c8af7da09c3bdea2ca59a9c5dac170055d8ac73",
      "parents": [
        "599eb09207d64126967645b40bb2e9b507c6ce25"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon May 25 15:11:01 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon May 25 18:01:00 2026 +0200"
      },
      "message": "Parsing code optimization in ETag\n"
    },
    {
      "commit": "599eb09207d64126967645b40bb2e9b507c6ce25",
      "tree": "410d8f6e2bdd3e06c3b9f35a9a3b4a90e3a2ed5a",
      "parents": [
        "6dd7b5ddae2a452ead910007ed29790f01c4e047"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat May 23 16:30:56 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun May 24 13:15:35 2026 +0200"
      },
      "message": "Migated Jakarta REST client tests to Assert4J\n"
    },
    {
      "commit": "6dd7b5ddae2a452ead910007ed29790f01c4e047",
      "tree": "4aaf1db4822bbe23e6fdac868032427cb493a43c",
      "parents": [
        "f069c136445103bb0691b205199bdfa703e6160b"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon May 18 09:18:07 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun May 24 12:20:25 2026 +0200"
      },
      "message": "REST interface scanner code improvement\n"
    },
    {
      "commit": "f069c136445103bb0691b205199bdfa703e6160b",
      "tree": "566a0804ed3599f6f89c8dcf052bbf90d459f2e3",
      "parents": [
        "12f7c149a64c88e4f19c05e1b162dbe6bed3c975"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Tue May 19 09:58:49 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun May 24 10:32:14 2026 +0100"
      },
      "message": "HTTPCLIENT-2421: Use effective retry interval for response timeout check\n"
    },
    {
      "commit": "12f7c149a64c88e4f19c05e1b162dbe6bed3c975",
      "tree": "06e37aecd870f8ef2d6bb162ccc3cadee29dc7b8",
      "parents": [
        "407776b3d9afef82a395317bbfad486057eb7946"
      ],
      "author": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Fri May 15 16:52:38 2026 -0500"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat May 23 15:12:48 2026 +0200"
      },
      "message": "Set up default protection ruleset for release branches\n"
    },
    {
      "commit": "407776b3d9afef82a395317bbfad486057eb7946",
      "tree": "217eff5ed03d00edd298fa57c620c32d2168b534",
      "parents": [
        "f275252ab220587c81b59fa0744fd50e767f386d"
      ],
      "author": {
        "name": "Jack Green",
        "email": "JackPGreen@Gmail.com",
        "time": "Thu May 21 22:35:30 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat May 23 15:09:54 2026 +0200"
      },
      "message": "Fix broken Maven central badge in `README`\n\nThe Maven central badge in `README` does not load; the [URL to the badge has changed](https://github.com/softwaremill/maven-badges#a-new-dns-address).\r\n\r\nAs such, updated."
    },
    {
      "commit": "f275252ab220587c81b59fa0744fd50e767f386d",
      "tree": "44d8533cf34724abb9cb56bf25640d9c15b7a75e",
      "parents": [
        "c21e825aec29b6cbbfe58e12b6b3aa87f948a751"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun May 03 14:13:36 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri May 15 09:30:26 2026 +0100"
      },
      "message": "Add Jakarta REST Request and Response return support\n"
    },
    {
      "commit": "c21e825aec29b6cbbfe58e12b6b3aa87f948a751",
      "tree": "aa0a062ac3df596111684e30462c75483a859daa",
      "parents": [
        "b3451829e63aa9b866e5c711b6789c00e41943e9"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Mon May 04 09:07:06 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri May 08 12:58:44 2026 +0100"
      },
      "message": "Cancel queued async requests on shutdown\n"
    },
    {
      "commit": "b3451829e63aa9b866e5c711b6789c00e41943e9",
      "tree": "a35da66d5a95ad0127bbb38cff05cd1482d70c26",
      "parents": [
        "2ee445728efa81ea3cd6003faa6a9a4cca488015"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Mon Jan 05 19:44:16 2026 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri May 08 12:58:44 2026 +0100"
      },
      "message": "Implement shared FIFO execution queue for H2 client\nIntroduce one shared per-client queue to cap concurrently executing requests and enqueue overflow.\nEnsure queued starts release the slot on any terminal path, including synchronous start failures.\n"
    },
    {
      "commit": "2ee445728efa81ea3cd6003faa6a9a4cca488015",
      "tree": "e465cf6c4539c799e8b5e1c2c70b66a7682b690f",
      "parents": [
        "022c6872688901dc5e26589f65769a629d2cca06"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Mar 28 16:07:07 2026 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Tue Apr 28 12:37:09 2026 +0100"
      },
      "message": "Add a minimal Jakarta REST client module\n\nProvide a small proxy-based Jakarta REST client implementation backed by\nthe classic HttpClient API.\n"
    },
    {
      "commit": "022c6872688901dc5e26589f65769a629d2cca06",
      "tree": "64cee7e83f7377e249f93729d4e96327d6e25002",
      "parents": [
        "1c5d8236392f0b0d45708bed6b4d746e7f7bcbb6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Apr 01 18:02:20 2026 +0000"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Thu Apr 23 09:07:11 2026 -0700"
      },
      "message": "Bump the all group with 10 updates\n\nBumps the all group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.apache.logging.log4j:log4j-slf4j-impl | `2.25.3` | `2.25.4` |\n| org.apache.logging.log4j:log4j-core | `2.25.3` | `2.25.4` |\n| [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) | `1.16.3` | `1.16.4` |\n| [io.micrometer:micrometer-observation](https://github.com/micrometer-metrics/micrometer) | `1.16.3` | `1.16.4` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.3` | `1.16.4` |\n| [io.micrometer:micrometer-tracing](https://github.com/micrometer-metrics/tracing) | `1.6.3` | `1.6.4` |\n| [io.micrometer:micrometer-tracing-bridge-otel](https://github.com/micrometer-metrics/tracing) | `1.6.3` | `1.6.4` |\n| [io.opentelemetry:opentelemetry-bom](https://github.com/open-telemetry/opentelemetry-java) | `1.59.0` | `1.60.1` |\n| [com.aayushatharva.brotli4j:brotli4j](https://github.com/hyperxpro/Brotli4j) | `1.20.0` | `1.22.0` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.5.0` | `3.6.2` |\n\n\nUpdates `org.apache.logging.log4j:log4j-slf4j-impl` from 2.25.3 to 2.25.4\n\nUpdates `org.apache.logging.log4j:log4j-core` from 2.25.3 to 2.25.4\n\nUpdates `org.apache.logging.log4j:log4j-core` from 2.25.3 to 2.25.4\n\nUpdates `io.micrometer:micrometer-core` from 1.16.3 to 1.16.4\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.3...v1.16.4)\n\nUpdates `io.micrometer:micrometer-observation` from 1.16.3 to 1.16.4\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.3...v1.16.4)\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.3 to 1.16.4\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.3...v1.16.4)\n\nUpdates `io.micrometer:micrometer-observation` from 1.16.3 to 1.16.4\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.3...v1.16.4)\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.3 to 1.16.4\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.3...v1.16.4)\n\nUpdates `io.micrometer:micrometer-tracing` from 1.6.3 to 1.6.4\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.6.3...v1.6.4)\n\nUpdates `io.micrometer:micrometer-tracing-bridge-otel` from 1.6.3 to 1.6.4\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.6.3...v1.6.4)\n\nUpdates `io.micrometer:micrometer-tracing-bridge-otel` from 1.6.3 to 1.6.4\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.6.3...v1.6.4)\n\nUpdates `io.opentelemetry:opentelemetry-bom` from 1.59.0 to 1.60.1\n- [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.59.0...v1.60.1)\n\nUpdates `com.aayushatharva.brotli4j:brotli4j` from 1.20.0 to 1.22.0\n- [Release notes](https://github.com/hyperxpro/Brotli4j/releases)\n- [Commits](https://github.com/hyperxpro/Brotli4j/compare/v1.20.0...v1.22.0)\n\nUpdates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.5.0 to 3.6.2\n- [Release notes](https://github.com/apache/maven-enforcer/releases)\n- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.5.0...enforcer-3.6.2)\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.logging.log4j:log4j-slf4j-impl\n  dependency-version: 2.25.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.logging.log4j:log4j-core\n  dependency-version: 2.25.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.logging.log4j:log4j-core\n  dependency-version: 2.25.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-core\n  dependency-version: 1.16.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-observation\n  dependency-version: 1.16.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n  dependency-version: 1.16.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-observation\n  dependency-version: 1.16.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n  dependency-version: 1.16.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing\n  dependency-version: 1.6.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing-bridge-otel\n  dependency-version: 1.6.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing-bridge-otel\n  dependency-version: 1.6.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.opentelemetry:opentelemetry-bom\n  dependency-version: 1.60.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: com.aayushatharva.brotli4j:brotli4j\n  dependency-version: 1.22.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin\n  dependency-version: 3.6.2\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: all\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "1c5d8236392f0b0d45708bed6b4d746e7f7bcbb6",
      "tree": "a115038df546265d6af35e6bc8ed3e0d3364af67",
      "parents": [
        "4b26224c33e3854454ab95fc69f850b59322a1c3"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Apr 22 17:21:19 2026 -0700"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Apr 22 17:27:56 2026 -0700"
      },
      "message": "Simplify connection timeout tests\n\nConvert to pass/fail style by dropping timing duration assertions. If a\n`ConnectTimeoutException` is thrown at all, the configured timeout was\napplied correctly. This eliminates spurious failures.\n\nAlso reduce the timeout from 500ms to 10ms and the select interval\nfrom 50ms to 10ms to make the tests run faster.\n"
    },
    {
      "commit": "4b26224c33e3854454ab95fc69f850b59322a1c3",
      "tree": "9c0a70ef75c4a2df9645059ce89b8baf94e6835e",
      "parents": [
        "2c36560fad44ad15ed3d93d44caf7bdd16840bb4"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Apr 22 17:13:30 2026 -0700"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Apr 22 17:15:21 2026 -0700"
      },
      "message": "Fix race conditions in TlsHandshakeTimeoutServer\n\n`close()` did not wait for the server thread to finish, so it could read\nstale state (`requestReceived`, `throwable`) while the thread was still\nrunning. This caused two intermittent failures:\n\n- \"Never received a request\": `close()` checked requestReceived before\n  the server thread set it after accept() returned.\n- \"Exception thrown while TlsHandshakeTimerOuter was running\": the\n  server thread got an expected IOException or BUFFER_UNDERFLOW when the\n  client timed out and disconnected, and `close()` rethrew it.\n\nFix: store the Thread reference and `join()` it in `close()` after\nclosing the sockets. Remove the `requestReceived` and `throwable` checks\nsince all server-side exceptions are expected (the client is designed to\ntime out) and client-side assertions already validate correctness.\n"
    },
    {
      "commit": "2c36560fad44ad15ed3d93d44caf7bdd16840bb4",
      "tree": "5d2d5c363dae2043d4684262a43a8980515d69ed",
      "parents": [
        "f75d2833e6d5f6127c13b5c6911bc07830bb9382"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Mon Feb 23 20:02:33 2026 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Apr 18 11:13:11 2026 +0100"
      },
      "message": "Validate Connection: Upgrade on protocol switch responses\n\nProtocolSwitchStrategy now rejects 101 Switching Protocols responses that\nadvertise Upgrade without the required Connection: Upgrade token.\n"
    },
    {
      "commit": "f75d2833e6d5f6127c13b5c6911bc07830bb9382",
      "tree": "b0e881551b880d3531493dcf073382ae11d77cb0",
      "parents": [
        "726eac2323d370435d8afca1e0540aa099927f18"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Thu Apr 16 08:47:01 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Apr 18 07:28:52 2026 +0100"
      },
      "message": "HTTPCLIENT-2418 - Fix default charset handling in SimpleBody for JSON content.Use UTF-8 instead of US-ASCII when no charset parameter is present.\n"
    },
    {
      "commit": "726eac2323d370435d8afca1e0540aa099927f18",
      "tree": "8abf8399502b3184b88d97f35e2d1a2af086da25",
      "parents": [
        "77d7d17b719e482d04b43d9d2b6f336cd2d6f665"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed Apr 15 09:17:36 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed Apr 15 09:17:36 2026 +0200"
      },
      "message": "Fix SCRAM final response handling\n"
    },
    {
      "commit": "77d7d17b719e482d04b43d9d2b6f336cd2d6f665",
      "tree": "e7457277491cc0265695e4ff2883c23ce425afe0",
      "parents": [
        "3d9285ae72b20b768d0bf69cf5f838eb48d2c002"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Apr 12 13:49:32 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Apr 12 18:21:53 2026 +0100"
      },
      "message": "Enforce max message size during permessage-deflate inflation on the server path to prevent decompression-bomb DoS\n"
    },
    {
      "commit": "3d9285ae72b20b768d0bf69cf5f838eb48d2c002",
      "tree": "0b939396814ce39915728588675a0c4814b61d80",
      "parents": [
        "51ce3ebfc2fc0f268667e822f75ac85020c64be2"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Apr 12 14:28:11 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Apr 12 14:55:20 2026 +0200"
      },
      "message": "Auth challenge parsing code improvement\n"
    },
    {
      "commit": "51ce3ebfc2fc0f268667e822f75ac85020c64be2",
      "tree": "d5ebe66c490937f0efaedc0538aa87ab7acd610a",
      "parents": [
        "0beb0f2b31bec07adc78fa8e92a906d1a739a6dc"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Apr 12 12:10:16 2026 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Apr 12 13:35:13 2026 +0100"
      },
      "message": "Enforce decoded message size limit for permessage-deflate\n"
    },
    {
      "commit": "0beb0f2b31bec07adc78fa8e92a906d1a739a6dc",
      "tree": "37e591b7c1bf8ef3782569633ede19099a0cf9ca",
      "parents": [
        "797374c878ceb8733746f745b077c60300a4baa6"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Sun Apr 12 07:54:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 07:54:52 2026 -0400"
      },
      "message": "Add missing Javadoc for ConnectionConfig (#820)\n\n* Add missing Javadoc for ConnectionConfig\n\n* Adjust text after PR review.\n\n* Fix Javadoc typo"
    },
    {
      "commit": "797374c878ceb8733746f745b077c60300a4baa6",
      "tree": "e71b7d66bfcf24e984bdbf08262344a218d527e7",
      "parents": [
        "e005c48465068e811c1533b4232df05a3239cd3a"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 28 11:12:16 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri Apr 10 09:05:25 2026 +0200"
      },
      "message": "H2 streams initiated by the standard async client can be gracefully cancelled or time out without closing the underlying connection\n"
    },
    {
      "commit": "e005c48465068e811c1533b4232df05a3239cd3a",
      "tree": "73ea0c372aa9ce6341ee38b056979c6ca7ea8947",
      "parents": [
        "c586766a7cb2007c20329010db6a5fc0b16ca3b3"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Thu Mar 12 10:21:03 2026 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri Apr 03 18:36:28 2026 +0100"
      },
      "message": "Improve RFC 9111 cache control compliance\n"
    },
    {
      "commit": "c586766a7cb2007c20329010db6a5fc0b16ca3b3",
      "tree": "2bd7cfb12c46a212ab9a1fdc0e7e3d6c4651d09e",
      "parents": [
        "558d851b8512c6163ce324f9ad765b39286d8faa"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri Apr 03 16:29:59 2026 +0200"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri Apr 03 18:12:04 2026 +0200"
      },
      "message": "Optimized header parsing code in ProtocolSwitchStrategy\n"
    },
    {
      "commit": "558d851b8512c6163ce324f9ad765b39286d8faa",
      "tree": "9043d9393e5fdfb50a133489d351c5698613d1f7",
      "parents": [
        "89669060b9688104054630fd8609528117a05428"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed Sep 10 21:09:02 2025 +0200"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Mar 28 18:35:14 2026 +0000"
      },
      "message": "HTTPCLIENT-973:implement RFC-compliant WebSocket support.\nAdd full WebSocket implementation with RFC 6455/7692 framing, close handshake, UTF‑8 validation, and RFC 8441 Extended CONNECT for HTTP/2, plus tests and examples.\n"
    },
    {
      "commit": "89669060b9688104054630fd8609528117a05428",
      "tree": "21dc63b998c7dbf8b0967449fe1df62e00db75c9",
      "parents": [
        "1aac37625715cfa1faf4ccf824f3cec95b628ba2"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon Mar 23 09:16:31 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri Mar 27 13:37:13 2026 +0100"
      },
      "message": "Bug-fix: corrects message exchange cancellation logic in InternalHttpAsyncExecRuntime\n\n* Fixes the problem with message exchanges over an existing persistent connection being non-cancellable\n* Hard-cancellation request parameter should have no bearing on H2 connections\n* Response timeout not be applied to H2 endpoints\n* Test coverage\n"
    },
    {
      "commit": "1aac37625715cfa1faf4ccf824f3cec95b628ba2",
      "tree": "1f32eb408c4d4cbda94934834e5800ee06126d27",
      "parents": [
        "63c5ebd813a489fbb4e312e0bdeec5fd4ceefcfc"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Mar 20 08:26:54 2026 -0700"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Sat Mar 21 11:46:16 2026 -0700"
      },
      "message": "Upgrade to apache-rat-plugin 0.18\n"
    },
    {
      "commit": "63c5ebd813a489fbb4e312e0bdeec5fd4ceefcfc",
      "tree": "8a17367a4895e6e9f3e6c320f2c1fcd561d33586",
      "parents": [
        "323251c69c4e56689c0e962995271403f5693bd2"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Sat Mar 21 10:31:11 2026 -0700"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Sat Mar 21 10:48:03 2026 -0700"
      },
      "message": "Require Java 17+ for Maven runtime\n\n* Decouple the Maven runtime JDK from the compile/test toolchain by\n  introducing `hc.build.toolchain.version` and overriding the inherited\n  `use-toolchains` profile to select the toolchain from that property\n  instead of `maven.compiler.source`.\n\n* Require Java 17 or newer to run Maven, but continue compiling and\n  testing against Java 8, 11, 17, and 21 toolchains.\n\n* Update CI to install JDK 17 for the Maven process and the matrix JDK\n  as the toolchain, generate `toolchains.xml`, and pass\n  `hc.build.toolchain.version` explicitly instead of disabling\n  toolchains and running everything on the host JDK.\n\nThis does not drop support for Java 8 consumers: published artifacts\nstill target Java 8 and the build can still compile and run tests on\nJava 8 through toolchains.\n"
    },
    {
      "commit": "323251c69c4e56689c0e962995271403f5693bd2",
      "tree": "d914ce0688a26ff6d36aeece88e2470756aa2dcf",
      "parents": [
        "9a2a24bdc2e7f1ae8750194ec5b2f9cd79728d38"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 12:15:10 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 15:29:39 2026 +0100"
      },
      "message": "Apply response timeout to H2 streams\n"
    },
    {
      "commit": "9a2a24bdc2e7f1ae8750194ec5b2f9cd79728d38",
      "tree": "62442005b191b1eb574b4cdcd02e99d22bcab6d6",
      "parents": [
        "4325ba13a5b470ded091e5c977f4562295cb36bd"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 10:08:01 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 15:26:22 2026 +0100"
      },
      "message": "Upgraded HttpCore to version 5.5-alpha1\n"
    },
    {
      "commit": "4325ba13a5b470ded091e5c977f4562295cb36bd",
      "tree": "80e06de9371148faa9b6eb2cd6ca7c268da62e6e",
      "parents": [
        "09ff1889885f56812443f127a8a69f2d06b79f23"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 10:06:17 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 15:26:18 2026 +0100"
      },
      "message": "Fixed project url in POM\n"
    },
    {
      "commit": "09ff1889885f56812443f127a8a69f2d06b79f23",
      "tree": "acce7857158077319916e44e79e5b2eab1dd9f1f",
      "parents": [
        "795ef1fb55b76ffe64a095a93c8352e6a732a6e2"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "arturo.bernal@fitek.com",
        "time": "Thu Mar 19 16:57:17 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Mar 21 15:25:48 2026 +0100"
      },
      "message": "HTTPCLIENT-2417 Honor TlsConfig attachment in async connect path\n\nMake PoolingAsyncClientConnectionManager.connect() use the provided TlsConfig for direct TLS connections.\n"
    },
    {
      "commit": "795ef1fb55b76ffe64a095a93c8352e6a732a6e2",
      "tree": "e7f084a9d1030fd618eec67bd3aef9231ee515ee",
      "parents": [
        "cee67d86809aa23577968f9e7e7bf922a9892512"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Mar 12 20:06:14 2026 -0700"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Mar 13 15:27:38 2026 -0700"
      },
      "message": "Update Maven wrapper\n"
    },
    {
      "commit": "cee67d86809aa23577968f9e7e7bf922a9892512",
      "tree": "73374fffa3f3ae82bed2764361d842157a064f9b",
      "parents": [
        "08f3fdcdd33846aa3919ae969cac7d7318e4d60c"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Mar 08 14:10:55 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Mar 08 14:12:07 2026 +0100"
      },
      "message": "Connection managers to unwrap DeadlineTimeoutException from ExecutionException and propagate it to the caller\n"
    },
    {
      "commit": "08f3fdcdd33846aa3919ae969cac7d7318e4d60c",
      "tree": "31a344865657289e088d8716b84266a889dfb784",
      "parents": [
        "8290f5ac52c436ea18520a7215cce67de1735773"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Thu Mar 05 11:02:08 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Thu Mar 05 11:57:28 2026 +0100"
      },
      "message": "TestConnectionManagement test setup improvements\n"
    },
    {
      "commit": "8290f5ac52c436ea18520a7215cce67de1735773",
      "tree": "19dc41fc97d51d62cb9924c736f13eff3567208f",
      "parents": [
        "a21d2d106da68fe58abdd831cd23d61b6497d757"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Thu Feb 19 18:54:49 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Thu Mar 05 11:19:45 2026 +0100"
      },
      "message": "BasicCookieStore: preserve creation time on cookie replacement\nRequired by RFC 6265 Section 5.3; affects cookie ordering (Section 5.4)\n"
    },
    {
      "commit": "a21d2d106da68fe58abdd831cd23d61b6497d757",
      "tree": "237935a512a617925df3ba1f170af30c6f1833a3",
      "parents": [
        "ede07e6ea846a0dd9d60d5505cb2d8386307e790"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Mar 01 13:23:43 2026 +0000"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Mon Mar 02 11:13:17 2026 -0800"
      },
      "message": "Bump the all group with 13 updates\n\nBumps the all group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.apache.httpcomponents.core5:httpcore5](https://github.com/apache/httpcomponents-core) | `5.4` | `5.4.1` |\n| [org.apache.httpcomponents.core5:httpcore5-h2](https://github.com/apache/httpcomponents-core) | `5.4` | `5.4.1` |\n| [org.apache.httpcomponents.core5:httpcore5-testing](https://github.com/apache/httpcomponents-core) | `5.4` | `5.4.1` |\n| [org.apache.httpcomponents.core5:httpcore5-reactive](https://github.com/apache/httpcomponents-core) | `5.4` | `5.4.1` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `5.14.1` | `5.14.3` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.14.1` | `5.14.3` |\n| [com.github.luben:zstd-jni](https://github.com/luben/zstd-jni) | `1.5.7-6` | `1.5.7-7` |\n| [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) | `1.16.2` | `1.16.3` |\n| [io.micrometer:micrometer-observation](https://github.com/micrometer-metrics/micrometer) | `1.16.2` | `1.16.3` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.2` | `1.16.3` |\n| [io.micrometer:micrometer-tracing](https://github.com/micrometer-metrics/tracing) | `1.6.2` | `1.6.3` |\n| [io.micrometer:micrometer-tracing-bridge-otel](https://github.com/micrometer-metrics/tracing) | `1.6.2` | `1.6.3` |\n| [io.opentelemetry:opentelemetry-bom](https://github.com/open-telemetry/opentelemetry-java) | `1.58.0` | `1.59.0` |\n\n\nUpdates `org.apache.httpcomponents.core5:httpcore5` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.apache.httpcomponents.core5:httpcore5-h2` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.apache.httpcomponents.core5:httpcore5-testing` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.apache.httpcomponents.core5:httpcore5-reactive` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.apache.httpcomponents.core5:httpcore5-h2` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.apache.httpcomponents.core5:httpcore5-testing` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.apache.httpcomponents.core5:httpcore5-reactive` from 5.4 to 5.4.1\n- [Changelog](https://github.com/apache/httpcomponents-core/blob/rel/v5.4.1/RELEASE_NOTES.txt)\n- [Commits](https://github.com/apache/httpcomponents-core/compare/rel/v5.4...rel/v5.4.1)\n\nUpdates `org.junit:junit-bom` from 5.14.1 to 5.14.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.3)\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.14.1 to 5.14.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.3)\n\nUpdates `com.github.luben:zstd-jni` from 1.5.7-6 to 1.5.7-7\n- [Commits](https://github.com/luben/zstd-jni/compare/v1.5.7-6...v1.5.7-7)\n\nUpdates `io.micrometer:micrometer-core` from 1.16.2 to 1.16.3\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.2...v1.16.3)\n\nUpdates `io.micrometer:micrometer-observation` from 1.16.2 to 1.16.3\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.2...v1.16.3)\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.2 to 1.16.3\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.2...v1.16.3)\n\nUpdates `io.micrometer:micrometer-observation` from 1.16.2 to 1.16.3\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.2...v1.16.3)\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.2 to 1.16.3\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.16.2...v1.16.3)\n\nUpdates `io.micrometer:micrometer-tracing` from 1.6.2 to 1.6.3\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.6.2...v1.6.3)\n\nUpdates `io.micrometer:micrometer-tracing-bridge-otel` from 1.6.2 to 1.6.3\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.6.2...v1.6.3)\n\nUpdates `io.micrometer:micrometer-tracing-bridge-otel` from 1.6.2 to 1.6.3\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.6.2...v1.6.3)\n\nUpdates `io.opentelemetry:opentelemetry-bom` from 1.58.0 to 1.59.0\n- [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.58.0...v1.59.0)\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.14.1 to 5.14.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.3)\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.httpcomponents.core5:httpcore5\n  dependency-version: 5.4.1\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.httpcomponents.core5:httpcore5-h2\n  dependency-version: 5.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.httpcomponents.core5:httpcore5-testing\n  dependency-version: 5.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.httpcomponents.core5:httpcore5-reactive\n  dependency-version: 5.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.httpcomponents.core5:httpcore5-h2\n  dependency-version: 5.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.httpcomponents.core5:httpcore5-testing\n  dependency-version: 5.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.apache.httpcomponents.core5:httpcore5-reactive\n  dependency-version: 5.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.junit:junit-bom\n  dependency-version: 5.14.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 5.14.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: com.github.luben:zstd-jni\n  dependency-version: 1.5.7-7\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-core\n  dependency-version: 1.16.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-observation\n  dependency-version: 1.16.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n  dependency-version: 1.16.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-observation\n  dependency-version: 1.16.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n  dependency-version: 1.16.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing\n  dependency-version: 1.6.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing-bridge-otel\n  dependency-version: 1.6.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing-bridge-otel\n  dependency-version: 1.6.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: io.opentelemetry:opentelemetry-bom\n  dependency-version: 1.59.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 5.14.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "ede07e6ea846a0dd9d60d5505cb2d8386307e790",
      "tree": "6453f77dcb40bb6c104af81d96b23714a65cc749",
      "parents": [
        "70b9e94076aabe8deff8ae9fa7d6d22bcd4e8089"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri Feb 20 15:41:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 16:41:54 2026 +0100"
      },
      "message": "Treat Max-Age\u003c\u003d0 as immediate expiry (#805)\n\nAlign strict Max-Age parsing with RFC 6265 user-agent processing.\nNon-positive delta-seconds now expire cookies immediately instead of being rejected as malformed."
    },
    {
      "commit": "70b9e94076aabe8deff8ae9fa7d6d22bcd4e8089",
      "tree": "1fd274b88b9952743b1276162c053a35147fd66a",
      "parents": [
        "0a18950331ef328c4a0bc61285601a2415aba249"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed Feb 18 08:04:18 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 18 09:04:18 2026 +0100"
      },
      "message": "RFC 9111 allows max-stale without a value (accept any staleness). Treat missing value as unbounded and add a regression test. (#804)\n\n"
    },
    {
      "commit": "0a18950331ef328c4a0bc61285601a2415aba249",
      "tree": "469af1183a8f410b6d68232042a408accf3f15c7",
      "parents": [
        "9189d11abf60ecfae84f1d324629b4f47ead4e62"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Feb 14 18:20:16 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 14 19:20:16 2026 +0100"
      },
      "message": "HTTPCLIENT-2414 - Fix Basic auth cache scoping across path prefixes (#802)\n\nPreserve AuthExchange pathPrefix on reset to avoid preemptive Authorization reuse outside the protection space."
    },
    {
      "commit": "9189d11abf60ecfae84f1d324629b4f47ead4e62",
      "tree": "c8a6f74cbca3094b367f8acd0b03a0f9bd694bcd",
      "parents": [
        "d8d09ed89605cbd41d759fab2626bba561602ed0"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed Feb 11 06:07:09 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 07:07:09 2026 +0100"
      },
      "message": "HTTPCLIENT-2415: Normalize CookieOrigin path for cookie matching (#803)\n\nStrip query / fragment from CookieOrigin path per RFC 6265.\nAdd regression tests for request-targets containing \u0027?\u0027, \u0027#\u0027."
    },
    {
      "commit": "d8d09ed89605cbd41d759fab2626bba561602ed0",
      "tree": "e1b586fc676d4a786a7b8f3e4426825be1fd6164",
      "parents": [
        "ec0474cbda07043e5c10992b8badb67653ca047d"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Feb 08 18:19:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 08 19:19:22 2026 +0100"
      },
      "message": "Add pool lease metrics and helpers for connection managers (#799)\n\n"
    },
    {
      "commit": "ec0474cbda07043e5c10992b8badb67653ca047d",
      "tree": "252a20cf494056a7811b96d5e6ae344f0518d784",
      "parents": [
        "784177e913c81e98dea840a664185f28b3b0b869"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sun Feb 08 18:13:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 08 19:13:39 2026 +0100"
      },
      "message": "Fix SSE reconnect handling and scheduler ownership (#800)\n\n"
    },
    {
      "commit": "784177e913c81e98dea840a664185f28b3b0b869",
      "tree": "8eb78fee072cb47452d86dc324468d62c4fb0fb0",
      "parents": [
        "e20603d982430cdb5216f185498c663e9c7933b2"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Feb 07 18:00:09 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 07 19:00:09 2026 +0100"
      },
      "message": "Replace Hamcrest assertions with JUnit assertions (#801)\n\n"
    },
    {
      "commit": "e20603d982430cdb5216f185498c663e9c7933b2",
      "tree": "274dd206102992db1d711bb093a8a1611a3930a9",
      "parents": [
        "ab404c46af3bb68349ad8eca364f3e4e57727b6b"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 28 21:31:56 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Thu Jan 29 09:05:54 2026 -0800"
      },
      "message": "Add ConnectionReuseDemo\n"
    },
    {
      "commit": "ab404c46af3bb68349ad8eca364f3e4e57727b6b",
      "tree": "cdc33bd178cc6345006319f3e1656cb0d0341b7e",
      "parents": [
        "6af0624d62a1787f74e49137905cecff04d89bcc"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Jan 23 15:16:01 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Thu Jan 29 09:05:19 2026 -0800"
      },
      "message": "[HTTPCLIENT-2381] Respect system properties by default\n\nThe practical effect of this change is that default JVM configuration\nfor key stores (for mutual TLS) and proxy selection will be respected by\ndefault. This change has two goals.\n\nFirst, applications and libraries built on the client will work with\nproxies much more reliably, since their authors no longer need to opt in\nto a non-default setting in order for things like proxies to be\nconfigurable in the usual manner (i.e. without code changes).\n\nSecond, this change, along with the change in 5.6 to make `BUILTIN` the\ndefault `HostnameVerificationPolicy`, makes the client\u0027s configuration\nphilosophy fully consistent across all supported features. To wit:\n\n1. HttpComponents _itself_ is always configured programmatically and\n   does not directly read system properties to obtain config values.\n2. For a given feature, the default behavior is to delegate to the JDK\n   implementation. This implementation may support out-of-band\n   configuration via system properties, static methods, the\n   `java.security` file, system-wide OS configuration, etc.\n3. This delegation behavior can be overridden by a programmatic config\n   option, either to directly customize the JDK-supplied implementation\n   or to supply an alternate implementation.\n\nThis table shows what this philosophy looks like concretely across\nvarious features:\n\n| Feature               | Default JDK behavior                           | Example JDK config property | Override strategy                                                               |\n| --------------------- | ---------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------- |\n| Trust store           | Load from OS                                   | `javax.net.ssl.trustStore`  | Set a `TrustManager[]`                                                          |\n| Key store             | Load nothing                                   | `javax.net.ssl.keyStore`    | Set a `KeyManager[]`                                                            |\n| Hostname verification | Run `HostnameChecker` from `sun.security.util` | None                        | Set a `HostnameVerifier` and `HostnameVerificationPolicy`                       |\n| Proxy config          | Use system properties or load from OS          | `java.net.useSystemProxies` | Set a `ProxySelector` or `HttpRoutePlanner`                                     |\n| Client cipher suites  | Send all supported cipher suites               | `java.security.properties`  | Set an `SSLContext`                                                             |\n| IP family selection   | Prefer IPv6                                    | `java.net.preferIPv4Stack`  | Set a `DetachedSocketFactory` or `DnsResolver`, call `setUnixDomainSocket`, etc |\n| DNS resolution        | Use built-in resolver                          | `networkaddress.cache.ttl`  | Set a `DnsResolver`                                                             |\n\nSee also the previous discussion at:\n\nhttps://github.com/apache/httpcomponents-client/pull/773\n"
    },
    {
      "commit": "6af0624d62a1787f74e49137905cecff04d89bcc",
      "tree": "e60de9e8f78fbe455178cdcf04de87557fc4b96a",
      "parents": [
        "b78c2ad55dcff4228911cef3184cca8a76ef5d4b"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Mon Jan 26 09:00:49 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 26 10:00:49 2026 +0100"
      },
      "message": "Add CompletableFuture-based executeAsync overloads to fluent Async for simpler async composition. (#782)\n\nProvide an optional bounded default executor with configurable thread and queue limits.\nKeep existing Future-based API and default execution behavior unchanged."
    },
    {
      "commit": "b78c2ad55dcff4228911cef3184cca8a76ef5d4b",
      "tree": "4e123d2e2103252edbdbefc4ac2fb4227cb36df3",
      "parents": [
        "f457c8ba73fe7ea65a078f67ccabbc98a4d6bd61"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 21 16:43:04 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Wed Jan 21 17:06:03 2026 -0800"
      },
      "message": "Improve and simplify TLS handshake timeout tests\n\n- Convert to pass/fail style (drop timing assertions)\n- Reenable on all Java versions\n- Parameterize test cases\n- Add HTTP/2 and ALPN coverage\n- Check for uncaught IOReactor exceptions\n- Remove `slow` tag\n"
    },
    {
      "commit": "f457c8ba73fe7ea65a078f67ccabbc98a4d6bd61",
      "tree": "7b3a06178be57c32cb7e650cc8a7fcf060d34dac",
      "parents": [
        "c20b31235a705d0808eb69ed2424aa6926d0b411"
      ],
      "author": {
        "name": "yhzdys",
        "email": "yhzdys@foxmail",
        "time": "Sat Jan 17 20:09:23 2026 +0800"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon Jan 19 11:30:08 2026 +0100"
      },
      "message": "Add custom ExchangeId generator support\n"
    },
    {
      "commit": "c20b31235a705d0808eb69ed2424aa6926d0b411",
      "tree": "f60c1ec21490918942ed44e8f236e7543c78b101",
      "parents": [
        "8a42b19823a290ef58c07369b5ab3c0403b704eb"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Jan 17 15:09:24 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon Jan 19 11:29:12 2026 +0100"
      },
      "message": "Bug fix: corrected sleep time calculation in IdleConnectionEvictor; use 1 minute sleep time by default\n"
    },
    {
      "commit": "8a42b19823a290ef58c07369b5ab3c0403b704eb",
      "tree": "8cf1972ab7855aa48cc3152b57b9c939dea21ea1",
      "parents": [
        "a158c2e94b0eefe8e946a19b127e3d84b4575d4d"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Jan 18 11:02:09 2026 +0100"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Sun Jan 18 13:15:03 2026 -0800"
      },
      "message": "Discontinue the use of https.protocols, https.cipherSuites system properties\n"
    },
    {
      "commit": "a158c2e94b0eefe8e946a19b127e3d84b4575d4d",
      "tree": "a3599f13b7cd204ddd3d9a5ed41f6da1d5576b12",
      "parents": [
        "41412119dafc29dcbad31bbbd5ab8facf4aae6aa"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Jan 18 21:04:54 2026 +0000"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Sun Jan 18 13:11:40 2026 -0800"
      },
      "message": "Bump the all group across 1 directory with 11 updates\n\nBumps the all group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `5.14.1` | `5.14.2` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.14.1` | `5.14.2` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.20.0` | `2.21.0` |\n| [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) | `1.15.5` | `1.16.2` |\n| [io.micrometer:micrometer-observation](https://github.com/micrometer-metrics/micrometer) | `1.15.5` | `1.16.2` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.15.5` | `1.16.2` |\n| [io.micrometer:micrometer-tracing](https://github.com/micrometer-metrics/tracing) | `1.5.5` | `1.6.2` |\n| [io.micrometer:micrometer-tracing-bridge-otel](https://github.com/micrometer-metrics/tracing) | `1.5.5` | `1.6.2` |\n| [com.github.siom79.japicmp:japicmp-maven-plugin](https://github.com/siom79/japicmp) | `0.21.2` | `0.25.4` |\n\n\n\nUpdates `org.junit:junit-bom` from 5.14.1 to 5.14.2\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.2)\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.14.1 to 5.14.2\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.2)\n\nUpdates `org.testcontainers:testcontainers` from 1.21.3 to 1.21.4\n- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)\n- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.21.3...1.21.4)\n\nUpdates `org.testcontainers:junit-jupiter` from 1.21.3 to 1.21.4\n- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)\n- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.21.3...1.21.4)\n\nUpdates `commons-io:commons-io` from 2.20.0 to 2.21.0\n- [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt)\n- [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.20.0...rel/commons-io-2.21.0)\n\nUpdates `io.micrometer:micrometer-core` from 1.15.5 to 1.16.2\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.5...v1.16.2)\n\nUpdates `io.micrometer:micrometer-observation` from 1.15.5 to 1.16.2\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.5...v1.16.2)\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.15.5 to 1.16.2\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.5...v1.16.2)\n\nUpdates `io.micrometer:micrometer-observation` from 1.15.5 to 1.16.2\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.5...v1.16.2)\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.15.5 to 1.16.2\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.5...v1.16.2)\n\nUpdates `io.micrometer:micrometer-tracing` from 1.5.5 to 1.6.2\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.5.5...v1.6.2)\n\nUpdates `io.micrometer:micrometer-tracing-bridge-otel` from 1.5.5 to 1.6.2\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.5.5...v1.6.2)\n\nUpdates `io.micrometer:micrometer-tracing-bridge-otel` from 1.5.5 to 1.6.2\n- [Release notes](https://github.com/micrometer-metrics/tracing/releases)\n- [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.5.5...v1.6.2)\n\nUpdates `com.github.siom79.japicmp:japicmp-maven-plugin` from 0.21.2 to 0.25.4\n- [Release notes](https://github.com/siom79/japicmp/releases)\n- [Changelog](https://github.com/siom79/japicmp/blob/master/release.py)\n- [Commits](https://github.com/siom79/japicmp/compare/japicmp-base-0.21.2...japicmp-base-0.25.4)\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.14.1 to 5.14.2\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: org.junit:junit-bom\n  dependency-version: 5.14.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 5.14.2\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.testcontainers:testcontainers\n  dependency-version: 1.21.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: org.testcontainers:junit-jupiter\n  dependency-version: 1.21.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n- dependency-name: commons-io:commons-io\n  dependency-version: 2.21.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-core\n  dependency-version: 1.16.2\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-observation\n  dependency-version: 1.16.2\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n  dependency-version: 1.16.2\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-observation\n  dependency-version: 1.16.2\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n  dependency-version: 1.16.2\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing\n  dependency-version: 1.6.2\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing-bridge-otel\n  dependency-version: 1.6.2\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: io.micrometer:micrometer-tracing-bridge-otel\n  dependency-version: 1.6.2\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: com.github.siom79.japicmp:japicmp-maven-plugin\n  dependency-version: 0.25.4\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 5.14.2\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: all\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "41412119dafc29dcbad31bbbd5ab8facf4aae6aa",
      "tree": "ca792bf78dbb0b3740499cbeafc0c1cbd19e7523",
      "parents": [
        "6b7f5e3842b586cfdf9ff52f9063c637de8d8411"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Sun Dec 21 18:50:45 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Sun Jan 18 12:18:08 2026 -0800"
      },
      "message": "Prepare to parallelize tests\n\nThis change sets up `httpclient5` and `httpclient5-testing` for\nparallelization. When they pick up the next release of httpcore5, they\nwill pull in its `junit-platform.properties`, as well as the\n`LoggingInitializationListener` that initializes Slf4j before any tests\nrun.\n"
    },
    {
      "commit": "6b7f5e3842b586cfdf9ff52f9063c637de8d8411",
      "tree": "883b229110e5c6e4b2bb7228b5683fea1df22a90",
      "parents": [
        "6e41ddaf9461f2e739f6b9bcb352cb549a761130"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Sat Jan 17 11:59:12 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Sun Jan 18 12:14:46 2026 -0800"
      },
      "message": "Batch Dependabot updates on a monthly basis\n"
    },
    {
      "commit": "6e41ddaf9461f2e739f6b9bcb352cb549a761130",
      "tree": "40219b532ca56777a7143bfba7fa6a8c14b819dc",
      "parents": [
        "5815326d73f3444d30ef2fe9612b08592e445de6"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 17:24:45 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Sun Jan 18 12:10:16 2026 -0800"
      },
      "message": "DefaultManagedHttpClientConnection: Restore original socket timeout\n\nThis change fixes a bug in the synchronous client where socket timeouts\nwere not being set correctly on reused connections, and the client was\ninstead setting it to either the TLS handshake timeout or the\n`responseTimeout` from the `RequestConfig` of the previous request.\n\nThe fix works by changing `DefaultManagedHttpClientConnection` to store\nthe `socketTimeout` set on the socket at the time `bind` is called, and\nalways restore that value when the `activate` method is called. Note\nthat this requires the caller to call `setSoTimeout` on the socket\n_before_ binding the connection to it, hence the adjustments to some of\nthe code in `DefaultHttpClientConnectionOperator`.\n"
    },
    {
      "commit": "5815326d73f3444d30ef2fe9612b08592e445de6",
      "tree": "c0e7b15e77022f7cbb20139b55aad209cd16388c",
      "parents": [
        "775d80ee0861d02fb747c6c19a5f4aaa7e935c4a"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Jan 17 15:38:20 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Jan 18 10:30:24 2026 +0100"
      },
      "message": "Discontinue the direct use of http(s).proxyUser and http(s).proxyPassword system properties. These properties may still be used by Authenticator#requestPasswordAuthentication internally\n"
    },
    {
      "commit": "775d80ee0861d02fb747c6c19a5f4aaa7e935c4a",
      "tree": "fb5bd579e413b1b6eb48f61b2a89a87a807da0e6",
      "parents": [
        "31598133f22067cc77de551761259956abd8f5af"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jan 16 13:23:33 2026 +0000"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Fri Jan 16 11:22:38 2026 -0800"
      },
      "message": "Bump io.opentelemetry:opentelemetry-bom from 1.55.0 to 1.58.0\n\nBumps [io.opentelemetry:opentelemetry-bom](https://github.com/open-telemetry/opentelemetry-java) from 1.55.0 to 1.58.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.55.0...v1.58.0)\n\n---\nupdated-dependencies:\n- dependency-name: io.opentelemetry:opentelemetry-bom\n  dependency-version: 1.58.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "31598133f22067cc77de551761259956abd8f5af",
      "tree": "daf1e7aca40772083e4e6672e103805ed8d54296",
      "parents": [
        "aab60036b62439404ea1887de604cf5504b5670e"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 15:31:30 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Thu Jan 15 12:40:17 2026 -0800"
      },
      "message": "Wire: Make hex logging more concise\n"
    },
    {
      "commit": "aab60036b62439404ea1887de604cf5504b5670e",
      "tree": "6e33509167bce5b35d72f1bf307a6c7a224b0d13",
      "parents": [
        "4e5ad6e29683a2648ba0a84dcb21519edd265d06"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 15:51:44 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Thu Jan 15 12:31:04 2026 -0800"
      },
      "message": "LoggingIOSession: Fix off-by-one error\n"
    },
    {
      "commit": "4e5ad6e29683a2648ba0a84dcb21519edd265d06",
      "tree": "eb263a0fae2ddf8fd69f1829379bafaf73cd8830",
      "parents": [
        "f025640f7d2521741824ee5e2652ce455039c000"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Jan 15 12:25:40 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Jan 15 12:25:40 2026 -0800"
      },
      "message": "TestLinearBackoffManager: Reduce likelihood of race condition causing test failure\n"
    },
    {
      "commit": "f025640f7d2521741824ee5e2652ce455039c000",
      "tree": "2fd2c6ddd8d7836c1332117d24c94567e6d5f04f",
      "parents": [
        "f7c126eb96a24a5bd283ff8eeea66848849c6508"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 16:20:57 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 16:55:00 2026 -0800"
      },
      "message": "Improve socket timeout tests\n\nThis change simplifies the socket timeout tests in order to improve\ntheir reliability. Instead of asserting that the actual socket timeout\nwas in a certain range, we take more of a pass-fail approach: if a\n`SocketTimeoutException` is thrown at all, then the configured timeout\nvalues must have been applied correctly within the client. This should\ngreatly reduce or eliminate spurious test failures.\n"
    },
    {
      "commit": "f7c126eb96a24a5bd283ff8eeea66848849c6508",
      "tree": "fd355e5fb8ddc3deebce488913154aac01a980a9",
      "parents": [
        "3170532325909437b315ccd6639cb92a99b67a79"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Dec 19 23:56:28 2025 +0000"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Wed Jan 14 15:57:03 2026 -0800"
      },
      "message": "Bump org.apache.logging.log4j:log4j-core from 2.25.2 to 2.25.3\n\nBumps org.apache.logging.log4j:log4j-core from 2.25.2 to 2.25.3.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.logging.log4j:log4j-core\n  dependency-version: 2.25.3\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "3170532325909437b315ccd6639cb92a99b67a79",
      "tree": "d5f77955d03bd91b492ea2d7550251c2c7d925bd",
      "parents": [
        "17a75066306226217c826676ad925dc41f24c3ee"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Nov 14 13:01:30 2025 +0000"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Wed Jan 14 15:54:53 2026 -0800"
      },
      "message": "Bump junit.version from 5.13.3 to 5.14.1\n\nBumps `junit.version` from 5.13.3 to 5.14.1.\n\nUpdates `org.junit:junit-bom` from 5.13.3 to 5.14.1\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.14.1)\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.13.3 to 5.14.1\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.14.1)\n\n---\nupdated-dependencies:\n- dependency-name: org.junit:junit-bom\n  dependency-version: 5.14.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 5.14.1\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "17a75066306226217c826676ad925dc41f24c3ee",
      "tree": "76da7a2eadc1913296700b1c48044bbf61647d5f",
      "parents": [
        "f0e7a7eb902fb080c21a3ac857c6dcd8dd486353"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 15:47:10 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 15:49:36 2026 -0800"
      },
      "message": "Add LoggingIOSessionTest\n"
    },
    {
      "commit": "f0e7a7eb902fb080c21a3ac857c6dcd8dd486353",
      "tree": "007d5a98416d1fb861017d127d655d4763795849",
      "parents": [
        "64608806506031bb0139f4cb8c1dae91d51976fa"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 15:27:28 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Jan 14 15:31:32 2026 -0800"
      },
      "message": "Add WireTest\n"
    },
    {
      "commit": "64608806506031bb0139f4cb8c1dae91d51976fa",
      "tree": "ded7ee060670cb7a0a77fda50fb15258c39e9d5d",
      "parents": [
        "af1d3e0f4f50acc0cb1dfa4c13346af8c197cecc"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Tue Jan 13 11:37:24 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Tue Jan 13 11:39:00 2026 +0100"
      },
      "message": "Upgraded japicmp to version 0.25.4; use published artifact for site report\n"
    },
    {
      "commit": "af1d3e0f4f50acc0cb1dfa4c13346af8c197cecc",
      "tree": "f18bf8cca0cbb03bcac61afc1122384cbc2b237a",
      "parents": [
        "d51c80e786788d3b2d7aea1a678990af6b3e6f30"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Jan 09 10:17:27 2026 -0800"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Mon Jan 12 09:05:40 2026 -0800"
      },
      "message": "Upgrade Apache RAT\n\nDuring local development, I\u0027m regularly annoyed by spurious RAT\nfailures. While RAT does have some limitations -- for example, because\nit never shells out to `git`, it can\u0027t ignore untracked files -- newer\nversions do have improved support for `.gitignore` files, including the\nglobal gitignore file when present at `~/.config/git/ignore` (the\ndefault location). Additionally, the default exclusions have been\nimproved, so we no longer need quite as much manual configuration.\n\nSpecific changes:\n\n1. Bumped `apache-rat-plugin` directly to 0.17. (In the version of the\n   Apache parent POM we are using, there is no property we can override\n   to do this.)\n2. Removed exclusions that are obsolete or covered by our defaults.\n3. Changed `apache-rat:check` to only run in `:httpclient5-parent`,\n   instead of separately validating each subproject.\n4. Changed `\u003cexclude\u003e` to `\u003cinputExclude\u003e` as the former is now\n   deprecated.\n"
    },
    {
      "commit": "d51c80e786788d3b2d7aea1a678990af6b3e6f30",
      "tree": "1d0bc988fb562956201561db1a4a0003b3cdde88",
      "parents": [
        "68435f2b8e22a2465717cc39d0c40ecad8968d71"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Jan 10 15:22:21 2026 +0100"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@pobox.com",
        "time": "Mon Jan 12 08:48:32 2026 -0800"
      },
      "message": "Discontinue the use of http.agent, http.keepAlive and http.auth.ntlm.domain system properties\n"
    },
    {
      "commit": "68435f2b8e22a2465717cc39d0c40ecad8968d71",
      "tree": "309a6561b019383c6764ced50545f6e5b8267196",
      "parents": [
        "1c96bdee3a0e5204156ad3d921c16b01b2ac90dc"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Jan 10 18:36:29 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 10 19:36:29 2026 +0100"
      },
      "message": "HTTPCLIENT-2397 - TLS-Required mode: add setTlsOnly(boolean) to classic and async builders to reject cleartext routes. (#777)\n\nFail fast with UnsupportedSchemeException when the computed route is not secure."
    },
    {
      "commit": "1c96bdee3a0e5204156ad3d921c16b01b2ac90dc",
      "tree": "485f0144cbd61e4fd807d8870fcbed140f33ab08",
      "parents": [
        "d07ff4d2fbc094582b342bcc7edb9d69f18fb30f"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Jan 03 11:24:58 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Jan 03 14:35:27 2026 +0100"
      },
      "message": "Updated composition of the project web content\n"
    },
    {
      "commit": "d07ff4d2fbc094582b342bcc7edb9d69f18fb30f",
      "tree": "9da5b3f24a142a027f8e20477912c79d127589e5",
      "parents": [
        "e0aa5ba3a619e5541044c55e0f60728e8e8c00d2"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri Jan 02 18:11:31 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 02 19:11:31 2026 +0100"
      },
      "message": "HTTPCLIENT-2411: Use standard HTTP-date format for synthesized Date header (#775)\n\nAdd regression test for cache conformance Date formatting"
    },
    {
      "commit": "e0aa5ba3a619e5541044c55e0f60728e8e8c00d2",
      "tree": "0df705729038ad7994bc59863b3b76229bec5f3d",
      "parents": [
        "c37e6e590f0241dd2139a08234c909f3ebeddc1b"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri Jan 02 16:11:58 2026 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Fri Jan 02 16:15:45 2026 +0100"
      },
      "message": "Removed jxr and surefire reports and cleaned up japicmp and javadoc config\n"
    },
    {
      "commit": "c37e6e590f0241dd2139a08234c909f3ebeddc1b",
      "tree": "94ededabd12880e28934bba8960dd83619d7d006",
      "parents": [
        "ee6ebee1896f3ef00460182faccc6e96b1243b35"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Mon Dec 29 20:22:12 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Mon Dec 29 20:57:27 2025 -0500"
      },
      "message": "TestRedirects: Shut down client when done\n\nThis saves about five seconds per test case, which works out to 20\nseconds across the entire test suite.\n"
    },
    {
      "commit": "ee6ebee1896f3ef00460182faccc6e96b1243b35",
      "tree": "8d83eadf8f376bb99398ce6dcdd58894abf7bff3",
      "parents": [
        "e30b8670f45ba4ad516f49474aa0a0b55ade5eac"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Dec 27 18:12:51 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 27 19:12:51 2025 +0100"
      },
      "message": "HTTPCLIENT-2398 -  Cap async execution queue to break recursive re-entry (#728)\n\n* HTTPCLIENT-2398 -  cap async execution queue to break recursive re-entry. Add configurable maxQueuedRequests (default unlimited). Release slot on fail/cancel/close to avoid leaks\n\n* Replace dynamic proxy used for queue-slot release with explicit handler wrapper."
    },
    {
      "commit": "e30b8670f45ba4ad516f49474aa0a0b55ade5eac",
      "tree": "2039865d786655a469d5523726b790db3ff5c2a8",
      "parents": [
        "43d35fc1db9f6531f0e33ec81a29899c61667c2c"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Dec 26 22:32:01 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Dec 26 22:32:10 2025 -0500"
      },
      "message": "TestValidateAfterInactivity: Use closeQuietly\n"
    },
    {
      "commit": "43d35fc1db9f6531f0e33ec81a29899c61667c2c",
      "tree": "f3a18b85d064d8d2b43d01cb3b1a70574be77dfe",
      "parents": [
        "bbc3ac34a30457dc42bb28281f578c991f3ebd45"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Dec 26 17:16:37 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Fri Dec 26 17:49:10 2025 -0500"
      },
      "message": "Bind test servers to loopback address\n\nBinding to 0.0.0.0 is not guaranteed to result in a socket that is\nreachable via the loopback address, even when requesting an ephemeral\nport assignment by binding to port 0. It is possible for another process\non the system to bind to the loopback address at that same port, and\nthen client requests will go to that process instead of the test server,\nresulting in occasional cryptic test failures.\n\nBy instead binding to the loopback address specifically, rather than the\nwildcard address, we can prevent binding to a port that is already in\nuse. This significantly improves the reliability of the test suite.\n"
    },
    {
      "commit": "bbc3ac34a30457dc42bb28281f578c991f3ebd45",
      "tree": "e7d9bb87e2994088ea25d52ec35caf0ad2446e42",
      "parents": [
        "80622f5fb41c4aa32d466460791674a78c09f8e5"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Thu Dec 25 19:11:38 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 25 20:11:38 2025 +0100"
      },
      "message": "Fix NPE in connection evictor setup (#774)\n\nBuilders computed evictor sleep time from maxIdleTime even when only evictExpiredConnections() was enabled, causing an NPE."
    },
    {
      "commit": "80622f5fb41c4aa32d466460791674a78c09f8e5",
      "tree": "de433036b623e826b992d52b5e07791c9ce1dcc8",
      "parents": [
        "6eff659a42d576f0b572daf63bccd0073e3374d5"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Dec 25 13:04:56 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Dec 25 13:04:56 2025 -0500"
      },
      "message": "Update Maven wrapper\n"
    },
    {
      "commit": "6eff659a42d576f0b572daf63bccd0073e3374d5",
      "tree": "c69a8a4998bd6f76ae5399254acfda7829b38168",
      "parents": [
        "789769890b0551b1453bdebe8703a58d1d676c7e"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Sun Dec 21 18:44:12 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Wed Dec 24 15:09:54 2025 -0500"
      },
      "message": "UnixDomainProxyServer: Use random path\n"
    },
    {
      "commit": "789769890b0551b1453bdebe8703a58d1d676c7e",
      "tree": "b4bac45fd4e8d9eadd65ee36b48a4e0f5ba432e8",
      "parents": [
        "d07c8e26cbe69cc94e1b98ba8b5fdfb284244b6a"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Tue Dec 23 22:17:59 2025 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Tue Dec 23 22:17:59 2025 +0100"
      },
      "message": "Add SSE perf client , minimal test server and H2 examples\n"
    },
    {
      "commit": "d07c8e26cbe69cc94e1b98ba8b5fdfb284244b6a",
      "tree": "3af3ceafc34be83f7659f55572919ca1c5e1ca89",
      "parents": [
        "8a2ae8e6a53cbccdea88dd6b65fab37202e94d68"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Dec 20 14:54:03 2025 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Dec 20 14:54:03 2025 +0100"
      },
      "message": "Upgraded HttpClient API level to 5.6\n"
    },
    {
      "commit": "8a2ae8e6a53cbccdea88dd6b65fab37202e94d68",
      "tree": "b59a79e66b51719c6e6d646f9bdbe09d065d0ce8",
      "parents": [
        "3e0e5c1a0eb0960190dfd46495a9e71fda404113"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Dec 20 13:28:09 2025 +0100"
      },
      "committer": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Dec 20 13:28:09 2025 +0100"
      },
      "message": "Configure maven reports\n"
    },
    {
      "commit": "3e0e5c1a0eb0960190dfd46495a9e71fda404113",
      "tree": "87e30459d98f295c3842653e9a1d26156b71a662",
      "parents": [
        "297624e83b4c3b5e4e0106a6810e4b5de392ce5c"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Sat Dec 20 12:58:30 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 20 12:58:30 2025 +0100"
      },
      "message": "Avoid use deprecated code (#768)\n\n"
    },
    {
      "commit": "297624e83b4c3b5e4e0106a6810e4b5de392ce5c",
      "tree": "a2c7a218a049f9d2ed4fe45e4587bb35e4612ccf",
      "parents": [
        "7746feb16ef49a58dac163f739b38611e8c76abd"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Dec 18 21:15:42 2025 -0500"
      },
      "committer": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Dec 18 21:15:42 2025 -0500"
      },
      "message": "Bind test servers to loopback address\n\nBinding to 0.0.0.0 is not guaranteed to result in a socket that is\nreachable via the loopback address, even when requesting an ephemeral\nport assignment by binding to port 0. It is possible for another process\non the system to bind to the loopback address at that same port, and\nthen client requests will go to that process instead of the test server,\nresulting in occasional cryptic test failures.\n\nBy instead binding to the loopback address specifically, rather than the\nwildcard address, we can prevent binding to a port that is already in\nuse. This significantly improves the reliability of the test suite.\n"
    },
    {
      "commit": "7746feb16ef49a58dac163f739b38611e8c76abd",
      "tree": "e28a04d102b5105e33d35a510ff9206670c3bda0",
      "parents": [
        "c63ea8ea3be1bc8f8b1ea86f5ec3c89dc64bcfea"
      ],
      "author": {
        "name": "Florian Tavares",
        "email": "Florian.Tavares@boursorama.fr",
        "time": "Tue Dec 16 22:29:04 2025 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Thu Dec 18 10:19:09 2025 +0100"
      },
      "message": "Add a method in `PoolingHttpClientConnectionManagerBuilder`/`PoolingAsyncClientConnectionManagerBuilder` to configure a listener for connection pool events (onLease/onRelease)\n\nThis can be use to implement custom instrumentation (time blocked in http pool for example)\n"
    },
    {
      "commit": "c63ea8ea3be1bc8f8b1ea86f5ec3c89dc64bcfea",
      "tree": "3151e0d7c58dd2be46b660f4e88d2db239421c8c",
      "parents": [
        "378982f64db09185909a3d010b9bd9b07b994d1b"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Mon Dec 15 10:23:19 2025 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Wed Dec 17 10:08:53 2025 +0100"
      },
      "message": "Limit the length of content codec list that can be processed automatically\n"
    },
    {
      "commit": "378982f64db09185909a3d010b9bd9b07b994d1b",
      "tree": "7365905742788456e37fda262075cdaada98f359",
      "parents": [
        "a14264daca5dab878800ba8d42fea50c670a98ba"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Dec 14 16:08:36 2025 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Dec 14 16:08:36 2025 +0100"
      },
      "message": "Upgraded HttpCore to version 5.4\n"
    },
    {
      "commit": "a14264daca5dab878800ba8d42fea50c670a98ba",
      "tree": "401dcf38145d649e0002ed8f811aeb877706aa76",
      "parents": [
        "297ec89d951522d0d544797ba1436b86b7069c76"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Fri Dec 12 09:07:10 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 12 09:07:10 2025 +0100"
      },
      "message": "Add OFFLOCK pool concurrency policy backed by RouteSegmentedConnPool (#765)\n\nWire PoolingHttpClientConnectionManager to use RouteSegmentedConnPool when OFFLOCK is selected."
    },
    {
      "commit": "297ec89d951522d0d544797ba1436b86b7069c76",
      "tree": "af5f810b27882c332291e55220f4347c891c697b",
      "parents": [
        "dfb0211d3017cf28a7a90314e324635259101afc"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Thu Dec 11 15:48:34 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 11 15:48:34 2025 +0100"
      },
      "message": "Document OffLockDisposalCallback behaviour (#766)\n\nAdd class-level Javadoc explaining deferred graceful disposal semantics."
    },
    {
      "commit": "dfb0211d3017cf28a7a90314e324635259101afc",
      "tree": "ef3f94c7299de1d00b17dfcdf58faca1ade6bbbb",
      "parents": [
        "2682625fe0daf8a22ee897680b9f77a7ffe340f4"
      ],
      "author": {
        "name": "Arturo Bernal",
        "email": "abernal@apache.org",
        "time": "Wed Dec 10 20:15:23 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 10 20:15:23 2025 +0100"
      },
      "message": "Apache HttpClient: expose observation and SSE packages in Javadoc groups (#764)\n\nFix Javadoc warnings in httpclient5-sse package"
    },
    {
      "commit": "2682625fe0daf8a22ee897680b9f77a7ffe340f4",
      "tree": "0fc1d69391df601a1de724cb1e8f90fbe247c15d",
      "parents": [
        "c82268d7f8904c0fb6879a60247b5c30feb7ea67"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sun Dec 07 17:59:24 2025 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Wed Dec 10 11:19:16 2025 +0100"
      },
      "message": "Fixed Micrometer and OpenTelemetry dependency declaration\n"
    },
    {
      "commit": "c82268d7f8904c0fb6879a60247b5c30feb7ea67",
      "tree": "0e7f96c636d3956df0e5dcc6741f66c9d5f42c24",
      "parents": [
        "9518c643a95f16b3a272e5a3f194af46d85d4711"
      ],
      "author": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Dec 06 19:16:16 2025 +0100"
      },
      "committer": {
        "name": "Oleg Kalnichevski",
        "email": "olegk@apache.org",
        "time": "Sat Dec 06 19:20:56 2025 +0100"
      },
      "message": "Corrected @since tags\n"
    }
  ],
  "next": "9518c643a95f16b3a272e5a3f194af46d85d4711"
}
