)]}'
{
  "log": [
    {
      "commit": "7616801131d5d1bcc94ae82bc2c147334d9fdbf7",
      "tree": "5157c51ce8ebca65a39f23e9b2891a5702ba676d",
      "parents": [
        "3b585a330c9bbbb1ce9aac91242b5f9f51d1a673"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Mon Sep 07 21:47:22 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Mon Sep 07 21:47:22 2026 +0100"
      },
      "message": "Add 2.10.16 release information"
    },
    {
      "commit": "3b585a330c9bbbb1ce9aac91242b5f9f51d1a673",
      "tree": "d42af97d3b021e06687764644acf59773de5acef",
      "parents": [
        "44781f9d0a5bd4d94f4897e30e90f0bf83bd9574"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Sep 02 14:22:56 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Sep 02 14:22:56 2026 +0100"
      },
      "message": "Increment verions for next development cycle"
    },
    {
      "commit": "44781f9d0a5bd4d94f4897e30e90f0bf83bd9574",
      "tree": "d97cc7bd22cb714cc54813ffe3f5bccf1bbbb82c",
      "parents": [
        "c5a376c93da7b05837dccca239251f1d34f1286b"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Sep 02 13:55:15 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Sep 02 13:55:15 2026 +0100"
      },
      "message": "Update recommended OpenSSL version"
    },
    {
      "commit": "c5a376c93da7b05837dccca239251f1d34f1286b",
      "tree": "3b2d3d7590d1e777b13184680cfa0c560d4e43f8",
      "parents": [
        "c5a097a8c9281b6025f7dcb0976ea442fb081f4b"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Sep 02 08:11:16 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Sep 02 08:11:16 2026 +0100"
      },
      "message": "Align Java code with lastest Tomcat code\n"
    },
    {
      "commit": "c5a097a8c9281b6025f7dcb0976ea442fb081f4b",
      "tree": "8b2f512d43875eabfc40b9396e8f679d54c801e5",
      "parents": [
        "4c7e985ef7c934833b18f1059f6a277dab130e3b"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:57:28 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:57:28 2026 +0100"
      },
      "message": "Harden against the mis-use of Pool.destroy(long)"
    },
    {
      "commit": "4c7e985ef7c934833b18f1059f6a277dab130e3b",
      "tree": "233533eb889efa00853b1eecd463c833b091975e",
      "parents": [
        "92526794920844bbd742436f0ae0e4bf2de160d4"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:49:45 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:49:45 2026 +0100"
      },
      "message": "Harden against mis-use"
    },
    {
      "commit": "92526794920844bbd742436f0ae0e4bf2de160d4",
      "tree": "a73eec6dcef0452b20b835800dd032722952285a",
      "parents": [
        "9c6bb9d1bd5f5597945dbb8aae1d191edb15d3c1"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:24:32 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:24:52 2026 +0100"
      },
      "message": "Another robustness improvement for OCSP responses."
    },
    {
      "commit": "9c6bb9d1bd5f5597945dbb8aae1d191edb15d3c1",
      "tree": "afe83ab4c8686602721fe757b06bb9e56165f468",
      "parents": [
        "edc04adf9a384b2a89d92d0a5b1787edc1f3ace7"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:11:45 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:11:45 2026 +0100"
      },
      "message": "Stricter OCSP handling when soft-fail is disabled."
    },
    {
      "commit": "edc04adf9a384b2a89d92d0a5b1787edc1f3ace7",
      "tree": "ee44e8a6ab5e9bf1d0f5af4463ba655407c1922b",
      "parents": [
        "54190cc9fdb79f5848811b5388eb6c4727be1e10"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:11:00 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 18:11:00 2026 +0100"
      },
      "message": "Make the processing of OCSP responses more robust"
    },
    {
      "commit": "54190cc9fdb79f5848811b5388eb6c4727be1e10",
      "tree": "639fd153b9aa846e47d1264a96e9e571878ec59c",
      "parents": [
        "80a96c3d12de3d83f47708707e180e6889905f92"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 17:05:29 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 17:05:29 2026 +0100"
      },
      "message": "Further robustness improvements to OCSP AIA parsing"
    },
    {
      "commit": "80a96c3d12de3d83f47708707e180e6889905f92",
      "tree": "212c74cd9e684d0ff88ed22f286f7a1644071ca9",
      "parents": [
        "497e3747a65027fa54a0ac1a4af45bf32ce76eef"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 14:48:30 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Aug 28 14:48:30 2026 +0100"
      },
      "message": "Avoid a potential crash when processing OCSP URLs."
    },
    {
      "commit": "497e3747a65027fa54a0ac1a4af45bf32ce76eef",
      "tree": "56f56a8ccd657857da39fcdca525e336f6bc1bc0",
      "parents": [
        "77a77cb1186ce3e226dfac50c21c9e7f10399ee3"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 18:40:38 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 18:40:38 2026 +0100"
      },
      "message": "Fix typo"
    },
    {
      "commit": "77a77cb1186ce3e226dfac50c21c9e7f10399ee3",
      "tree": "94619e0db7c6882c6b21e85c40367968822a5cd2",
      "parents": [
        "9a7c804afc05fdc630520eb4012ce1c4ff787862"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 18:36:13 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 18:36:13 2026 +0100"
      },
      "message": "Make the call to a CertficateVerifier more robust"
    },
    {
      "commit": "9a7c804afc05fdc630520eb4012ce1c4ff787862",
      "tree": "fd3bc50b8d6d9feff664137a4ee3adbb42776336",
      "parents": [
        "c7e499eeee6c16854445cdce43fd83907304d3cf"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 17:23:54 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 17:23:54 2026 +0100"
      },
      "message": "Avoid a potential crash with very long ALPN protocol names"
    },
    {
      "commit": "c7e499eeee6c16854445cdce43fd83907304d3cf",
      "tree": "3faf91ccee88e15a56e3b5cd7375506c9e4a9e26",
      "parents": [
        "fb688de41e837d98e76961e44584b37989e4f7d0"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 17:09:57 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 17:09:57 2026 +0100"
      },
      "message": "Fix a potential crash when configuring raw certificates."
    },
    {
      "commit": "fb688de41e837d98e76961e44584b37989e4f7d0",
      "tree": "27953644eda5f7896b277aa560edd62bea7dd438",
      "parents": [
        "37339bca0dd33776366d8fe6bf8bc6688b1ba614"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 15:51:54 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 15:51:54 2026 +0100"
      },
      "message": "Keep connection and context verification settings separate"
    },
    {
      "commit": "37339bca0dd33776366d8fe6bf8bc6688b1ba614",
      "tree": "37e7a54f7a311afb0a7454c862c27eed3cef2f5c",
      "parents": [
        "5e94de1c315752d3f405e286cdaba64fc38f2f45"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:36:06 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:36:06 2026 +0100"
      },
      "message": "Remove more unused code\n\nThis is expected to be the final commit removing unused code for this\nbranch for the time being."
    },
    {
      "commit": "5e94de1c315752d3f405e286cdaba64fc38f2f45",
      "tree": "ab5565bad0f935f738f224d02a86cda9de6652b4",
      "parents": [
        "f6fbfc95e92e714f2daeecba8546d09fe541e70c"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:29:00 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:29:00 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "f6fbfc95e92e714f2daeecba8546d09fe541e70c",
      "tree": "6a8a8514cee6eca4f828079a27435c841a30a822",
      "parents": [
        "f58edcbfc03e6a6a57307cbb5d1bf4fe8307da94"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:16:30 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:16:30 2026 +0100"
      },
      "message": "Remove remaining unused types"
    },
    {
      "commit": "f58edcbfc03e6a6a57307cbb5d1bf4fe8307da94",
      "tree": "95f643f15295bc5abfdf7f128f59d4994bb2f7f2",
      "parents": [
        "5a9dacd0bccfa75c80e001cfc7a220cab0eed79a"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:12:38 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:12:38 2026 +0100"
      },
      "message": "Remove remaining unused structure members"
    },
    {
      "commit": "5a9dacd0bccfa75c80e001cfc7a220cab0eed79a",
      "tree": "c12642ddad47dc41f7cb1afb3f9195dfb0fdfb39",
      "parents": [
        "d4555009543c109c815fbef84ee19fc9407ff317"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:04:22 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:04:22 2026 +0100"
      },
      "message": "Remove remaining unused declarations"
    },
    {
      "commit": "d4555009543c109c815fbef84ee19fc9407ff317",
      "tree": "e89fe669b08beee9498ccf6e418405e35bf1d41c",
      "parents": [
        "1c013b3ad5b4cebbb0c13bd23d6407f8dd348d2c"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:03:10 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 12:03:10 2026 +0100"
      },
      "message": "Remove remaining unused functions"
    },
    {
      "commit": "1c013b3ad5b4cebbb0c13bd23d6407f8dd348d2c",
      "tree": "f6c40a17c328808c9c5bd7b9c8dc051c02ffa43f",
      "parents": [
        "1edc309108a8df8e4326096a48b7310b71dd6655"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 11:37:23 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 11:37:23 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "1edc309108a8df8e4326096a48b7310b71dd6655",
      "tree": "a200b93b7018950b06706c00b77e853b19fb7724",
      "parents": [
        "8d8f7d6881b71d8b94616555086c1eb6625e7d2d"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 11:32:09 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 11:32:09 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "8d8f7d6881b71d8b94616555086c1eb6625e7d2d",
      "tree": "955c638d08dd38ada77ed238179d5189d0cddc9d",
      "parents": [
        "d5f35573d351c8ff8d7ddb1f6cf1f2a7c56bb80b"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 11:13:27 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 11:13:27 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "d5f35573d351c8ff8d7ddb1f6cf1f2a7c56bb80b",
      "tree": "02975eeb8e92f69a8c7cb8face69251c105b153c",
      "parents": [
        "e890697b71f13e915bf7aa78ebaf862b4f971c99"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:50:35 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:50:35 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "e890697b71f13e915bf7aa78ebaf862b4f971c99",
      "tree": "9188a68ef5952e0a63a2c8ee91791aca0384e07f",
      "parents": [
        "5cb404f72b2025d73d9bfc3373cd3e521eb7d11f"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:42:26 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:42:26 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "5cb404f72b2025d73d9bfc3373cd3e521eb7d11f",
      "tree": "5dcf975976f0da565fdce6b050469cc7ec2feb93",
      "parents": [
        "ff69db144836eb3dbb9e056ac65609fd54c7b7c3"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:40:54 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:40:54 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "ff69db144836eb3dbb9e056ac65609fd54c7b7c3",
      "tree": "ae005f44b252342c9bf70e56ad88a19d3e630d7d",
      "parents": [
        "ee7639efdb91d72c09504c2f2fcba63e73a69a38"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:34:55 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:34:55 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "ee7639efdb91d72c09504c2f2fcba63e73a69a38",
      "tree": "0b0e6b45751ed341eef5175596b15ade29fe6277",
      "parents": [
        "bac074ee8d58614ba3bc246406f34f16c64b8756"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:31:47 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:31:47 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "bac074ee8d58614ba3bc246406f34f16c64b8756",
      "tree": "2bc82dcf23da2abc3e63a67be3e243913c59f1dc",
      "parents": [
        "680f4b42fd532bd426f2d14a5125a7f5134415db"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:29:09 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:29:09 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "680f4b42fd532bd426f2d14a5125a7f5134415db",
      "tree": "db1534f6b56594d26e3991dafcbfc23e57c91933",
      "parents": [
        "2235ec045cfe7156e577d15f180cb46e903b1840"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:17:24 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:17:24 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "2235ec045cfe7156e577d15f180cb46e903b1840",
      "tree": "525d1f9097e4510ae7c5efbb094c1882c8761dd6",
      "parents": [
        "82e6f6e440c41cf12007a15d4a24fb05a66e0ef6"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:15:01 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:15:01 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "82e6f6e440c41cf12007a15d4a24fb05a66e0ef6",
      "tree": "cccbdc70f8b317c3797f9d0e934df65a8f086380",
      "parents": [
        "00025e871d73ce4761dd4404db37540b86b8a0b4"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:08:45 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:08:45 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "00025e871d73ce4761dd4404db37540b86b8a0b4",
      "tree": "83878f2f3d7bf51c2ecf70807391afef3f4650a1",
      "parents": [
        "973bd0edaabbc8c0204be63d0ecaa2f0e25e6c2e"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:03:13 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:03:13 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "973bd0edaabbc8c0204be63d0ecaa2f0e25e6c2e",
      "tree": "a78b7b107ad726f8d8ecfa8799d65e35bca0057d",
      "parents": [
        "a1442c4d9574eb473e83ea8f179720b495e06306"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:02:05 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:02:05 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "a1442c4d9574eb473e83ea8f179720b495e06306",
      "tree": "f7d475a827adb8748be0dfd987267c3e6008a1af",
      "parents": [
        "47b8780cc5cf354aa98d8f61b13e3586f212db57"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:00:46 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 10:00:46 2026 +0100"
      },
      "message": "Remove unused code"
    },
    {
      "commit": "47b8780cc5cf354aa98d8f61b13e3586f212db57",
      "tree": "73798ec3517c9c843b8e542e248eab257d46c2d4",
      "parents": [
        "f6bb04b28f234a35c21a2997963195ae1d86de69"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 09:57:24 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Aug 27 09:57:24 2026 +0100"
      },
      "message": "Remove dead code"
    },
    {
      "commit": "f6bb04b28f234a35c21a2997963195ae1d86de69",
      "tree": "f51cb5eb7ea2d618790acd8bb02e52da8e754962",
      "parents": [
        "035249cc49b5f00fb1e457e504abae5bbc9c1345"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Aug 26 17:25:38 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Aug 26 17:25:38 2026 +0100"
      },
      "message": "Add support for the extended range of options in OpenSSL 3.x onwards\n\nThis will need matching changes in Tomcat"
    },
    {
      "commit": "035249cc49b5f00fb1e457e504abae5bbc9c1345",
      "tree": "3861062c41190ac2cb4b29ad5c642a87d8b6bb7d",
      "parents": [
        "54f066dda606706dff8dac3b9ca3f63287ccf3c4"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Aug 26 13:35:59 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Aug 26 13:35:59 2026 +0100"
      },
      "message": "Fallback as intended if ALPN negotiation fails."
    },
    {
      "commit": "54f066dda606706dff8dac3b9ca3f63287ccf3c4",
      "tree": "90eeada4ed2077e586d966e1c0914d021bd02663",
      "parents": [
        "10c98b6997fa9c933eff43c211f67c492a7553a9"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Aug 26 13:21:11 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Aug 26 13:21:11 2026 +0100"
      },
      "message": "Fix a potential crash when negotiating ALPN"
    },
    {
      "commit": "10c98b6997fa9c933eff43c211f67c492a7553a9",
      "tree": "1c1e69d57a1cbb5ec5a43e821701fef849533b31",
      "parents": [
        "f63835a5b33cea55710442dd47eb0293ab391bab"
      ],
      "author": {
        "name": "rainerjung",
        "email": "rainer.jung@kippdata.de",
        "time": "Tue Jun 23 12:29:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 12:29:56 2026 +0200"
      },
      "message": "Try using latest checkout and upload-artifect actions in the workflow"
    },
    {
      "commit": "f63835a5b33cea55710442dd47eb0293ab391bab",
      "tree": "21056f10d07ebd4f75e39a7604e07aa2e156e38b",
      "parents": [
        "a026f9bbf686ea67650e4acb0281d50ef0ba399a"
      ],
      "author": {
        "name": "rainerjung",
        "email": "rainer.jung@kippdata.de",
        "time": "Tue Jun 23 11:34:20 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 11:34:20 2026 +0200"
      },
      "message": "GH action: new default WINVER is WIN10"
    },
    {
      "commit": "a026f9bbf686ea67650e4acb0281d50ef0ba399a",
      "tree": "df3ccef6b4aec58dd668f2ff1948b7f619e23d61",
      "parents": [
        "bacb0a7aeed9d4f87d5bd2e4cea7769c439a058e"
      ],
      "author": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Tue Jun 23 00:04:25 2026 +0200"
      },
      "committer": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Tue Jun 23 00:04:25 2026 +0200"
      },
      "message": "Fix new syntax error in makefile\n"
    },
    {
      "commit": "bacb0a7aeed9d4f87d5bd2e4cea7769c439a058e",
      "tree": "333080537bc5874614246fd81f482677d255a49f",
      "parents": [
        "898edbb13621e299f3935c159fe31c62efddede7"
      ],
      "author": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Mon Jun 22 22:45:22 2026 +0200"
      },
      "committer": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Mon Jun 22 22:45:22 2026 +0200"
      },
      "message": "Minor comment cleanup\n"
    },
    {
      "commit": "898edbb13621e299f3935c159fe31c62efddede7",
      "tree": "682f30da5f8a11ab035b97e30bc15111c24410a2",
      "parents": [
        "357c69d21121ba6e68d19e7bb4d4e549fde924e2"
      ],
      "author": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Mon Jun 22 22:37:24 2026 +0200"
      },
      "committer": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Mon Jun 22 22:37:24 2026 +0200"
      },
      "message": "Make Windows 10 / 11 the default target version for Windows builds.\n"
    },
    {
      "commit": "357c69d21121ba6e68d19e7bb4d4e549fde924e2",
      "tree": "fbc7378087b1356aac8a68625113e88dec676de0",
      "parents": [
        "6cd19267d9a0b25e8a85c301fd97f116b64eae3d"
      ],
      "author": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Mon Jun 22 22:31:38 2026 +0200"
      },
      "committer": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Mon Jun 22 22:31:38 2026 +0200"
      },
      "message": "Update architecture support for Windows builds\n\n- Remove support for IA64 architecture (Itanium).\n- Make x64 the default architecture.\n"
    },
    {
      "commit": "6cd19267d9a0b25e8a85c301fd97f116b64eae3d",
      "tree": "576221ac8683a77bd780c5fa0ea10e525e3e1c3c",
      "parents": [
        "fb49774281562fba73a2d9e264dc24d41d48113d"
      ],
      "author": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Sun Jun 21 10:49:46 2026 +0200"
      },
      "committer": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Sun Jun 21 10:49:46 2026 +0200"
      },
      "message": "OpenSSL 4 compatibility\n\nRemove call to ERR_remove_thread_state() from Windows specific code to\nallow building with OpenSSL 4.0.x. ERR_remove_thread_state() is a no-op\nin OpenSSL 1.1+ and got removed in OpenSSL 4. (rjung)\n"
    },
    {
      "commit": "fb49774281562fba73a2d9e264dc24d41d48113d",
      "tree": "ee4bcfa018216d909e30b58b51d3e19d105bb300",
      "parents": [
        "adc88abc4fd0d96b7af9c99d09a6d0c25494db1c"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Mon Jun 15 15:56:31 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Mon Jun 15 15:56:31 2026 +0100"
      },
      "message": "Add 2.0.15 release information"
    },
    {
      "commit": "adc88abc4fd0d96b7af9c99d09a6d0c25494db1c",
      "tree": "658c4b00e1cf0bdf10205cc00be517f9fef39177",
      "parents": [
        "10b58f89a5a35db7b3fc436b8c0dd1956b3f9872"
      ],
      "author": {
        "name": "Christopher Schultz",
        "email": "chris@christopherschultz.net",
        "time": "Sat Jun 13 11:46:09 2026 -0400"
      },
      "committer": {
        "name": "Christopher Schultz",
        "email": "chris@christopherschultz.net",
        "time": "Sat Jun 13 11:46:09 2026 -0400"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "10b58f89a5a35db7b3fc436b8c0dd1956b3f9872",
      "tree": "cac25de8cf83ca0e3403be71f6f4e9f3f12a5406",
      "parents": [
        "9ce43029fda37db4d5e7ee042dc226e1ca6a7c66"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 20:07:24 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 20:07:24 2026 +0100"
      },
      "message": "Increment version to 2.0.16 for next development cycle"
    },
    {
      "commit": "9ce43029fda37db4d5e7ee042dc226e1ca6a7c66",
      "tree": "cd9cf200481fa758204608c262ae057d88665b3b",
      "parents": [
        "eb9b8d866eba37463a1f344a2c3276b202c2cfe0"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 17:00:19 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 17:00:19 2026 +0100"
      },
      "message": "Only need to remove this for tag\n"
    },
    {
      "commit": "eb9b8d866eba37463a1f344a2c3276b202c2cfe0",
      "tree": "2b495c637ebaa6d571bb706f199ad4ff36e838c6",
      "parents": [
        "4cff6fdd4c946db870adb3ce01a4390348d8d9c8"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:58:05 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:58:05 2026 +0100"
      },
      "message": "Align Java code with current 12.0.x\n"
    },
    {
      "commit": "4cff6fdd4c946db870adb3ce01a4390348d8d9c8",
      "tree": "b3c9e68f3093a055fda2f2ce4fc24d33e4cdbd53",
      "parents": [
        "f69a5455c33e3deb5134a32cc01668554ac481f8"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:54:00 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:54:00 2026 +0100"
      },
      "message": "Prep change log for release"
    },
    {
      "commit": "f69a5455c33e3deb5134a32cc01668554ac481f8",
      "tree": "68a3c08625cb7a599a962cf71d055c89b824079a",
      "parents": [
        "687aac5f458b75d0122d627dd47ac814fb2ec7d4"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:49:27 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:49:27 2026 +0100"
      },
      "message": "Update recommended OpenSSL version"
    },
    {
      "commit": "687aac5f458b75d0122d627dd47ac814fb2ec7d4",
      "tree": "1c5cae6d706cb664a0b2cd6d7729f95fb6bae9df",
      "parents": [
        "67c837b42e2b0e4b1677e7c6f4ccfea85082ce36"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:29:51 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Jun 11 16:29:51 2026 +0100"
      },
      "message": "Fix BZ 69988 post handshake authentication when using JSSE style trust"
    },
    {
      "commit": "67c837b42e2b0e4b1677e7c6f4ccfea85082ce36",
      "tree": "5809aa0083b715c6ed699ba1017675f165f05c87",
      "parents": [
        "c1aac982a482d142bb3eba8da450c7ca249c00af"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Jun 10 19:40:57 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Jun 10 19:52:26 2026 +0100"
      },
      "message": "Use correct size for ticket keys"
    },
    {
      "commit": "c1aac982a482d142bb3eba8da450c7ca249c00af",
      "tree": "3564e41f5b20b95627d994d4aa5844ede75e974b",
      "parents": [
        "de2f81377d212d651f703bfd7432d47da90f02d8"
      ],
      "author": {
        "name": "remm",
        "email": "remm@apache.org",
        "time": "Tue Jun 09 22:06:14 2026 +0200"
      },
      "committer": {
        "name": "remm",
        "email": "remm@apache.org",
        "time": "Tue Jun 09 22:06:14 2026 +0200"
      },
      "message": "Fix buffer position updating\n\nI suppose it\u0027s written in one go so all is well !\nFound using OpenCode."
    },
    {
      "commit": "de2f81377d212d651f703bfd7432d47da90f02d8",
      "tree": "13b93ddb70520fac4182176fb0a754c1a1bdf4fe",
      "parents": [
        "57a82744b0f07c76f146558e4abd26b90b34cdd1"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 22 23:11:38 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 23:11:38 2026 +0100"
      },
      "message": "Update .asf.yaml to include version branches\n\nAdd version branches to includes in .asf.yaml"
    },
    {
      "commit": "57a82744b0f07c76f146558e4abd26b90b34cdd1",
      "tree": "65f5fdeb782fef01155e85f12e13ed913211fb40",
      "parents": [
        "e36d5a5e3378623a40b23112a64ac1a11383e6d8"
      ],
      "author": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Fri May 22 17:10:37 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 23:10:37 2026 +0100"
      },
      "message": "Set up default protection ruleset for default and release branches (#45)"
    },
    {
      "commit": "e36d5a5e3378623a40b23112a64ac1a11383e6d8",
      "tree": "47bbc359b1230f3164fdeb8695c60a9a0f2fc8c1",
      "parents": [
        "9a5fbc937732b9f53027a925a92da68502db04af"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 22 23:05:57 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 23:05:57 2026 +0100"
      },
      "message": "Add security-extended queries to CodeQL workflow"
    },
    {
      "commit": "9a5fbc937732b9f53027a925a92da68502db04af",
      "tree": "064c16b98fcbf6fabd537ac143d8492b3ad56be7",
      "parents": [
        "7bfb8952b3404fb8d23bbfab043913063511a50e"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 22 22:59:05 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 22:59:05 2026 +0100"
      },
      "message": "Fix syntax error in CodeQL workflow configuration"
    },
    {
      "commit": "7bfb8952b3404fb8d23bbfab043913063511a50e",
      "tree": "d2e840a15efb70818d22c278d1a296d72cfbc451",
      "parents": [
        "76e64f752160de169dcae7ef3ec9d3216f9d0700"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:53:09 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:53:09 2026 +0100"
      },
      "message": "Use absolute paths"
    },
    {
      "commit": "76e64f752160de169dcae7ef3ec9d3216f9d0700",
      "tree": "005ddf47969a074a5cbc1c3bd7b0748c8b55a4b7",
      "parents": [
        "9cd4a051591b12c74d392aecf486167a093695e9"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:36:33 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:36:33 2026 +0100"
      },
      "message": "Need sudo to install packages"
    },
    {
      "commit": "9cd4a051591b12c74d392aecf486167a093695e9",
      "tree": "97d3a78a2999be001183e865e53ca69ba68dd912",
      "parents": [
        "6fee9f6970fc85699b875a7a10232ff67c2ae20c"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:33:43 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:33:43 2026 +0100"
      },
      "message": "Add required package"
    },
    {
      "commit": "6fee9f6970fc85699b875a7a10232ff67c2ae20c",
      "tree": "7db6674b601d52a8354c208b97cc5a05c6dca0f5",
      "parents": [
        "175ea090d34924d8b8a201b7e9ad0365646b1294"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:27:52 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:27:52 2026 +0100"
      },
      "message": "Update path"
    },
    {
      "commit": "175ea090d34924d8b8a201b7e9ad0365646b1294",
      "tree": "e83b0b742f16ff154e4531d0402f596b17fc6031",
      "parents": [
        "26736a6c2d228faf5c2226121d9e7e9e3117e873"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:21:04 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:21:04 2026 +0100"
      },
      "message": "And the other instances"
    },
    {
      "commit": "26736a6c2d228faf5c2226121d9e7e9e3117e873",
      "tree": "a77e08b54b81855990ef57169a7c33328a8203ad",
      "parents": [
        "b37629ad3410659a50b587ada0c7d32bfc63dcaa"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:20:42 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 09:20:42 2026 +0100"
      },
      "message": "Again, Linux not Windows"
    },
    {
      "commit": "b37629ad3410659a50b587ada0c7d32bfc63dcaa",
      "tree": "93fd298797839ce9587ae40ab6cc9d7c52d40d4b",
      "parents": [
        "773018a9439e54a9da2a90aeb3ce172177c62b1a"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:45:14 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:45:14 2026 +0100"
      },
      "message": "Fix typo"
    },
    {
      "commit": "773018a9439e54a9da2a90aeb3ce172177c62b1a",
      "tree": "f3a1c942a47824606373911ad72e022587a631e0",
      "parents": [
        "7ae1b027e97154238d5374dcfdd4499a3b651d5b"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:44:59 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:44:59 2026 +0100"
      },
      "message": "This is Linux, not Windows"
    },
    {
      "commit": "7ae1b027e97154238d5374dcfdd4499a3b651d5b",
      "tree": "6655beab2a779e1d5fccc343df96c2f6079c0857",
      "parents": [
        "5297efaaa7e2794eabde91111077f99cffce8909"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:34:48 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:34:48 2026 +0100"
      },
      "message": "First attempt at a manual build"
    },
    {
      "commit": "5297efaaa7e2794eabde91111077f99cffce8909",
      "tree": "c13970386343af51e44d370d2b0899c5587ef091",
      "parents": [
        "198a9b87f647ca11b9d0b63bac58ce1de771e624"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:23:19 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:23:19 2026 +0100"
      },
      "message": "Fix indent"
    },
    {
      "commit": "198a9b87f647ca11b9d0b63bac58ce1de771e624",
      "tree": "dd9fcfbeefb1c7159a0d720e00d69b4e191ae9b3",
      "parents": [
        "f64683fe2649c7eedb4c7db3a96113858c9bca8d"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:05:25 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:05:25 2026 +0100"
      },
      "message": "Add minimal permissions"
    },
    {
      "commit": "f64683fe2649c7eedb4c7db3a96113858c9bca8d",
      "tree": "eccf18b7b89cbd43eadf2568968f2fb03e137930",
      "parents": [
        "44d6c55221890d15aa7b6741807304c4e7f134ac"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 07:47:05 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 08:04:51 2026 +0100"
      },
      "message": "Add AGENTS.md and SECURITY.md to support AI security scans"
    },
    {
      "commit": "44d6c55221890d15aa7b6741807304c4e7f134ac",
      "tree": "613d5e443680fc51f8062f23a1c549fa57b3e156",
      "parents": [
        "90fb23188772db7c54bec96a29d9409c354b5794"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri May 15 07:56:45 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 07:56:45 2026 +0100"
      },
      "message": "Add CodeQL workflow\n\nIgnores java code since that is checked in the main Tomcat repo"
    },
    {
      "commit": "90fb23188772db7c54bec96a29d9409c354b5794",
      "tree": "51fea7a1273d4baee2e0313921bf34415288d2e8",
      "parents": [
        "c96b3428ff5cdf7c426cfc0e21c53a4e30f93d74"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 16:34:00 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 16:34:00 2026 +0100"
      },
      "message": "Additional Visual Studio 2026 / 18 updates"
    },
    {
      "commit": "c96b3428ff5cdf7c426cfc0e21c53a4e30f93d74",
      "tree": "4ab4558c4c1fed84a7058b4c579dabe1e569d711",
      "parents": [
        "bdc564a3b37fb533e7bda58cbfc487c072b7beea"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 16:02:34 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 16:02:34 2026 +0100"
      },
      "message": "Remove debug steps from workflow and fix issue\n\nIt appears that Visual Studio 2026 (18) is installed on the image."
    },
    {
      "commit": "bdc564a3b37fb533e7bda58cbfc487c072b7beea",
      "tree": "e8221b40424270beefd147eac098251338c96029",
      "parents": [
        "2e886532e17f8dff14de984b9ff93a8dba168f9c"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 16:00:28 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 16:00:28 2026 +0100"
      },
      "message": "Update Visual Studio path to version 18\n\nActual image does not agree with docs."
    },
    {
      "commit": "2e886532e17f8dff14de984b9ff93a8dba168f9c",
      "tree": "568088483bae710cc4c4e2290258fb645250c9e6",
      "parents": [
        "36c1c211d1d41ebfb7dc7c52c3dbdbb621c3a9b5"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 15:56:57 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 15:56:57 2026 +0100"
      },
      "message": "Fix directory navigation commands in makefile.yml"
    },
    {
      "commit": "36c1c211d1d41ebfb7dc7c52c3dbdbb621c3a9b5",
      "tree": "90f3117c0b1f90973e55957b8fcbc2a698de6ae8",
      "parents": [
        "090fb1ec619e732f404a0379fb5c318cdb331b09"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 15:54:34 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 15:54:34 2026 +0100"
      },
      "message": "Add debugging for Visual Studio directory errors\n\nAdded debugging steps to check directory structure in Visual Studio paths."
    },
    {
      "commit": "090fb1ec619e732f404a0379fb5c318cdb331b09",
      "tree": "3204c37ef426be603e790db93a460b47980cce61",
      "parents": [
        "0bad57690ab4f095e47abdef22162cb6fb21087b"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 15:06:01 2026 +0100"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu May 14 15:06:01 2026 +0100"
      },
      "message": "Remove unused SNI support\n\nSNI support was only used by the APR/native connector which is not\nsupported in Native 2.0.x."
    },
    {
      "commit": "0bad57690ab4f095e47abdef22162cb6fb21087b",
      "tree": "98c3e0146f2ceec5c8eea1f62c9eaefd98e0ea98",
      "parents": [
        "3ae6ebeaf89cbd33bb0c72c7c1f6188f0ac49d3a"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Mar 12 11:36:59 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Mar 12 11:36:59 2026 +0000"
      },
      "message": "Fix potential memory leaks on error paths identified by Copilot\n\nSSL_CTX_add0_chain_cert only takes ownership on success so certs needs\nto be freed on the failure path.\n\nIf realloc() fails, the original p_data pointer is lost"
    },
    {
      "commit": "3ae6ebeaf89cbd33bb0c72c7c1f6188f0ac49d3a",
      "tree": "65845d44bf32c773008aceaec76b8a1bbef6fe37",
      "parents": [
        "4742d89b2d83d60aa89ff91d526fdb12d130be48"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Mar 12 10:00:20 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Thu Mar 12 10:00:20 2026 +0000"
      },
      "message": "Fix a memory leak when parsing certificates"
    },
    {
      "commit": "4742d89b2d83d60aa89ff91d526fdb12d130be48",
      "tree": "29dc5f93b7fc9c143d1a6deca63e982b512e1c89",
      "parents": [
        "3ae06d409279925316e4b2427381203cc4fd4cc9"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Tue Mar 10 10:26:07 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Tue Mar 10 10:26:07 2026 +0000"
      },
      "message": "Increment version for next development cycle"
    },
    {
      "commit": "3ae06d409279925316e4b2427381203cc4fd4cc9",
      "tree": "ae45f6a3e78480eda7f128dec3c38882f641e1ce",
      "parents": [
        "82daf3e9e7f75182710e5412385f123ef2c5112d"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Tue Mar 10 10:21:46 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Tue Mar 10 10:21:46 2026 +0000"
      },
      "message": "Update docs for 2.0.14 release"
    },
    {
      "commit": "82daf3e9e7f75182710e5412385f123ef2c5112d",
      "tree": "a719d270e5202ac2cfa708f79b64e3399c205fdd",
      "parents": [
        "03598616ff89d0248774fb6657fdaab6bbab9b63"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Mar 06 14:04:13 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Mar 06 14:04:13 2026 +0000"
      },
      "message": "Update recommended version"
    },
    {
      "commit": "03598616ff89d0248774fb6657fdaab6bbab9b63",
      "tree": "21c600423a202a2eb49ef7f042674d2869a0e806",
      "parents": [
        "a782347ad057b5b7a7d6438aef72043e42d9c583"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Mar 06 13:56:22 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Mar 06 13:56:22 2026 +0000"
      },
      "message": "Add some change log entries for recent changes"
    },
    {
      "commit": "a782347ad057b5b7a7d6438aef72043e42d9c583",
      "tree": "783154f7ddd3d993cd8b294c6e73786cd64236c9",
      "parents": [
        "ec142c065a2320e10214588a124c27ae74dd9145",
        "bcea0ac214cae14fd1c2517d759a72465cfc62d3"
      ],
      "author": {
        "name": "Jean-Frederic Clere",
        "email": "jfclere@gmail.com",
        "time": "Thu Mar 05 16:53:34 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 16:53:34 2026 +0100"
      },
      "message": "Merge pull request #43 from jfclere/main\n\nArrange call to apr_xrealloc() and allow multi URL."
    },
    {
      "commit": "bcea0ac214cae14fd1c2517d759a72465cfc62d3",
      "tree": "783154f7ddd3d993cd8b294c6e73786cd64236c9",
      "parents": [
        "ec142c065a2320e10214588a124c27ae74dd9145"
      ],
      "author": {
        "name": "Jean-Frederic Clere",
        "email": "jfclere@gmail.com",
        "time": "Thu Mar 05 13:56:14 2026 +0100"
      },
      "committer": {
        "name": "Jean-Frederic Clere",
        "email": "jfclere@gmail.com",
        "time": "Thu Mar 05 14:40:57 2026 +0100"
      },
      "message": "Arrange call to apr_xrealloc() and allow multi URL.\n"
    },
    {
      "commit": "ec142c065a2320e10214588a124c27ae74dd9145",
      "tree": "aa5cc8c7d58bbb2e152ebe98aec6ec4f2c8acf74",
      "parents": [
        "ca6206d4f054f27a027b1182ddfcd3ed0f11e74a"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Mar 04 17:44:55 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Mar 04 17:44:55 2026 +0000"
      },
      "message": "Fix build failures with OpenSSL 4.0.x"
    },
    {
      "commit": "ca6206d4f054f27a027b1182ddfcd3ed0f11e74a",
      "tree": "6086152867261d5f40f1bb3594e31a95c7539baf",
      "parents": [
        "d7df5e02199a0e57402eaba3dbcc113ecdb20019"
      ],
      "author": {
        "name": "Chenjp",
        "email": "ch_jp@msn.com",
        "time": "Sat Feb 14 01:35:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 17:35:12 2026 +0000"
      },
      "message": "Limit the boundary of ocsp payload chars (#39)\n\nCode review: Using actual ocsp response payload size."
    },
    {
      "commit": "d7df5e02199a0e57402eaba3dbcc113ecdb20019",
      "tree": "6486fc1c63189d3660ed6fda3c8858e6988f6b07",
      "parents": [
        "aabfbd05f7fce7686ea4ccdf71129ab4a342ef00"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Feb 11 09:14:05 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Feb 11 09:14:16 2026 +0000"
      },
      "message": "Update index \u0026 news for 2.0.13 release"
    },
    {
      "commit": "aabfbd05f7fce7686ea4ccdf71129ab4a342ef00",
      "tree": "5f5ab19e7ce112c2340740b85c1e83616536ad5b",
      "parents": [
        "d6a9c2c660779647404accab0b6e7625f8a7fb63"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Feb 11 09:11:56 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Wed Feb 11 09:14:16 2026 +0000"
      },
      "message": "Add release date for 2.0.13"
    },
    {
      "commit": "d6a9c2c660779647404accab0b6e7625f8a7fb63",
      "tree": "906231e258ad72395a986e2e83770d813dd53f78",
      "parents": [
        "09806731690bda9ae804ae9c6aff2a4442c20d45"
      ],
      "author": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Sat Feb 07 02:05:41 2026 +0100"
      },
      "committer": {
        "name": "Rainer Jung",
        "email": "rainer.jung@kippdata.de",
        "time": "Sat Feb 07 02:05:41 2026 +0100"
      },
      "message": "Fix typo in changelog\n"
    },
    {
      "commit": "09806731690bda9ae804ae9c6aff2a4442c20d45",
      "tree": "759ab3b11052aa9cb2f57b3d36a1356e27363322",
      "parents": [
        "d4c052c884ddfaed4279c31f6ec6c759d3bda887"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 22:28:13 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 22:28:13 2026 +0000"
      },
      "message": "Increment version for 2.0.14 development"
    },
    {
      "commit": "d4c052c884ddfaed4279c31f6ec6c759d3bda887",
      "tree": "5a3f925d72c01ba0028a881673b86310bf9fc740",
      "parents": [
        "3aa3c90e6f68022898b4af0af25497f25936bbe0"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:59:32 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:59:32 2026 +0000"
      },
      "message": "Sync with 12.0.\n"
    },
    {
      "commit": "3aa3c90e6f68022898b4af0af25497f25936bbe0",
      "tree": "c0903c6efa81e992f47d4b818d9673e8696b55a7",
      "parents": [
        "7455599242f18a81c7aa7f0aed8773e9605776aa"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:56:08 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:56:08 2026 +0000"
      },
      "message": "Sync with 1.3.x (better)"
    },
    {
      "commit": "7455599242f18a81c7aa7f0aed8773e9605776aa",
      "tree": "19e9e75beb77109fb4354f7e052726c68369a2f0",
      "parents": [
        "03216f54004577af451e9917700cdb65da5b330f"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:54:40 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:54:40 2026 +0000"
      },
      "message": "Now need to tweak change log before tagging too"
    },
    {
      "commit": "03216f54004577af451e9917700cdb65da5b330f",
      "tree": "4cbc4a80f006390464dbeb531403b105b706ac1f",
      "parents": [
        "b7b16f9ee932f3cd2055ca2d55692a9de804d872"
      ],
      "author": {
        "name": "Chenjp",
        "email": "ch_jp@msn.com",
        "time": "Sat Feb 07 03:49:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 06 19:49:21 2026 +0000"
      },
      "message": "enforce OCSP_MAX_RESPONSE_SIZE (#38)\n\nIntroduce a hard limit of 64 KB for OCSP responses"
    },
    {
      "commit": "b7b16f9ee932f3cd2055ca2d55692a9de804d872",
      "tree": "965e945605c7646cdbed76935afe7bc6dc54c04c",
      "parents": [
        "49bacb3cbac82d554f51c3654ca30420d3f0852f"
      ],
      "author": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:15:29 2026 +0000"
      },
      "committer": {
        "name": "Mark Thomas",
        "email": "markt@apache.org",
        "time": "Fri Feb 06 19:15:46 2026 +0000"
      },
      "message": "Add note on LibreSSl support giving 6 months notice"
    }
  ],
  "next": "49bacb3cbac82d554f51c3654ca30420d3f0852f"
}
