)]}'
{
  "log": [
    {
      "commit": "cb9ceada554f47aa5ebbedfe3984de0983cf0226",
      "tree": "31f64ad7f1a2466f789d00e312f1e33f01b7b728",
      "parents": [
        "5d3b5a039bf94a2c1744b70e3f0d9dd249ce393e"
      ],
      "author": {
        "name": "Sven Roederer",
        "email": "S.Roederer@colvistec.de",
        "time": "Fri Jul 05 12:47:41 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Aug 22 13:39:31 2024 +0200"
      },
      "message": "GHA/build: run tests for netstd\n\nBuild and test the netstd library so there is some basic testing.\nRun tests on ubuntu-22.04, as 20.04 wil be EoL soon and also had some issues with dotnet-sdk.\n"
    },
    {
      "commit": "5d3b5a039bf94a2c1744b70e3f0d9dd249ce393e",
      "tree": "5c6164d162f75a0e061006a4ce207132fde1d24a",
      "parents": [
        "7de26c45443bc1642f90d5365bf8eef15e239ce5"
      ],
      "author": {
        "name": "arkuhn",
        "email": "contact@adamrkuhn.com",
        "time": "Sat Jun 22 08:42:44 2024 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 21 22:52:29 2024 +0200"
      },
      "message": "Generate thrift_spec class attribute (with type hints)\n"
    },
    {
      "commit": "7de26c45443bc1642f90d5365bf8eef15e239ce5",
      "tree": "db1e790ab5120b8cdaa59805f4bdaf3056a8d150",
      "parents": [
        "4c39000f88ae397eb52f4db191ddb0b38153a947"
      ],
      "author": {
        "name": "arkuhn",
        "email": "contact@adamrkuhn.com",
        "time": "Wed Jun 19 01:20:47 2024 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 21 22:52:29 2024 +0200"
      },
      "message": "Add tests\n"
    },
    {
      "commit": "4c39000f88ae397eb52f4db191ddb0b38153a947",
      "tree": "82675b637425b6233bb3cf76a612648f092661bc",
      "parents": [
        "d850f8680845c8d837a58aeffb1f73df169af397"
      ],
      "author": {
        "name": "Adam Kuhn",
        "email": "contact@adamrkuhn.com",
        "time": "Tue Jun 18 19:40:08 2024 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 21 22:52:29 2024 +0200"
      },
      "message": "Update compiler/cpp/src/thrift/generate/t_py_generator.cc\r\n\r\nReview: document explicit int enum generation requirement instead of implicit\n\nCo-authored-by: r/Salomon Smeke \u003c134332337+salomon-smekecohen@users.noreply.github.com\u003e"
    },
    {
      "commit": "d850f8680845c8d837a58aeffb1f73df169af397",
      "tree": "d0adbf33cbe242b5886555ecace795e900c3cb89",
      "parents": [
        "12b0116a17b674da9d23a729d4d0a5ab3bc74c35"
      ],
      "author": {
        "name": "arkuhn",
        "email": "contact@adamrkuhn.com",
        "time": "Sun May 26 01:21:15 2024 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 21 22:52:29 2024 +0200"
      },
      "message": "Review comments\n- Update flag description to be more precise\n- No implict enum generation (gen enum flag required)\n- Use latest thrift test IDL for uuid coverage\n- rebase on latest main\n"
    },
    {
      "commit": "12b0116a17b674da9d23a729d4d0a5ab3bc74c35",
      "tree": "ad3ca4657084aaaeae02c7a9cca1d8a5c8024bad",
      "parents": [
        "55ea8f3c7e62916e46995ea49302270a3d0c611c"
      ],
      "author": {
        "name": "arkuhn",
        "email": "contact@adamrkuhn.com",
        "time": "Fri Feb 23 20:18:55 2024 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 21 22:52:29 2024 +0200"
      },
      "message": "Update tests for type_hints\n"
    },
    {
      "commit": "55ea8f3c7e62916e46995ea49302270a3d0c611c",
      "tree": "708d3a26a5392b24aa54d373b991d325a8c8bf85",
      "parents": [
        "cf0b803512850904da49f5d133f5559d6679e37b"
      ],
      "author": {
        "name": "Konstantin Pozdniakov",
        "email": "kpozdniakov",
        "time": "Wed Feb 16 16:40:21 2022 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 21 22:52:29 2024 +0200"
      },
      "message": "Python3 type hints\n\nargs not optional type hint\n\nUUID generator support\n\nRemove runtime type check\n"
    },
    {
      "commit": "cf0b803512850904da49f5d133f5559d6679e37b",
      "tree": "1273b0649c0148e133cb1283aab8c92a4c67c21a",
      "parents": [
        "e98d6b1547e033219e71e244e3568e93fdba22ce"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Aug 20 10:17:09 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Aug 20 17:30:25 2024 -0700"
      },
      "message": "Fix python build on Github Actions\n\nThere were some recent changes causing six to be installed on the `make\ninstall` step instead of (implicitly) on the `Python setup` step before,\nand the six installed on `make install` step was not available to the\nnext `make check` step and causing errors.\n\nInstall six on `Python setup` step explicitly instead.\n"
    },
    {
      "commit": "e98d6b1547e033219e71e244e3568e93fdba22ce",
      "tree": "34612f336ddb2e3bfcdcc9ddf81ae7350e52428d",
      "parents": [
        "3b67982f7acb85586615f6d8a7a725a203a3c132"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Aug 14 13:57:52 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Mon Aug 19 09:16:40 2024 -0700"
      },
      "message": "go: Fix cross test server\n\nClient: go\n\nThis was a bug introduced by 91565d490e98306ac6797dd6ed4f72c0e8222e78\nthat broke go\u0027s cross-test server, but because other CI issues we didn\u0027t\nrun cross-test so we didn\u0027t notice the issue.\n"
    },
    {
      "commit": "3b67982f7acb85586615f6d8a7a725a203a3c132",
      "tree": "47abd1fc22d59225656382140b64a2a7b62eafab",
      "parents": [
        "8a5fa6062137e8d73adcdd7960a539ca58fc7d4c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Aug 15 01:07:07 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 01:07:07 2024 -0400"
      },
      "message": "Bump com.bmuschko:gradle-clover-plugin in /lib/kotlin (#2793)\n\nBumps [com.bmuschko:gradle-clover-plugin](https://github.com/bmuschko/gradle-clover-plugin) from 2.2.1 to 3.0.3.\r\n- [Release notes](https://github.com/bmuschko/gradle-clover-plugin/releases)\r\n- [Changelog](https://github.com/bmuschko/gradle-clover-plugin/blob/master/RELEASE_NOTES.md)\r\n- [Commits](https://github.com/bmuschko/gradle-clover-plugin/compare/v2.2.1...3.0.3)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: com.bmuschko:gradle-clover-plugin\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8a5fa6062137e8d73adcdd7960a539ca58fc7d4c",
      "tree": "36fa8c5109565e418785a87c49a464255cfdbb58",
      "parents": [
        "539c9224cf093078400527494e994946d605cd2d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 14 21:27:13 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 14 21:27:13 2024 -0400"
      },
      "message": "Bump jvm from 1.9.23 to 2.0.10 in /lib/kotlin (#3023)\n\nBumps [jvm](https://github.com/JetBrains/kotlin) from 1.9.23 to 2.0.10.\r\n- [Release notes](https://github.com/JetBrains/kotlin/releases)\r\n- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)\r\n- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.23...v2.0.10)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: jvm\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "539c9224cf093078400527494e994946d605cd2d",
      "tree": "5a84b8388dae789e995f9c1d5c7e834c906ab642",
      "parents": [
        "a44c0c6c3e3f60342d6ee8530f7d887e1424f7a2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 14 21:07:41 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 14 21:07:41 2024 -0400"
      },
      "message": "Bump com.ncorti.ktfmt.gradle from 0.12.0 to 0.19.0 in /lib/kotlin (#3015)\n\n* Bump com.ncorti.ktfmt.gradle from 0.12.0 to 0.19.0 in /lib/kotlin\r\n\r\nBumps com.ncorti.ktfmt.gradle from 0.12.0 to 0.19.0.\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: com.ncorti.ktfmt.gradle\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\n\r\n* Fix formatting for updated ktfmt\r\n\r\n---------\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\r\nCo-authored-by: Christopher Tubbs \u003cctubbsii@apache.org\u003e"
    },
    {
      "commit": "a44c0c6c3e3f60342d6ee8530f7d887e1424f7a2",
      "tree": "01761f0b41fcd17c1a978bff7f3ae014990846b8",
      "parents": [
        "91565d490e98306ac6797dd6ed4f72c0e8222e78"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Aug 14 14:42:16 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 14 17:42:16 2024 -0400"
      },
      "message": "Fix failed java build (#3019)\n\nFix Java compilation issues introduced by THRIFT-4847 in d4503a1f0e62d38f7a12ba9748744c5490c915c4\r\nAlso fix the failing spotlessCheck\r\n\r\n---------\r\n\r\nCo-authored-by: Mario Emmenlauer \u003cmario@emmenlauer.de\u003e\r\nCo-authored-by: Christopher Tubbs \u003cctubbsii@apache.org\u003e"
    },
    {
      "commit": "91565d490e98306ac6797dd6ed4f72c0e8222e78",
      "tree": "6fce5eef466c2c0fab1eec35d610c97494f5cfcc",
      "parents": [
        "a4ebb75faa3652d9d01f11d715f242305014eb4e"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Aug 14 09:01:15 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Aug 14 10:39:41 2024 -0700"
      },
      "message": "Update supported go versions\n\nClient: go\n\nWith the release of go 1.23, update supported go versions to 1.22+1.23\naccording to our go support policy.\n\nAlso update the code to use the new range loop feature introduced in go\n1.22 when appropriate.\n\nAlso fix a bug in TSSLServerSocket.Addr that it does not return the\nlistener address.\n"
    },
    {
      "commit": "a4ebb75faa3652d9d01f11d715f242305014eb4e",
      "tree": "558834563b3d34fc56b317dc180bdcf5ba3f6b86",
      "parents": [
        "d4503a1f0e62d38f7a12ba9748744c5490c915c4",
        "3ea763e068fbedf7b7b33b73ca294952543e7930"
      ],
      "author": {
        "name": "Mario Emmenlauer",
        "email": "mario@emmenlauer.de",
        "time": "Wed Aug 07 16:27:12 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 07 16:27:12 2024 +0200"
      },
      "message": "Merge pull request #2940 from thomasbruggink/fix-lib-cpp-security-tests\n\nTHRIFT-5706: lib/cpp Fix the Security tests on openssl 1.1 and 3.0"
    },
    {
      "commit": "d4503a1f0e62d38f7a12ba9748744c5490c915c4",
      "tree": "e6cb9e39a101988d6fd16b7883f19e43b7434c02",
      "parents": [
        "438fc822ffc10f85dc7d7a7d05a0f038231f458d"
      ],
      "author": {
        "name": "Marc Jakobi",
        "email": "marc.jakobi@tiko.energy",
        "time": "Thu Jul 25 10:59:03 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Aug 01 22:28:33 2024 +0200"
      },
      "message": "THRIFT-4847: CancelledKeyException causes TThreadedSelectorServer to fail\n"
    },
    {
      "commit": "438fc822ffc10f85dc7d7a7d05a0f038231f458d",
      "tree": "33b1c32fc9d8f7e5aae01179ea59dd3d60a3065f",
      "parents": [
        "3d02c0f94e858828e9251a57979172ae48d71b9d"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Jul 25 09:56:55 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jul 31 09:11:27 2024 -0700"
      },
      "message": "THRIFT-5800: Make non-exist include a failure when -strict is on\n"
    },
    {
      "commit": "3d02c0f94e858828e9251a57979172ae48d71b9d",
      "tree": "2589b6a204a07a6557c8d9918d44c74a7d608a8d",
      "parents": [
        "502a46a7374f4dc050a689f970fc06cf66210db0"
      ],
      "author": {
        "name": "Sven Roederer",
        "email": "S.Roederer@colvistec.de",
        "time": "Sat Jul 06 07:36:30 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Jul 25 11:59:25 2024 +0200"
      },
      "message": "GHA/build: bring lib-php job to same versions of artifact-action and ubuntu-image\n"
    },
    {
      "commit": "502a46a7374f4dc050a689f970fc06cf66210db0",
      "tree": "a4c86865e1463965d22a342bfeee70aa865ba0d1",
      "parents": [
        "18b0de6d658bdf7fe01dbded7a07863d09fb7be6"
      ],
      "author": {
        "name": "Sven Roederer",
        "email": "S.Roederer@colvistec.de",
        "time": "Sat Jul 06 05:56:05 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Jul 25 11:59:25 2024 +0200"
      },
      "message": "GHA: switch to ubuntu-22.04 as primary image\n\nUbuntu-20.04 will be EoL in 9 months, therefore let\u0027s use the next LTS version as default.\nImages for ubuntu-24.04 are available, so use them also for building the compiler.\n"
    },
    {
      "commit": "18b0de6d658bdf7fe01dbded7a07863d09fb7be6",
      "tree": "f32f4d5dd108230c99fcd2d1f79fc0f9b2a6db19",
      "parents": [
        "0bc2cb98d22d87a7af9ec3ccfa41383441a09629"
      ],
      "author": {
        "name": "Sven Roederer",
        "email": "S.Roederer@colvistec.de",
        "time": "Sat Jul 06 03:59:37 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Jul 25 11:59:25 2024 +0200"
      },
      "message": "GHA/build: upgrade artifact-actions from v3 to v4\n\nV3 is based on Node.js v16 and will get deprecated. Currently it\u0027s just causing a warning.\n\nWith v4 the artifact-upload action fails as all matrix-jobs use the same name and the\ndefault prevents overwriting existing ones. Therefore we use individual artifact names\nwhich will also preserve all logs, not just a singe one only.\n"
    },
    {
      "commit": "0bc2cb98d22d87a7af9ec3ccfa41383441a09629",
      "tree": "5ceb6ad31d299a5935e1a3d2b56b18b8ade67e82",
      "parents": [
        "0f0e11fbcee4f9230fdba6c7020c9f10fd09684a"
      ],
      "author": {
        "name": "Alexander Shadchin",
        "email": "shadchin@yandex-team.com",
        "time": "Sun Jul 21 23:27:26 2024 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Jul 24 22:07:07 2024 +0200"
      },
      "message": "Switch from `logger.warn` to `logger.warning`\n"
    },
    {
      "commit": "0f0e11fbcee4f9230fdba6c7020c9f10fd09684a",
      "tree": "f118c3828c91cdc1d4356a368178fff967b412c9",
      "parents": [
        "4ea20aafb5dac0e52cecf2aa376357d2a552be45"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Jul 19 00:44:43 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 20 22:36:10 2024 +0200"
      },
      "message": "THRIFT-5798 Expand netstd compile tests to fully cover all current target environments\nClient: netstd\nPatch: Jens Geyer\n\nThis closes #3008\n"
    },
    {
      "commit": "4ea20aafb5dac0e52cecf2aa376357d2a552be45",
      "tree": "7f81f81203a311863784b12c87f0f7d84baacd20",
      "parents": [
        "4ea44ac546c9545e134e65502e2467b08caf2bfa"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Jul 19 00:49:03 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jul 20 22:32:16 2024 +0200"
      },
      "message": "THRIFT-5796 Indicate target environment via #if check\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "4ea44ac546c9545e134e65502e2467b08caf2bfa",
      "tree": "91abcd0a1ed2c5f425b4cbde5bdcd6344e36fbb5",
      "parents": [
        "1e54480f5ff859434c5521004883a4098a7f2ea0"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Jul 19 00:49:03 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jul 19 23:03:21 2024 +0200"
      },
      "message": "THRIFT-5797 HashSet() CTOR takes no argument for net \u003c 5\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "1e54480f5ff859434c5521004883a4098a7f2ea0",
      "tree": "9eedd4fcc71fcfb49b14f6c3d82dfa7b7fe6392e",
      "parents": [
        "3caf963e489a88710484ff3f7adae5f7d2dc5b34"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 18 20:01:03 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jul 19 23:01:08 2024 +0200"
      },
      "message": "Bump ws from 5.2.3 to 5.2.4\n\nBumps [ws](https://github.com/websockets/ws) from 5.2.3 to 5.2.4.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/5.2.3...5.2.4)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "3caf963e489a88710484ff3f7adae5f7d2dc5b34",
      "tree": "098e130bae94e80d899286c5c8b19ca426408c63",
      "parents": [
        "32b58e5a8bf52f066f02b48917e4a4e44dd3d674"
      ],
      "author": {
        "name": "Sven Roederer",
        "email": "S.Roederer@colvistec.de",
        "time": "Tue Jul 16 14:46:18 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jul 18 22:35:48 2024 +0200"
      },
      "message": "Testcase for THRIFT-5794\nClient: netstd\nPatch: Sven Roederer \u0026 Jens Geyer\n\nThis closes #3000\nThis closes #2999\n"
    },
    {
      "commit": "32b58e5a8bf52f066f02b48917e4a4e44dd3d674",
      "tree": "0260017d1f40c59337dd88e92794bf94cde577cd",
      "parents": [
        "5b9ae5ee35481c8cb0d54318bf06d0672f1b6498"
      ],
      "author": {
        "name": "Sven Roederer",
        "email": "S.Roederer@colvistec.de",
        "time": "Thu Jul 18 15:25:33 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Jul 18 22:20:14 2024 +0200"
      },
      "message": "CI/appveyor: fix download location for flex-sdk\n\nCurrent build seem to fail on downloading flex-SDK. Use new location according to https://stackoverflow.com/a/21269691/19761878"
    },
    {
      "commit": "5b9ae5ee35481c8cb0d54318bf06d0672f1b6498",
      "tree": "0050e5dd62aaaf8a36d0164d662265c87ede4406",
      "parents": [
        "db37125c5fc1febd6ba6ab6454f375ec546a8664"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jul 18 03:20:40 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Jul 18 22:00:32 2024 +0200"
      },
      "message": "THRIFT-5795 namespace not properly escaped\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "db37125c5fc1febd6ba6ab6454f375ec546a8664",
      "tree": "93c4ce7ca1183ac862799dbad974f20eb5dcae16",
      "parents": [
        "86b05bf2294de5202f22033a2713f100c493b067"
      ],
      "author": {
        "name": "Chris Friedt",
        "email": "cfriedt@meta.com",
        "time": "Fri Jan 20 15:12:25 2023 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jul 13 15:29:20 2024 +0200"
      },
      "message": "lib: cpp: mitigate warnings due to non-virtual destructors\n\nCommit 042580f53441efe1bc5c80c89351fcb30740659e removed the\n`virtual` keyword from the declaration of `~TConnectedClient()`.\n\nWhile mostly benign, it does cause a warning in some versions\nof GCC, which can throw off CI sometimes when building with\n`-Werror`.\n\nSigned-off-by: Chris Friedt \u003ccfriedt@meta.com\u003e\n"
    },
    {
      "commit": "86b05bf2294de5202f22033a2713f100c493b067",
      "tree": "216dac132b1869a9ed5dcc68f8761f91b700e1bc",
      "parents": [
        "259107e0460300a5a546e6f4563034d5e3ecd156"
      ],
      "author": {
        "name": "Steve Licking",
        "email": "steve.licking@intel.com",
        "time": "Fri Dec 31 10:54:05 2021 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jul 09 21:33:46 2024 +0200"
      },
      "message": "THRIFT-5492: Add readEnd to TBufferedTransport\nclient: cpp\nPatch: Steve Licking\n"
    },
    {
      "commit": "259107e0460300a5a546e6f4563034d5e3ecd156",
      "tree": "55cd568451351f1a638652405f65786b3ee5f41f",
      "parents": [
        "1405831722ac0e1e1ba100801bf21073a0d17940"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Jul 03 14:25:34 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jul 03 22:17:09 2024 -0700"
      },
      "message": "Remove trailing space from compiler generated go code\n\nClient: go\n"
    },
    {
      "commit": "1405831722ac0e1e1ba100801bf21073a0d17940",
      "tree": "0b479a3c232e65c44ab1742aeb2e7568bffbcb04",
      "parents": [
        "0ed4a1deb441d71d928cf7fc58701ce1da6574dd"
      ],
      "author": {
        "name": "Charles Coulombe",
        "email": "charles.coulombe@calculquebec.ca",
        "time": "Mon Apr 15 20:29:50 2024 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jun 29 11:41:47 2024 +0200"
      },
      "message": "Use pip install instead of deprecated python setup.py install command\n"
    },
    {
      "commit": "0ed4a1deb441d71d928cf7fc58701ce1da6574dd",
      "tree": "00497c3c2e092b8519127c2bc8a3b1aaf19e0c8c",
      "parents": [
        "98a1ba250f4dd904d0d01388259baa147c7e3146"
      ],
      "author": {
        "name": "bwangelme",
        "email": "bwangel.me@gmail.com",
        "time": "Mon Apr 15 12:17:40 2024 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jun 29 11:38:21 2024 +0200"
      },
      "message": "THRIFT-5777: python fix mismatched timeout exceptions\n\nClient: [\"python\"]\n"
    },
    {
      "commit": "98a1ba250f4dd904d0d01388259baa147c7e3146",
      "tree": "fb37df69b7ec7a28b114b05abc5cf39fa546d448",
      "parents": [
        "f13d85afbeba44552cb5e574ba34610a243e4e62"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jun 28 22:48:37 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jun 29 11:37:06 2024 +0200"
      },
      "message": "Bump ws from 6.2.2 to 6.2.3 in /lib/js\n\nBumps [ws](https://github.com/websockets/ws) from 6.2.2 to 6.2.3.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/6.2.2...6.2.3)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "f13d85afbeba44552cb5e574ba34610a243e4e62",
      "tree": "0f25719285d5ff92e16da2de0d813bc38c922895",
      "parents": [
        "1252cf3a2f3b1d942c8c4713ed7b2cf35c64e547"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jun 29 00:35:54 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jun 29 00:47:45 2024 +0200"
      },
      "message": "THRIFT-5654 LNK4042 and LNK2019 in go_validator_generator.cc with VS2022\nPatch: Eyüp Volkan \u0026 Jens Geyer\n"
    },
    {
      "commit": "1252cf3a2f3b1d942c8c4713ed7b2cf35c64e547",
      "tree": "d28562ab261bb7f0382a178b6a6c616ba5300b29",
      "parents": [
        "14185fc65c8bde52a3961956ad086c4a653c9901"
      ],
      "author": {
        "name": "uv747",
        "email": "uv747@163.com",
        "time": "Sat May 11 11:14:25 2024 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 21 10:15:00 2024 +0200"
      },
      "message": "optimizing performance issues under large-scale connection\n"
    },
    {
      "commit": "14185fc65c8bde52a3961956ad086c4a653c9901",
      "tree": "f9055b5838f4b47122515a3d1495d933b945aa3c",
      "parents": [
        "ba30b077f41c8a85018bebd1331fe2e26af8c929"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 17 20:01:33 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Jun 18 22:01:22 2024 +0200"
      },
      "message": "Bump ws from 6.2.2 to 6.2.3 in /lib/ts\n\nBumps [ws](https://github.com/websockets/ws) from 6.2.2 to 6.2.3.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/6.2.2...6.2.3)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "ba30b077f41c8a85018bebd1331fe2e26af8c929",
      "tree": "0c89c20054b29ebba2db0ca137abbc984aaa3725",
      "parents": [
        "4b90909ddd51e6ff59c493a0f9a92de7fa9f5af2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 17 20:01:43 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Jun 18 22:01:11 2024 +0200"
      },
      "message": "Bump braces from 3.0.2 to 3.0.3 in /lib/ts\n\nBumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.\n- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: braces\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "4b90909ddd51e6ff59c493a0f9a92de7fa9f5af2",
      "tree": "845fd6242eba4c2e73e1a75fc9aef367396b406e",
      "parents": [
        "6944912b578e5ab2721af3ea2d0fdbab2951343d"
      ],
      "author": {
        "name": "CJCombrink",
        "email": "carel.combrink@gmail.com",
        "time": "Sat Apr 27 19:51:39 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Jun 17 22:26:56 2024 +0200"
      },
      "message": "THRIFT-5773 Strong UUID wrapper for C++\nClient: cpp/CMakeLists.txt\nPatch: Carel Combrink\n\nThis closes #2958\n"
    },
    {
      "commit": "6944912b578e5ab2721af3ea2d0fdbab2951343d",
      "tree": "1f6a028e5a77801825b104aac7d046a813eeb155",
      "parents": [
        "aeae628b49e397e5885fd221a282680979af9033"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Jun 16 09:53:07 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Jun 17 22:00:57 2024 +0200"
      },
      "message": "Bump braces from 3.0.2 to 3.0.3 in /lib/js\n\nBumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.\n- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: braces\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "aeae628b49e397e5885fd221a282680979af9033",
      "tree": "51eaef9c5af1d80541d9ea4ea134677bb660a94f",
      "parents": [
        "b709b0bc09e424ac71b5389bca606c1161a8d8fd"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Jun 10 11:39:23 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jun 14 08:24:22 2024 -0700"
      },
      "message": "go: Improve efficiency with zlib in THeaderTransport\n\nWhen enabled zlib in THeaderTransport we observed very high cpu\noverhead, use a pool for zlib writers to improve efficiency.\n"
    },
    {
      "commit": "b709b0bc09e424ac71b5389bca606c1161a8d8fd",
      "tree": "699fa84049b66a7998a576f21f7f1a7f9c6c8027",
      "parents": [
        "173714b0a9a310c41e2e1e6b79f14b74de38c5fc"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Jun 13 10:13:25 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jun 14 08:22:51 2024 -0700"
      },
      "message": "go: Fix indentation in compiler\n\nThis fixes a small case I missed in 4930caca.\n\nBefore:\n\n    func NewFoo() *Foo {\n        return \u0026Foo{\n        DefDef: 10,\n\n        DefOpt: 11,\n    }\n    }\n\nAfter:\n\n    func NewFoo() *Foo {\n        return \u0026Foo{\n            DefDef: 10,\n            DefOpt: 11,\n        }\n    }\n"
    },
    {
      "commit": "173714b0a9a310c41e2e1e6b79f14b74de38c5fc",
      "tree": "bef5441d569ec5b33681799ee5ce9ca704b96cdd",
      "parents": [
        "2bbaaa8714d729187d1542f225fe1027ecffac6c"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jun 11 22:15:17 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jun 11 22:17:21 2024 +0200"
      },
      "message": "FIX: features documentation\n"
    },
    {
      "commit": "2bbaaa8714d729187d1542f225fe1027ecffac6c",
      "tree": "1f3a1bd1221b8ca3c68e1736f420ba38bcdf6a61",
      "parents": [
        "5c580072dadb43c52c3e7a32ea12c78228de3ef1"
      ],
      "author": {
        "name": "Alkis Evlogimenos",
        "email": "alkis.evlogimenos@databricks.com",
        "time": "Mon May 27 16:16:02 2024 +0000"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jun 05 08:25:06 2024 -0700"
      },
      "message": "Update compact-protocol docs\nThis updates the compact protocol documentation to simplify the explanation of Zigzag and ULEB128 encoding, along with links to wikipedia. In addition it uses varing instead of var int since the former is more common.\n"
    },
    {
      "commit": "5c580072dadb43c52c3e7a32ea12c78228de3ef1",
      "tree": "d85ac3877be2b20b22b621c25028f92f845505ae",
      "parents": [
        "405fc72a60ca24102cd04e1a46d6ab0ddad5919f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Jun 01 06:57:34 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Jun 04 22:23:54 2024 +0200"
      },
      "message": "Bump org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 in /lib/kotlin\n\nBumps [org.jetbrains.kotlinx:kotlinx-coroutines-jdk8](https://github.com/Kotlin/kotlinx.coroutines) from 1.8.0 to 1.8.1.\n- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)\n- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)\n- [Commits](https://github.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1)\n\n---\nupdated-dependencies:\n- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-jdk8\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "405fc72a60ca24102cd04e1a46d6ab0ddad5919f",
      "tree": "3c14be3a0846b8bde393b5be46ca7eeb1e44ca8e",
      "parents": [
        "9673a68f93715d0efb7a91d32005cc78a477398e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jun 04 22:21:39 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jun 04 22:21:39 2024 +0200"
      },
      "message": "fix: TProtocol::skip fix parameter type\nClient: php\nPatch: Ilya Urvachev \u0026 Volodymyr Panivko\n\nThis closes #2983\n"
    },
    {
      "commit": "9673a68f93715d0efb7a91d32005cc78a477398e",
      "tree": "a1fce9bcb90c7393ee4a3eb437afb4b3caa9f1e8",
      "parents": [
        "9c0bdcb5197f1ebc5b404313f2ee7edd865a5a47"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu May 16 17:16:22 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed May 29 09:27:13 2024 -0700"
      },
      "message": "THRIFT-5786: Full deprecation support in go\n\nClient: go\n\nThis should got most of them. Also fixed an indentation bug from 4930ca.\n"
    },
    {
      "commit": "9c0bdcb5197f1ebc5b404313f2ee7edd865a5a47",
      "tree": "5473e1e2b80354333cc35afc90c0a619811a57e5",
      "parents": [
        "82fc93e6c36312fc0c016a70163206e4eead21ac"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 25 08:58:48 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 25 08:59:08 2024 +0200"
      },
      "message": "THRIFT-5788 Refactor and streamline hash set implementation\nClient: delphi\nPatch: Jens Geyer\n\nFollow-up: fix memory leak\n"
    },
    {
      "commit": "82fc93e6c36312fc0c016a70163206e4eead21ac",
      "tree": "3c08aabdc4f1ee819f9f8fcfd4e96ca6ae0601ac",
      "parents": [
        "da5ef3637eb078bf3f411c2b3d14b91b84837230"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 24 23:36:07 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 25 00:24:23 2024 +0200"
      },
      "message": "THRIFT-5789 Refactor test suite client implementation\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "da5ef3637eb078bf3f411c2b3d14b91b84837230",
      "tree": "a1b5e6f61d08b4f01fd4879dfa2e9e42e89f4848",
      "parents": [
        "55014bad62e03ebd1e02cd7f12bdcc48780bcff9"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 24 21:09:42 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 25 00:23:55 2024 +0200"
      },
      "message": "THRIFT-5788 Refactor and streamline hash set implementation\nClient: delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "55014bad62e03ebd1e02cd7f12bdcc48780bcff9",
      "tree": "4d3b9352e0db7ef36d942f686a3f7e61788140d9",
      "parents": [
        "b429cc9fa197b9da45f98f14efcf03bf84f02307"
      ],
      "author": {
        "name": "Steven Mitcham",
        "email": "smitcham@blizzard.com",
        "time": "Wed May 22 13:30:37 2024 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 23 21:56:42 2024 +0200"
      },
      "message": "THRIFT-5787 restoring binary compatibility of Factory constructor\nClient: netstd\nPatch: Steven Mitcham\n\nThis closes #2979\n"
    },
    {
      "commit": "b429cc9fa197b9da45f98f14efcf03bf84f02307",
      "tree": "31640e64a3c921c94555ec55a921656cd34d3f2b",
      "parents": [
        "4930caca8beb340b6543dd27856d3699dce40e54"
      ],
      "author": {
        "name": "Nicholas La Roux",
        "email": "nicholas.laroux@shopify.com",
        "time": "Fri May 17 11:09:09 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri May 17 22:56:02 2024 +0200"
      },
      "message": "Remove deprecated has_rdoc from gemspec\n"
    },
    {
      "commit": "4930caca8beb340b6543dd27856d3699dce40e54",
      "tree": "2b90e616d2612198187a5e8fcc9250e6c97e2430",
      "parents": [
        "c53a1b78bac23cdda13feb13b6d3348c11083007"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue May 14 14:08:00 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed May 15 09:24:25 2024 -0700"
      },
      "message": "go: Proper indent in compiler\n\nThis is a \"trivial\" change for go compiler to always use the combination\nof indent_up, indent_down, and indent, over manual indentation (by\nadding 2 spaces at the beginning of the string). Also change go\ncompiler\u0027s indent_str to tab over 2 spaces.\n\nWhile I\u0027m here, also made a few minor tweaks on generated go code.\n"
    },
    {
      "commit": "c53a1b78bac23cdda13feb13b6d3348c11083007",
      "tree": "5783337081462a1a62c8d481fff0308de41cef20",
      "parents": [
        "b20f675af7ef0103a880889447a166e0e4261926"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon May 13 17:03:17 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon May 13 17:04:57 2024 +0200"
      },
      "message": "THRIFT-5781 implement full deprecation support -\u003e fix uncompileable issue at deprecated enums\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "b20f675af7ef0103a880889447a166e0e4261926",
      "tree": "a8c45d19986510302979e2394e10076fd4af7f76",
      "parents": [
        "fa9af0ab69affaefaf80ecf60a9a0392a4ac8609"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu May 02 16:50:08 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri May 10 10:25:01 2024 -0700"
      },
      "message": "THRIFT-5784: Add THeaderTransforms to TConfiguration\n\nClient: go\n\nWhile I\u0027m here, also auto add compression transforms read (currently\nonly zlib is supported) to writeTransforms so that a server will auto\nuse the same compression on the responses as the client chose to use in\nthe requests.\n"
    },
    {
      "commit": "fa9af0ab69affaefaf80ecf60a9a0392a4ac8609",
      "tree": "75996f27d5010b7206f63cc95914d0c5325404f2",
      "parents": [
        "42dbefb023369747bf6135588599bbeeae9e8ef2"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu May 09 17:58:43 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri May 10 07:36:58 2024 -0700"
      },
      "message": "go: Use errors.Is over \u003d\u003d\n\nClient: go\n\nFix 2 instances we are using \u003d\u003d to check on error but should have used\nerrors.Is instead.\n"
    },
    {
      "commit": "42dbefb023369747bf6135588599bbeeae9e8ef2",
      "tree": "41a14e3cadcc8c11019b6b434c41580a0c0054f5",
      "parents": [
        "0341323059119c7cb4d27839e92b2108875a7b03"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 02 10:28:38 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 02 21:51:46 2024 +0200"
      },
      "message": "THRIFT-5782 implement full deprecation support\nClient: Delphi\nPatch: Jens Geyer\n\nFIX: end-of-line comments may cause uncompileable code\n"
    },
    {
      "commit": "0341323059119c7cb4d27839e92b2108875a7b03",
      "tree": "ca976e4be77afb2e731eb44b4e39f1f18b254dd1",
      "parents": [
        "91d37026c3cd746a70d59bc9881d1a2cd94cf890"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed May 01 18:49:15 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu May 02 09:31:26 2024 +0200"
      },
      "message": "THRIFT-5783 drop net7 support\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "91d37026c3cd746a70d59bc9881d1a2cd94cf890",
      "tree": "a1cf4cf3bd68367e57a43f103fba403dc2efc683",
      "parents": [
        "344498b67f42af38118cc250b0b1ec212f09d927"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed May 01 09:17:09 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed May 01 09:34:06 2024 -0700"
      },
      "message": "Revert \"go: Define a bytePool for TRichTransport\"\n\nThis reverts commit 344498b67f42af38118cc250b0b1ec212f09d927.\n\nIn our extreme case this actually made things worse. On 30s cpu\nprofiles, although mallocgc reduced from 27.13s to 26.30s, the byte pool\nitself costed 11.9s. Looking at writeByte and readByte, writeByte\nincreased from 3.69s to 5.89s, and readByte increased from 11.36s to\n16.09s.\n"
    },
    {
      "commit": "344498b67f42af38118cc250b0b1ec212f09d927",
      "tree": "08513ae4f9a9e16e2786b542d444acfba449c4da",
      "parents": [
        "c3d8a4ef61b439464cd2d5c417a6ceb03e6cafb1"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Apr 29 15:16:39 2024 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Apr 30 10:54:50 2024 -0700"
      },
      "message": "go: Define a bytePool for TRichTransport\n\nClient: go\n\nTBinaryProtocol and TCompactProtocol (and as an extension,\nTHeaderProtocol) use TRichTransport\u0027s ReadByte/WriteByte functions a lot\nunder the hood, and in some extreme cases those ReadByte/WriteByte calls\ncan generate a lot of allocations for the byte they used.\n\nUse a resource pool to help reduce the allocations.\n"
    },
    {
      "commit": "c3d8a4ef61b439464cd2d5c417a6ceb03e6cafb1",
      "tree": "a1cf4cf3bd68367e57a43f103fba403dc2efc683",
      "parents": [
        "4f1839575f3af168f960110414114255bd344203"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Apr 27 00:08:15 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Apr 27 01:10:59 2024 +0200"
      },
      "message": "THRIFT-5782 implement full deprecation support\nClient: Delphi\nPatch: Jens Geyer\n\nplus a minor netstd fix\n"
    },
    {
      "commit": "4f1839575f3af168f960110414114255bd344203",
      "tree": "9c93963343718af6e2718da951354b83f5dfb337",
      "parents": [
        "3dfe0af4203ed261359acddc18062ff90a492d63"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Apr 26 00:23:35 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Apr 26 02:25:46 2024 +0200"
      },
      "message": "THRIFT-5781 implement full deprecation support\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "3dfe0af4203ed261359acddc18062ff90a492d63",
      "tree": "fa04bcde9433dc3ca00e05072b4b525297bd9f44",
      "parents": [
        "4a280d56cca90296228ca29c7c582fa423d74e1f"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Apr 24 23:54:45 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Apr 25 00:24:42 2024 +0200"
      },
      "message": "THRIFT-5780 Prevent certain warnings related to net8\nClient: netstd\nPatch: Jens Geyer\n\nThis closes #2965\n"
    },
    {
      "commit": "4a280d56cca90296228ca29c7c582fa423d74e1f",
      "tree": "24d3efa12d96f2948ecbbf1b372c0faf7a369eb7",
      "parents": [
        "68139d117fdf4d287a78819a5bb4b0f9cab8160c"
      ],
      "author": {
        "name": "CJCombrink",
        "email": "carel.combrink@gmail.com",
        "time": "Thu Mar 14 19:57:41 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 15 22:37:44 2024 +0200"
      },
      "message": "THRIFT-5766 Replace std::endl with \"\\n\"\nPatch: Carel Combrink\n\nThis closes #2943\n"
    },
    {
      "commit": "68139d117fdf4d287a78819a5bb4b0f9cab8160c",
      "tree": "81438335b9d70fcb550722467bf628700b6ba640",
      "parents": [
        "1d886ca4afc1a52b03f09a526f0a354722a5621c"
      ],
      "author": {
        "name": "Volodymyr Panivko",
        "email": "sveneld300@gmail.com",
        "time": "Tue Mar 19 23:14:07 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Apr 07 22:52:47 2024 +0200"
      },
      "message": "[THRIFT-5757] Unit tests for php lib\nClient: php\nPatch: Volodymyr Panivko\n\nThis closes #2951\n"
    },
    {
      "commit": "1d886ca4afc1a52b03f09a526f0a354722a5621c",
      "tree": "8ec1af5dfb851c8e6bc9b277e9ae1868032b1e41",
      "parents": [
        "381d86e71e9f2352bca48af918ca790e5b50889a"
      ],
      "author": {
        "name": "CJCombrink",
        "email": "carel.combrink@gmail.com",
        "time": "Sat Mar 23 21:32:28 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Apr 07 22:41:58 2024 +0200"
      },
      "message": "THRIFT-5772: UUID support for c++ #2952\nClient: cpp\nPatch: CJCombrink\n\nThis closes #2952\n"
    },
    {
      "commit": "381d86e71e9f2352bca48af918ca790e5b50889a",
      "tree": "b22427e429148446b7820397f4580905c563ce67",
      "parents": [
        "85ea59366d75b92eb6f42c09406f15071c50b89c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 02 20:39:41 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 02 20:39:41 2024 +0800"
      },
      "message": "Bump org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 in /lib/kotlin (#2941)\n\nBumps [org.jetbrains.kotlinx:kotlinx-coroutines-jdk8](https://github.com/Kotlin/kotlinx.coroutines) from 1.7.3 to 1.8.0.\r\n- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)\r\n- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)\r\n- [Commits](https://github.com/Kotlin/kotlinx.coroutines/compare/1.7.3...1.8.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-jdk8\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-minor\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "85ea59366d75b92eb6f42c09406f15071c50b89c",
      "tree": "d5984be8bdd6b451d1dacd326411f19b4e6e43a9",
      "parents": [
        "63f04583e389e7afee330f0341e045a73cdb1979"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Apr 02 14:23:42 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Apr 02 14:23:56 2024 +0200"
      },
      "message": "Updated ReleaseManagement.md according to THRIFT-5755 changes\n"
    },
    {
      "commit": "63f04583e389e7afee330f0341e045a73cdb1979",
      "tree": "58bc0d1ce220eb8e0c12844543a745d23a68eb7f",
      "parents": [
        "f6972f1a29cb3c94929f5eecef816e65bed755ef"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Thu Mar 21 22:51:07 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Manually remove $(BUILT_SOURCES) since no-dist-built-sources doesnt work\n"
    },
    {
      "commit": "f6972f1a29cb3c94929f5eecef816e65bed755ef",
      "tree": "2682919df885bf87a1c515c19e44d1e9805a683d",
      "parents": [
        "5f563e9f8dd5bb047bfbabe21cd96fd391796983"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Sun Mar 17 10:06:24 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Fix EXTRA_DIST in php make file\n"
    },
    {
      "commit": "5f563e9f8dd5bb047bfbabe21cd96fd391796983",
      "tree": "f718aaf2dae9abf1d34c294ad5f2db83baf9d390",
      "parents": [
        "f8431856ed4f8c525b141397c2f1ae226c776b1f"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Wed Mar 06 23:26:22 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Fix haxe setup, allow root users to be used and check for existing users\n"
    },
    {
      "commit": "f8431856ed4f8c525b141397c2f1ae226c776b1f",
      "tree": "ea872f19a09320fe3a2d3b8135dbdac501488cd2",
      "parents": [
        "f515517951fde5a6b82306245498a2be159a0ca3"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Tue Mar 05 23:21:05 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Update readme version table\n"
    },
    {
      "commit": "f515517951fde5a6b82306245498a2be159a0ca3",
      "tree": "811fcdf05a2ae5bb72e3d378bcc2a04805883a08",
      "parents": [
        "6768584bbddf8ca081fdac1ed3a61f90265df2b5"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Tue Mar 05 22:13:22 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Add specific PHP versions and additional dependencies\n"
    },
    {
      "commit": "6768584bbddf8ca081fdac1ed3a61f90265df2b5",
      "tree": "09e4c41f218cd1164e290212ad2f5cafac24d3c5",
      "parents": [
        "fd29ab160a18192cbb8eaa94201c2e095e1416d5"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Mon Mar 04 21:32:26 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Add Haxe and fix rust\n"
    },
    {
      "commit": "fd29ab160a18192cbb8eaa94201c2e095e1416d5",
      "tree": "5daa6da270f843e026589528444b4968e27dd5fc",
      "parents": [
        "fb92b73c7b8293b1458765983c58ce736dbf5e89"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Wed Feb 28 20:40:30 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Update GO in docker containers to 1.21\n"
    },
    {
      "commit": "fb92b73c7b8293b1458765983c58ce736dbf5e89",
      "tree": "7895cfe9d9a0d085d7a802a9d8a15999658bbcaf",
      "parents": [
        "c890ed41ca957b851cd7e33c038fea7799e3b19d"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Wed Feb 28 19:27:41 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Remove `old/` directory from `build/docker` since its not maintained/used\n"
    },
    {
      "commit": "c890ed41ca957b851cd7e33c038fea7799e3b19d",
      "tree": "49b47c52c0cc8642e01d29558203cac2920d3028",
      "parents": [
        "2adfd14c02383c006f4e1cf64ab3e22b61fb5bf7"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Sun Feb 25 19:58:30 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "THRIFT-5755 Docker image build fail\n\nThis PR submits fixes to the focal and jammy docker images.\n\n* Bionic support was dropped becaused dotnet 8 no longer supports bionic\n(Ubuntu 18.04). Moved to `old/` like other unmaintained images.\n* Focal/Jammy used the wrong apt location for dotnet, endpoint was 18.04\n  instead of 20.04/22.04\n* Jammy cannot build Erlang OPT 23 since it depends on OpenSSL 1.1\n  which was dropped in favor of 3.0. Using Erlang OPT 25 fixes the\n  problem since it depends on OpenSSL 3.0\n* Jammy was installing JDK 11 but lib/java requires Java 17\n\nAll containers used the `root` used to volume map the local files into\nthe running container. This creates a hard to maintain working directory\non Linux and MacOS since files form the local user and root user are\nmixed.\nTo solve this the new docker files can be build using the UID and GID of\nthe host so the files dont mix. The script uses UID and GID 1000 since\nthese are the default ids for most Linux distros.\n\nChange the travis yml to build with 20.04 instead of 18.04. Removed all\ntraces of 18.04 but it cant be tested locally.\n\nUpdated the README to reflect the new `build/docker/` directory.\n"
    },
    {
      "commit": "2adfd14c02383c006f4e1cf64ab3e22b61fb5bf7",
      "tree": "c4e4454e334c9594ff534879c76cd5e9719588ba",
      "parents": [
        "fcddf0803d9c7a7cb9ddb2915ae1c480db8c76b9"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 01 22:44:14 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:04:17 2024 +0200"
      },
      "message": "THRIFT-5750 Remove \"ansistr_binary_\" option\nClient: delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "fcddf0803d9c7a7cb9ddb2915ae1c480db8c76b9",
      "tree": "d4f13278bc210f79e8ecd2cc8a22476b2940118d",
      "parents": [
        "f8852dc61ea6bab5ecee4729341645cfecdce8c6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 01 06:20:43 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Apr 01 10:31:03 2024 +0200"
      },
      "message": "Bump jvm from 1.9.22 to 1.9.23 in /lib/kotlin\n\nBumps [jvm](https://github.com/JetBrains/kotlin) from 1.9.22 to 1.9.23.\n- [Release notes](https://github.com/JetBrains/kotlin/releases)\n- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.23/ChangeLog.md)\n- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.22...v1.9.23)\n\n---\nupdated-dependencies:\n- dependency-name: jvm\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "f8852dc61ea6bab5ecee4729341645cfecdce8c6",
      "tree": "0da776b84dd7c8155c1f08fa4a9ddac924bfb778",
      "parents": [
        "564dbfc6fb9edb733435aacb048b5a798968f7d7"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 31 15:42:16 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 31 15:42:16 2024 +0200"
      },
      "message": "Upgraded dockerfile reference to Win64OpenSSL-1_1_0l.exe\n"
    },
    {
      "commit": "564dbfc6fb9edb733435aacb048b5a798968f7d7",
      "tree": "837063032e1dbc4e6894b47ab60b472e87591ff7",
      "parents": [
        "aa04bb94023416cf644fce285111224f18074c95"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 31 15:36:04 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 31 15:36:04 2024 +0200"
      },
      "message": "Upgraded appveyor dockerfile reference to zlib to 1.2.13\nPatch: JensG\n"
    },
    {
      "commit": "aa04bb94023416cf644fce285111224f18074c95",
      "tree": "2ae5263f15fd7d8bfec226766a0277365dbdb08b",
      "parents": [
        "9bd1f1bee7bf59080492bbd3213ca1fed57ab4d6"
      ],
      "author": {
        "name": "Volodymyr Panivko",
        "email": "sveneld300@gmail.com",
        "time": "Mon Mar 18 22:26:00 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Mar 30 22:22:44 2024 +0100"
      },
      "message": "[THRIFT-5757] Unit tests for php lib\n"
    },
    {
      "commit": "9bd1f1bee7bf59080492bbd3213ca1fed57ab4d6",
      "tree": "cac8d19d9e30c0627dffdedad08007f4998bcc28",
      "parents": [
        "f5396ed9dd8186fb73e13b911859b056c810c5c0"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 23 00:53:56 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 23 00:53:56 2024 +0100"
      },
      "message": "We have 2024\n"
    },
    {
      "commit": "f5396ed9dd8186fb73e13b911859b056c810c5c0",
      "tree": "73a173106b6cbe5ed843038315af2d3f995be61d",
      "parents": [
        "28260982599cf3de90bb34af6589d8ddbf7bedce",
        "0d0ac75347267f7c12fc9b5b349bf9ef7f632347"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Mar 22 23:54:45 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Mar 22 23:54:45 2024 +0100"
      },
      "message": "Merge branch \u00270.20.0\u0027\n"
    },
    {
      "commit": "28260982599cf3de90bb34af6589d8ddbf7bedce",
      "tree": "1f3ac97e9f093a9450ca571902378604c4d5f096",
      "parents": [
        "4233d75289cbd39581def1706ed3ac589f416992"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Fri Mar 15 19:08:16 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 22 22:49:03 2024 +0100"
      },
      "message": "THRIFT-5762 Fix spotless errors\n\nRun `gradlew :spotlessApply` to apply the correct coding style.\n\nUpdate kotlin compiler to support `getEmptyResultInstance`\n\nhttps://github.com/apache/thrift/pull/2939 added the feature to create\nan instance of the result object without having to use the\nProcessFunction.\nThe Kotlin compiler re-uses the java lib so this commit udpates the\nKotlin compiler to support this feature as well.\n"
    },
    {
      "commit": "4233d75289cbd39581def1706ed3ac589f416992",
      "tree": "9d728516c79b71136699884b4275a8ce955e9612",
      "parents": [
        "a9b14634991cb50dbe90bbeb27b16e2d2f7ddcc6"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Sun Mar 17 09:45:38 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 22 00:30:43 2024 +0100"
      },
      "message": "THRIFT-5768 Add missing test in configure.ac for kotlin\n\nThe Kotlin autoconfig script was missing a `test` causing it to try and\nexecute `x/usr/local/bin/gradle` instead of test for its existence. This\nresulted in the following error:\n```\n./configure: line 15049: x/usr/local/bin/gradle: No such file or directory\n```\n\nAdding `test` results in the configuration succeeding. Configure output\nnow:\n```\nthrift 0.21.0\n\nBuilding C (GLib) Library .... : yes\nBuilding C++ Library ......... : yes\nBuilding Common Lisp Library.. : yes\nBuilding D Library ........... : yes\nBuilding Dart Library ........ : yes\nBuilding .NET Standard Library : yes\nBuilding Erlang Library ...... : yes\nBuilding Go Library .......... : yes\nBuilding Haxe Library ........ : yes\nBuilding Java Library ........ : yes\nBuilding Kotlin Library ...... : yes\nBuilding Lua Library ......... : yes\nBuilding NodeJS Library ...... : yes\nBuilding Perl Library ........ : yes\nBuilding PHP Library ......... : yes\nBuilding Python Library ...... : yes\nBuilding Py3 Library ......... : yes\nBuilding Ruby Library ........ : yes\nBuilding Rust Library ........ : yes\nBuilding Swift Library ....... : yes\n```\n"
    },
    {
      "commit": "a9b14634991cb50dbe90bbeb27b16e2d2f7ddcc6",
      "tree": "13f3f68d7168970b59e54a248a823ebaeb6b376d",
      "parents": [
        "b60b8feb5f0ff8e439069132e9081d89cf7cbf6c"
      ],
      "author": {
        "name": "k-walton",
        "email": "113375522+k-walton@users.noreply.github.com",
        "time": "Mon Mar 18 18:26:27 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 18 15:26:27 2024 -0700"
      },
      "message": "THRIFT-5767: use string builder to parse strings with escaped quotes (#2946)\n\nClient: Go"
    },
    {
      "commit": "b60b8feb5f0ff8e439069132e9081d89cf7cbf6c",
      "tree": "8697023703fd9c91710de6fbf746185917ab81d5",
      "parents": [
        "0e7236391f9ac7482f2e62a8c30155e015a80aa9"
      ],
      "author": {
        "name": "Tuomo Jokimies",
        "email": "tuomo.jokimies@supercell.com",
        "time": "Mon Mar 18 16:56:25 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Mar 18 21:41:35 2024 +0100"
      },
      "message": "THRIFT-5769: fix invalid size error on large messages\n\nClient: nodejs\n"
    },
    {
      "commit": "0e7236391f9ac7482f2e62a8c30155e015a80aa9",
      "tree": "19cad2650c19b3f27745c766abee7eec75859fe3",
      "parents": [
        "99130046c424a19d244314103e2500963c192563"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Mar 12 23:21:00 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Mar 12 23:22:18 2024 +0100"
      },
      "message": "Add \"my own +1 vote\" paragraph to mail template\n"
    },
    {
      "commit": "0d0ac75347267f7c12fc9b5b349bf9ef7f632347",
      "tree": "4761c710c4a0de8e6db4c8b7672523409f25710b",
      "parents": [
        "417eafd480324a596e080be6801da60575350496"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Mar 12 21:49:28 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Mar 12 22:33:15 2024 +0100"
      },
      "message": "Preparing 0.20.0\n"
    },
    {
      "commit": "99130046c424a19d244314103e2500963c192563",
      "tree": "10438a5b15dc6cc44cdcc0c1cdc719e4418900d6",
      "parents": [
        "58c2785d7cef9d70b6a78c872f51fba5152cf77d"
      ],
      "author": {
        "name": "Volodymyr Panivko",
        "email": "sveneld300@gmail.com",
        "time": "Sat Mar 02 21:41:01 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Mar 12 19:02:50 2024 +0100"
      },
      "message": "[THRIFT-5757] Unit tests for php lib\n"
    },
    {
      "commit": "58c2785d7cef9d70b6a78c872f51fba5152cf77d",
      "tree": "2828ed7053817136fa05311851a6eb40c0f87d67",
      "parents": [
        "9bd8f1e1acb23cb3ef134291e56b2605a7356b04"
      ],
      "author": {
        "name": "Tobias Weihs",
        "email": "t.weihs@mint-medical.de",
        "time": "Fri Sep 09 11:21:45 2022 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 08 18:35:34 2024 +0100"
      },
      "message": "expose qt5 targets if available\n"
    },
    {
      "commit": "9bd8f1e1acb23cb3ef134291e56b2605a7356b04",
      "tree": "751284ffbae61b284f4109130cb9ec969d06041f",
      "parents": [
        "4f56007baf46d4aa87eb7f8e5e34b773235c729a"
      ],
      "author": {
        "name": "Lukas Barth",
        "email": "mail@tinloaf.de",
        "time": "Tue Apr 04 16:25:06 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 08 18:31:11 2024 +0100"
      },
      "message": "Fix ODR violations in cases where templates are involved\n"
    },
    {
      "commit": "4f56007baf46d4aa87eb7f8e5e34b773235c729a",
      "tree": "a098ccbc26ef91b95270c7ec92cd16f5f5ab0a34",
      "parents": [
        "16105fa1a1bb9ae633b805fcb7af3c7757beb6e0"
      ],
      "author": {
        "name": "Lukas Barth",
        "email": "mail@tinloaf.de",
        "time": "Mon Mar 06 11:37:09 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 08 18:31:11 2024 +0100"
      },
      "message": "Always generate an initializer list\n"
    },
    {
      "commit": "16105fa1a1bb9ae633b805fcb7af3c7757beb6e0",
      "tree": "c47a6d7e51f14dcc82cd0012dc64605f1376eba5",
      "parents": [
        "cedcd0e6424a08dd6feeb2533810054c9aca2a9e"
      ],
      "author": {
        "name": "Lukas Barth",
        "email": "mail@tinloaf.de",
        "time": "Fri Feb 24 13:46:58 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 08 18:31:11 2024 +0100"
      },
      "message": "Move generate_default_constructor call into generate_struct_definition\n\nThis makes sure that helper structs like _args and _result also have\ntheir default constructors defined.\n"
    },
    {
      "commit": "cedcd0e6424a08dd6feeb2533810054c9aca2a9e",
      "tree": "58af0cacfa2df2796a115bbf31893927f9d60056",
      "parents": [
        "f02ac2fb573bed72e9a2d1875807c6ff7ac19ec8"
      ],
      "author": {
        "name": "Lukas Barth",
        "email": "mail@tinloaf.de",
        "time": "Wed Feb 08 10:11:48 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 08 18:31:11 2024 +0100"
      },
      "message": "Factor out duplicated code into helper function\n"
    },
    {
      "commit": "f02ac2fb573bed72e9a2d1875807c6ff7ac19ec8",
      "tree": "38d928d572d45117e00779c59d199da9e728e3ad",
      "parents": [
        "b53fa8e14b352431036a1902d6cebbc06de97244"
      ],
      "author": {
        "name": "Lukas Barth",
        "email": "mail@tinloaf.de",
        "time": "Wed Feb 08 09:33:03 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 08 18:31:11 2024 +0100"
      },
      "message": "Move default constructor and operator\u003d\u003d implementation to CPP file\n\nBoth the default constructor and operator\u003d\u003d implementations reference\ncertain member functions of the class\u0027 members. As an example, the default\nconstructor references (i.e., \"uses\") the default constructors of its\nmembers.\n\nIf a class contains a std::vector\u003cFoo\u003e, and Foo has only been *forward*-\ndeclared (which happens often in Thrift-generated code), this creates\nundefined behavior: The std::vector specification states that as long as\nFoo is an incomplete type, it is fine to reference std::vector\u003cFoo\u003e, but\nnot any members (such as its default constructor).\n\nThus, we must defer our default constructor\u0027s implementation (which references\nthe default constructor of std::vector\u003cFoo\u003e) to a point where Foo is a\ncomplete type. That is the case in the .cpp file.\n\nThe same holds for operator\u003d\u003d.\n"
    },
    {
      "commit": "b53fa8e14b352431036a1902d6cebbc06de97244",
      "tree": "29118975720d460fa8cc7c84c164681e88f15cf7",
      "parents": [
        "16819268870b20e0d761426a49a14d81fccb9b8c"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Mar 08 00:33:22 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Mar 08 00:33:36 2024 +0100"
      },
      "message": "THRIFT-5765 Extra override for WriteBinary() to avoid unnecessary memory allocations when using COM types\nClient: Delphi\nPatch: JensG\n"
    },
    {
      "commit": "16819268870b20e0d761426a49a14d81fccb9b8c",
      "tree": "c06f7fd1f5448a2971074b12105666e2f5162317",
      "parents": [
        "b6cf04941f29ecb4c44ab10ba1c4df3e8bccbaec"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Mar 07 23:01:20 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Mar 07 23:09:04 2024 +0100"
      },
      "message": "THRIFT-5764 Extra CTOR for TThriftBytesImpl\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "b6cf04941f29ecb4c44ab10ba1c4df3e8bccbaec",
      "tree": "97eb91d293ea751a4856fd7d26101ed1daf4651a",
      "parents": [
        "da2ef3486ba5c0f27e470f010590b14d330f799a"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Sun Feb 25 18:05:38 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Mar 06 00:53:58 2024 +0100"
      },
      "message": "THRIFT-5762 Expose service result objects in Java\n\nSome libraries want to bypass the TServer class and handle the full\nservice startup manually. For example when building a service that hosts\nmultiple thrift services where the IFace type is unknown when handling a\nrequest.\n\nFor example when you host multiple services on top of netty and through\nan HTTP path you want to route to the correct thrift service. In this\nsituation you treat can treat an IFace as an Object and use the\n`getProcessMapView()` method to parse a byte array into a thrift message\nand pass let the `AsyncProcessFunction` handle the invocation.\n\nTo return a correct thrift response it\u0027s necessary to write the\n`{service_name}_result` that contains the response args.\nWhile it is possible to get an incoming args object from the\n(Async)ProcessFunction its unfortunately not possible to get\na result object without using reflection.\n\nThis PR extends the (Async)ProcessFunction by adding a\n`getEmptyResultInstance` method that returns a new generic `A` (answer)\nthat matches the `{service_name}_result` object.\n\nThis allows thrift users to write the following processing code:\n```java\n\u003cI\u003e void handleRequest(\n        TProtocol in,\n        TProtocol out,\n        TBaseAsyncProcessor\u003cI\u003e processor,\n        I asyncIface\n) throws TException {\n    final Map\u003cString, AsyncProcessFunction\u003cObject, TBase\u003c?, ?\u003e, TBase\u003c?, ?\u003e, TBase\u003c?, ?\u003e\u003e\u003e processMap \u003d (Map) processor.getProcessMapView();\n    final var msg \u003d in.readMessageBegin();\n    final var fn \u003d processMap.get(msg.name);\n\n    final var args \u003d fn.getEmptyArgsInstance();\n    args.read(in);\n    in.readMessageEnd();\n\n    if (fn.isOneway()) {\n        return;\n    }\n\n    fn.start(asyncIface, args, new AsyncMethodCallback\u003c\u003e() {\n        @Override\n        public void onComplete(TBase\u003c?, ?\u003e o) {\n            try {\n                out.writeMessageBegin(new TMessage(fn.getMethodName(), TMessageType.REPLY, msg.getSeqid()));\n                final var response_result \u003d fn.getEmptyResultInstance();\n                final var success_field \u003d response_result.fieldForId(SUCCESS_ID);\n                ((TBase) response_result).setFieldValue(success_field, o);\n                response_result.write(out);\n                out.writeMessageEnd();\n                out.getTransport().flush();\n            } catch (TException e) {\n                throw new RuntimeException(e);\n            }\n        }\n\n        @Override\n        public void onError(Exception e) {\n            try {\n                out.writeMessageBegin(new TMessage(fn.getMethodName(), TMessageType.EXCEPTION, msg.getSeqid()));\n                ((TApplicationException) e).write(out);\n                out.writeMessageEnd();\n                out.getTransport().flush();\n            } catch (TException ex) {\n                throw new RuntimeException(ex);\n            }\n        }\n    });\n}\n```\nThe above example code doesn\u0027t need any reference to the original types\nand can dynamically create the correct objects to return a correct\nresponse.\n"
    }
  ],
  "next": "3ea763e068fbedf7b7b33b73ca294952543e7930"
}
