)]}'
{
  "log": [
    {
      "commit": "3f6d8a57ceaf055062334b422b5a32cdee1598fc",
      "tree": "54e4bbe7f164a1a236e4ba5c0edc803e3fecf460",
      "parents": [
        "28553fab40f6485edbb86fcfb8285a66e823e1db"
      ],
      "author": {
        "name": "Hasnain Lakhani",
        "email": "m.hasnain.lakhani@gmail.com",
        "time": "Mon Aug 25 09:24:10 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 25 09:24:10 2025 -0700"
      },
      "message": "[nit] Avoid dispatching to parent when not needed in c_glib implementation (#3149)\n\nAs titled. This avoids dispatching calls up to the parent implementation if there isn\u0027t one, saving a hop.\n\n\u003c!-- We recommend you review the checklist/tips before submitting a pull request. --\u003e\n\n- [x] Did you create an [Apache Jira](https://issues.apache.org/jira/projects/THRIFT/issues/) ticket?  ([Request account here](https://selfserve.apache.org/jira-account.html), not required for trivial changes)\n- [ ] If a ticket exists: Does your pull request title follow the pattern \"THRIFT-NNNN: describe my issue\"?\n- [ ] Did you squash your changes to a single commit?  (not required, but preferred)\n- [ ] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with \"Breaking-Change\"?\n- [ ] If your change does not involve any code, include `[skip ci]` anywhere in the commit message to free up build resources.\n\nI tested this by:\n\n* Building the compiler\n* Building the c_glib tutorial server and client\n* Verifying that the client/server interaction works as previously expected\n* Inspecting the generated code and noticing shared_service.c does not have the code to dispatch to its parent anymore, while the calculator.c implementation does. "
    },
    {
      "commit": "52fea29d496838da1ef11d83f110ac100720e37b",
      "tree": "e2b5eebe511b5ab2c9b155e7a1e3d3aea9fdeefa",
      "parents": [
        "458eb327a7a652e554551d66e3db12e483c4fc91"
      ],
      "author": {
        "name": "Hasnain Lakhani",
        "email": "m.hasnain.lakhani@gmail.com",
        "time": "Fri Aug 01 20:19:16 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 01 20:19:16 2025 -0700"
      },
      "message": "[rust] Gracefully handle error upon receiving incompatible enum (#3181)\n\n Improve the code generator so that Rust code, when receiving an union with an invalid field ID, can gracefully return an error."
    },
    {
      "commit": "d128eb64b5c675892482ce57c51db97c3313d9e1",
      "tree": "434b3e4c830e8bd77492ea83e5fe0a515af60f9d",
      "parents": [
        "28113f4d9cf98b93164ad60d49b761237b222e45"
      ],
      "author": {
        "name": "NN",
        "email": "580536+NN---@users.noreply.github.com",
        "time": "Wed May 28 16:23:01 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Jun 12 23:33:24 2025 +0200"
      },
      "message": "Generate swap noexcept"
    },
    {
      "commit": "f0f72d8e7e99341b37916ed3c7762602394d54a4",
      "tree": "376869bb9bf5af0beb74daa1c63f0b9a76bae234",
      "parents": [
        "ae342c2a36d815b34a545f4dc0de870c6d13ea4a"
      ],
      "author": {
        "name": "jrhee17",
        "email": "guins_j@guins.org",
        "time": "Mon Mar 24 07:38:05 2025 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jun 10 22:12:25 2025 +0200"
      },
      "message": "Add the ability to access type annotations for Java\nClient: java\nPatch: jrhee17 \u003cguins_j@guins.org\u003e\n\nThis closes #3114\n"
    },
    {
      "commit": "80cd45a49636c3d34de1ef8a7391a9d886c259fa",
      "tree": "586b09847cc8f3556e98319d547962e41b5c5bfa",
      "parents": [
        "12fe8e42cd77b499b0cb91fa1be431268e12745c"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Wed Apr 23 22:50:07 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Introduce nominal types\n"
    },
    {
      "commit": "12fe8e42cd77b499b0cb91fa1be431268e12745c",
      "tree": "8cd34685a84e7cfd8a252dda5e24bcf5e9621519",
      "parents": [
        "132a501444d4c4aa0c2631b16c78b3f42390f63c"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Wed Apr 16 13:52:18 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Unify constant name generation\n"
    },
    {
      "commit": "132a501444d4c4aa0c2631b16c78b3f42390f63c",
      "tree": "360da9646d91a46f6666ed5e5c08a25f514ce63e",
      "parents": [
        "f248ad2cde5f7f70d14fa4add85cc23d8a3f91da"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Wed Apr 16 09:48:08 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Use enum\u0027s const name instead of value (avoid magic number)\n"
    },
    {
      "commit": "f248ad2cde5f7f70d14fa4add85cc23d8a3f91da",
      "tree": "e52a763426716b4a830cc1a47aa6579233654709",
      "parents": [
        "100d200ed7989db974c97c0e258b93669bc3fff6"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Tue Apr 15 21:20:07 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Deduplicate render type\n"
    },
    {
      "commit": "100d200ed7989db974c97c0e258b93669bc3fff6",
      "tree": "2fc4381d06d3490aafa5e4348cbd8d18b69f802f",
      "parents": [
        "42f3587d9d4cd1c747a68b7de2fd75dabca31ac0"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Tue Apr 15 21:03:06 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Generate base type\n"
    },
    {
      "commit": "42f3587d9d4cd1c747a68b7de2fd75dabca31ac0",
      "tree": "a080ab8e5969ff809e12b3a5fe03b66746ec65e1",
      "parents": [
        "e4ccfcb973f85f4ada6bf5ccda092c0efd139848"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Tue Apr 15 15:43:47 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Generate type declaration from typdef\n\nRemove type erasure from type definition and strictly follow type definitions.\n"
    },
    {
      "commit": "e4ccfcb973f85f4ada6bf5ccda092c0efd139848",
      "tree": "222586972b3ca848c6d0eea95283a9da46fd7c83",
      "parents": [
        "1a835684c44d37079c211def7b123acd72c08b5b"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Tue Apr 15 14:16:57 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Improve enum generation for Erlang\n\nNotable changes:\n  * Added comment for every enum\n  * Introduce type for enum\n  * Restrict enum type values to defined by user instead of just by type\n"
    },
    {
      "commit": "1a835684c44d37079c211def7b123acd72c08b5b",
      "tree": "02ace3f5e3874d6cb481d2a74599b0f17f890bbf",
      "parents": [
        "039c89a84265d76415db3901377b08af8e69ce9a"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Tue Apr 15 13:02:02 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Comment exception as exception (not struct), use original name\n"
    },
    {
      "commit": "039c89a84265d76415db3901377b08af8e69ce9a",
      "tree": "29cedbe1b8e36bed7b18e70d17519096ea6a3507",
      "parents": [
        "a420a24cbac98cc78fdffd8efc43cc64146d49e0"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Mon Apr 14 19:58:02 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jun 06 21:46:46 2025 +0200"
      },
      "message": "Fix map type\n"
    },
    {
      "commit": "1b8a998b938e5d21665d445f2e52ba9186c8ec4d",
      "tree": "b8110ebd2ef1dcf902bdef56581328a229519d90",
      "parents": [
        "ef6a6c282a659a3e80add7e2d23ddb6855df34e2"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed May 21 10:47:40 2025 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed May 21 11:52:56 2025 -0700"
      },
      "message": "Put field name in error message for set duplication check on write\n\nClient: go\n\nBefore:\n\n    thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf(\"%T error writing set field: slice is not unique\", p.Foo))\n\nAfter:\n\n    thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf(\"%T error writing set field %q: slice is not unique\", p.Foo, \"p.Foo\"))\n\nCurrently when there are more than one field inside a struct being sets\nand this error happens, it\u0027s impossible to tell which field contains\nduplications to cause this error.\n"
    },
    {
      "commit": "e73b238faa0baa7ab7f6600bc1529a550586c6b9",
      "tree": "4bcc819cffe8449b0369314f3e8e64313ada9f24",
      "parents": [
        "94e1a308973d617b19c07acbda3d8844132a04f7"
      ],
      "author": {
        "name": "Hasnain Lakhani",
        "email": "m.hasnain.lakhani@gmail.com",
        "time": "Sat May 17 21:18:33 2025 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon May 19 22:18:49 2025 +0200"
      },
      "message": "[nit] Use more consistent free method in c_glib generated code for binary types\n"
    },
    {
      "commit": "c79d1cc179e5cc0792d012961e32d5acebc6eb5b",
      "tree": "a683fe7bcb26147871cb85bed16ef74c29865a45",
      "parents": [
        "e402bb05e45145db0e78f459e07bde446662b04c"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed May 14 22:08:35 2025 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed May 14 22:08:35 2025 +0200"
      },
      "message": "Branch 0.22.0 created\n"
    },
    {
      "commit": "b3fc4b224258e4bf154bf774746f0d2554edb90c",
      "tree": "14049300eb6fd8a4d56d63a9f91ddf993799afda",
      "parents": [
        "5e6d1b747a4de9ba0ff7b2b8746bce5fb2b0dfc5"
      ],
      "author": {
        "name": "Vyas Ramasubramani",
        "email": "vyas.ramasubramani@gmail.com",
        "time": "Sun Apr 20 13:57:06 2025 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Apr 27 22:18:35 2025 +0200"
      },
      "message": "Update minimum required CMake version for CMake 4.0 compatibility\n"
    },
    {
      "commit": "c5c0e6effed33b076b558f42c52ec5fcb26a208e",
      "tree": "4133aa248c4261ae1999b1a93ccbc82b249d3f59",
      "parents": [
        "32ce699a5ccfdb7125e9ac69959859233cfa629e"
      ],
      "author": {
        "name": "Sergey Yelin",
        "email": "elinsn@gmail.com",
        "time": "Fri Apr 04 10:38:57 2025 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Apr 09 22:19:44 2025 +0200"
      },
      "message": "Minor Erlang generator improvements\n\nChanges:\n* Comment unions with \u0027union\u0027 in Erlang\n* Add string type definition strategy\n* Add support for new sets implementation\n* Respect new string and set strategy in constant and default values\n"
    },
    {
      "commit": "b28a4c48cd03d3e637a409f7f980d372a3251907",
      "tree": "cceffdddaaf79ac20373909a0ce371c0cdb46ceb",
      "parents": [
        "cd0dabbed7ed0517d97e0a4e1b373306f61b71a8"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Mar 26 12:02:12 2025 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Mar 26 14:22:49 2025 -0700"
      },
      "message": "THRIFT-5859: Generate a values iterator for enum types for go\n\nClient: go\n\nThe generated code looks like this:\n\n    type Foo int64\n\n    const (\n    \tFoo_One Foo \u003d 1\n    \tFoo_Two Foo \u003d 2\n    )\n\n    var knownFooValues \u003d []Foo{\n    \tFoo_One,\n    \tFoo_Two,\n    }\n\n    func FooValues() iter.Seq[Foo] {\n    \treturn func(yield func(Foo) bool) {\n    \t\tfor _, v :\u003d range knownFooValues {\n    \t\t\tif !yield(v) {\n    \t\t\t\treturn\n    \t\t\t}\n    \t\t}\n    \t}\n    }\n"
    },
    {
      "commit": "09ced04f42a227aeef16675235e0fa3a5adabc40",
      "tree": "0002adeacd061662544b66a3ab20ba80239cdc58",
      "parents": [
        "6cb35b284578db4187023b8037291a1f5364025d"
      ],
      "author": {
        "name": "Asjad Syed",
        "email": "asjadsyed@users.noreply.github.com",
        "time": "Mon Mar 10 18:24:53 2025 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Mar 12 23:14:44 2025 +0100"
      },
      "message": "THRIFT-5024: Replace removed @gen.engine with @gen.coroutine\nClient: py\nPatch: Asjad Syed\n\nThis closes #3111\n"
    },
    {
      "commit": "21ed4a2f690fb8547593c64df376b97a877b1675",
      "tree": "b3e982418c841da81144f02da583d797e5e9cc5d",
      "parents": [
        "aee3f637bef38f69b6b52140bca6448d1f617633"
      ],
      "author": {
        "name": "Cameron Martin",
        "email": "cameronm@graphcore.ai",
        "time": "Mon Apr 22 11:08:19 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Mar 05 22:17:54 2025 +0100"
      },
      "message": "THRIFT-5811: Add ESM support to nodejs codegen\nClient: nodejs\nPatch: Cameron Martin \u003ccameronm@graphcore.ai\u003e\n\nThis closes #3083\n\nThis adds a flag to the JS generator to output ES modules instead of CommonJS. This is only valid when targeting node. A lot of the changes here are to test this.\n\nThe `testAll.sh` script now generates an ES module version of the services and types, and tests the client and the server with these. This has a few knock-on effects. Firstly, any module that imports a generated ES module must itself be an ES module, since CommonJS modules cannot import ES modules. ES modules also do not support `NODE_PATH`, so instead the tests directory is converted into a node package with a `file:` dependency on the root thrift package.\n"
    },
    {
      "commit": "aee3f637bef38f69b6b52140bca6448d1f617633",
      "tree": "4f33eb0be53e01550b5f6813bd7b2cfefad420c0",
      "parents": [
        "fdaca5ec85540eb81c574c178ac777f069b641eb"
      ],
      "author": {
        "name": "Carel Combrink",
        "email": "carel.combrink@gmail.com",
        "time": "Thu Sep 05 18:26:42 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Mar 05 22:12:50 2025 +0100"
      },
      "message": "THRIFT-5817: [C++] Avoid copy of TUuid\nClient: cpp\nPatch: Carel Combrink\n\nThis closes #3038\n"
    },
    {
      "commit": "5903c721bfc97b60aed02e9521a881bc6d5b81db",
      "tree": "f7bde77da95fcb00b5cfb95d578f286486983fb7",
      "parents": [
        "eec0b584e657e4250e22f3fd492858d632e2aa7b"
      ],
      "author": {
        "name": "Alkis Evlogimenos",
        "email": "alkis.evlogimenos@databricks.com",
        "time": "Wed Sep 04 12:55:32 2024 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Feb 19 21:18:26 2025 +0100"
      },
      "message": "Add `no_constructors` option to C++ compiler\n"
    },
    {
      "commit": "93c15c202247892fd7378ef19a346ff13e201263",
      "tree": "19f0c7c1303b28fb9191959fad5b157b2617f7cd",
      "parents": [
        "a45618e05bbb2d29737514541b6d61f6850d9b16"
      ],
      "author": {
        "name": "Hasnain Lakhani",
        "email": "m.hasnain.lakhani@gmail.com",
        "time": "Sun Feb 02 16:58:28 2025 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Feb 03 22:22:04 2025 +0100"
      },
      "message": "Various build fixes for clang and rust\n"
    },
    {
      "commit": "d078721e44fea7713832ae5d0f5d9ca67317f19e",
      "tree": "2aa232e808ef697980b1cbc6f1c9c198c62d12b6",
      "parents": [
        "da54fc814cb872bf5ae782364760dfbc4fe414d8"
      ],
      "author": {
        "name": "Alexandre Detiste",
        "email": "alexandre.detiste@gmail.com",
        "time": "Thu Dec 26 02:44:13 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Jan 15 22:27:26 2025 +0100"
      },
      "message": "remove more Python2 compatibility\n"
    },
    {
      "commit": "da54fc814cb872bf5ae782364760dfbc4fe414d8",
      "tree": "0fd9278650e195848a2304da4be8585f9ece2dd0",
      "parents": [
        "ab706525762816953a07982ffa432bb913337c46"
      ],
      "author": {
        "name": "Cameron Martin",
        "email": "cameronmartin123@gmail.com",
        "time": "Sun Jan 12 08:55:45 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 12 16:55:45 2025 +0800"
      },
      "message": "THRIFT-5819: use latest rustc version for rustlib (#3085)\n\nClient: rust\n\nThis upgrades the version of rust in the rust-toolchain file, docs and dockerfiles. Doing so requires a few changes to the source, mainly to fix or silence new warnings.\n\nSubmitted on behalf of a third-party: Jiayu Liu\nDerived from the following PR: https://github.com/apache/thrift/pull/3045\n\nCo-authored-by: Jiayu Liu \u003cjiayu@hey.com\u003e"
    },
    {
      "commit": "e10109c65c25c10e1641a539fe0e0ac6b3a72a75",
      "tree": "dbedf3ccee0cfd4eee9c3a40f4acc787f9014371",
      "parents": [
        "947ad66940cfbadd9b24ba31d892dfc1142dd330"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Jan 09 09:39:37 2025 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jan 10 09:18:23 2025 -0800"
      },
      "message": "THRIFT-5845: Return TException for union check in Write\n\nClient: go\n\nIn compiler generated Write method for union types, return a TException\n(TProtocolException) when the number of fields set is not exactly 1, to\nhelp customer logic to decide whether to reuse a connection after an\nerror.\n\nWhile I\u0027m here, also do the same thing for the uniqueness check failure\nfor set fields in Write as well.\n"
    },
    {
      "commit": "bb8cac570441e543265fd2402a162a5a889a216f",
      "tree": "741661852777499d0d07bad54329ed909ce397a8",
      "parents": [
        "0825ca31e664817168c83e46e494718640227066"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Sat Dec 28 21:56:46 2024 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Jan 06 22:37:25 2025 +0100"
      },
      "message": "Update generated array style\n\nC-style array declarations (e.g. `Foo foos[]`) is discouraged by the JLS. Java style (e.g., `Foo[] foos`) should be preferred."
    },
    {
      "commit": "d8cd883a9ac315d982afbeaa2aefcef296165915",
      "tree": "b63a9746562270bbf0afe4a77cbd36f28f4269de",
      "parents": [
        "eb684d34853c9a8ab7a2759c1c88ae3dfa1b0ef6"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 10 01:02:46 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Dec 10 01:28:09 2024 +0100"
      },
      "message": "THRIFT-5837 FIX: error: unused parameter etc\nPatch: Jens Geyer\n"
    },
    {
      "commit": "eb684d34853c9a8ab7a2759c1c88ae3dfa1b0ef6",
      "tree": "7d7b6ce963797d45401fa0ad394162c696dc49c2",
      "parents": [
        "f54bdbd9a865df1058ef8056f43f37fbd691b9a2"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Sun Jul 28 15:32:23 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 10 00:37:16 2024 +0100"
      },
      "message": "THRIFT-4386 Add Lua 5.3/5.4 support\nClint: lua\nPatch: Thomas Bruggink\n\nThis closes #3012\n"
    },
    {
      "commit": "e9f63e0bbdc9316f57dd2458c27ff18ed1df60fe",
      "tree": "74a294ab3c5d917997c5aa874640b699788441a9",
      "parents": [
        "39ce210f66e3a642590030559b4afc306db896fb"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 23 01:01:13 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Nov 25 22:05:05 2024 +0100"
      },
      "message": "THRIFT-5837 Delphi implementation for THRIFT-5835\nClient: Delphi\nPatch: Jens Geyer\n\nThis closes #3068\n"
    },
    {
      "commit": "39ce210f66e3a642590030559b4afc306db896fb",
      "tree": "b56ba13d43107af0853054444ef474f214da4cf5",
      "parents": [
        "58d9ff5afbed3602bd7edfc0d1c038be67d06ab7"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 16 10:40:55 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Nov 23 16:14:20 2024 +0100"
      },
      "message": "THRIFT-5835 Allow exceptions to be used as regular struct datatype\nInitial feature testcase added, compiler checks disabled.\nPatch: Jens Geyer\n"
    },
    {
      "commit": "e26b4a83847175db15b08cd51fc796f5e39e37fe",
      "tree": "33a497f611059fcbc5a489e12e4c31a7fffa4e15",
      "parents": [
        "23e0e5ce75300451f49727ee438edbc76fcbb372"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Nov 12 23:53:04 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Nov 22 23:25:49 2024 +0100"
      },
      "message": "THRIFT-5832 Drop net6 support and add net9 instead\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "c8cf304919f31c2132e1aa64fea4dfa08fe1bed9",
      "tree": "9511cef51f233249905f226a2ce0db7d93ca99b0",
      "parents": [
        "a085b0ecee74cf2102496264fe51a0dfe026f6f5"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Nov 14 15:25:18 2024 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Nov 15 10:08:56 2024 -0800"
      },
      "message": "THRIFT-5833: Add ProcessorError\n\nClient: go\n\nProvide ProcessorError as the combined error of write i/o error and\noriginal error returned by the endpoint implementation, and update\ncompiler to use that in Process functions.\n"
    },
    {
      "commit": "56c4b159f885bd931a27f1a8b78b12696638b17f",
      "tree": "4b04674a7e9065b6cff889bb1abff291248c23ab",
      "parents": [
        "bddaaffb456d4797235d1e90c2cff0386349143a"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 25 00:33:11 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Oct 25 23:15:24 2024 +0200"
      },
      "message": "THRIFT-5827 enums in typedefs are not resolved in all cases\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "bddaaffb456d4797235d1e90c2cff0386349143a",
      "tree": "b353c2f00d77d6c90e4f8469083f2ca534dd6d49",
      "parents": [
        "61080c673f90429566b5c47d8324b80aba3c4da2"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 25 00:33:36 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Oct 25 23:15:24 2024 +0200"
      },
      "message": "Removed superfluous method decls\n"
    },
    {
      "commit": "0f0243e1f0d4a97ad1abf05fa516acf2952811ac",
      "tree": "e6f73bf5984b5756bb6627e1483c3fd636e59ed1",
      "parents": [
        "665e931278d83bd8c6ff4ce6b01203d7bb452fe4"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Oct 20 17:52:28 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Oct 21 22:24:20 2024 +0200"
      },
      "message": "THRIFT-5826 binary constants create uncompilable Delphi code\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "665e931278d83bd8c6ff4ce6b01203d7bb452fe4",
      "tree": "8a81e6509e1cdc24d7ea5568148b83e2e6a4d11b",
      "parents": [
        "a5d84e59297bb7c72e6ebe1a5b5df23762f1357f"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Oct 20 18:32:47 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Oct 21 22:24:20 2024 +0200"
      },
      "message": "FIX: TException name conflict\n"
    },
    {
      "commit": "a5d84e59297bb7c72e6ebe1a5b5df23762f1357f",
      "tree": "c6782741fe6562c8c36799d739d176293a25950b",
      "parents": [
        "8b6d29d3ee7fb1bece7be1eb728e2e88e867cc2b"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Oct 17 22:56:48 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Oct 18 18:36:33 2024 +0200"
      },
      "message": "THRIFT-5825 UUID constants lead to uncompileable Delphi code\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "8b6d29d3ee7fb1bece7be1eb728e2e88e867cc2b",
      "tree": "2d37674ca8d44d5038651fea4c1336083f47e360",
      "parents": [
        "a4d458fdf3668acb6823d42d97dcba62b48bd6af"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 11 01:47:42 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Oct 14 23:03:57 2024 +0200"
      },
      "message": "THRIFT-5823 Fix illegal uses of exceptions as normal struct type\nPatch: Jens Geyer\n\nThis closes #1928\n"
    },
    {
      "commit": "eae0536c83a166bfdac0016a8b964777b16796da",
      "tree": "669f305573eb30e72bd56b54b1b57b39f2d2db90",
      "parents": [
        "c368c3afccef1e4a6bc408d564e2d996a808e47a"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Oct 13 01:46:47 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Oct 13 01:48:28 2024 +0200"
      },
      "message": "fix a whole bunch of TAB indents\n"
    },
    {
      "commit": "ef199ccbc2a56831bbacc436fff1de49fa7aac16",
      "tree": "ec1b9ec9588c6e1e5f6a4655deacd111f2556448",
      "parents": [
        "467c6bdcb14f1fcdfb416df92b76ca9e5abbdc90"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 03 01:28:31 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 03 01:33:19 2024 +0200"
      },
      "message": "bump version number\n"
    },
    {
      "commit": "5fc920dac710f6eee0417f58e65f91886ae704eb",
      "tree": "aa0f6654928534b4905d7f4a522b175adc537aed",
      "parents": [
        "d80bb575cb664529e506318c751c411282bb9526"
      ],
      "author": {
        "name": "adrianhelvikspond",
        "email": "adrian.helvik@spond.com",
        "time": "Wed Jul 31 09:02:14 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Aug 28 09:06:19 2024 +0200"
      },
      "message": "Fix JS property/method collisions for fields enamed read/write\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "51e541eae3850889f9d698b14dc0cd8b5de1b6f0",
      "tree": "3278b344a9976f6eae85f64cb8f25a9afcd0ada0",
      "parents": [
        "875178c0ab11c9463936b95980397087530b8cb8"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Nov 21 16:42:00 2023 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Feb 06 16:02:56 2024 -0800"
      },
      "message": "THRIFT-5745: Implement slog.LogValuer on go TStructs\n\nClient: go\n\nImplement slog.LogValuer for all TStruct and TException generated by the\ncompiler for go code. Also add SlogTStructWrapper in the library so we\ndon\u0027t have to repeat it in the compiler generated go code.\n"
    },
    {
      "commit": "75cf93ed22264fecaa79e82f05fa9f02d49fc58b",
      "tree": "ad7e483b593040fadd747648624c844ceeef3b58",
      "parents": [
        "0c637d7aa553a52b11bf92855448a20914d59817"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 04 14:50:37 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 04 14:50:37 2024 +0100"
      },
      "message": "bump version number\n"
    },
    {
      "commit": "9d96f200adca6a273590db40c0c68b7f743fd8bb",
      "tree": "6ee076eb497d417eed000a55f12e7ce13801f6f2",
      "parents": [
        "7d4c7fa69b8a8fcb6d013141edeaae85182a28d7"
      ],
      "author": {
        "name": "adrianhelvikspond",
        "email": "adrian.helvik@spond.com",
        "time": "Mon Jan 22 10:23:25 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Jan 24 23:33:13 2024 +0100"
      },
      "message": "Fix ambigous typescript definitions\n"
    },
    {
      "commit": "7d4c7fa69b8a8fcb6d013141edeaae85182a28d7",
      "tree": "dfab69a41f32fec570917d1b304de4db9b6c198e",
      "parents": [
        "7507fa01c22a81858b8df96ee4377251f794e2db"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Jan 21 15:43:11 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Jan 22 08:55:31 2024 +0100"
      },
      "message": "THRIFT-5750 deprecate \"ansistr_binary_\" option\nClient: delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "7507fa01c22a81858b8df96ee4377251f794e2db",
      "tree": "661c47528f7a3661b41cac4df46ee7a3f6b1ff45",
      "parents": [
        "8238364c6b25b8d3769660c87b44afb12ee251a5"
      ],
      "author": {
        "name": "Pavel Kvach",
        "email": "pavel.kvach@gmail.com",
        "time": "Thu Jan 11 10:01:01 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jan 19 23:15:13 2024 +0100"
      },
      "message": "THRIFT-5753 PHP 8.1 deprecated warning about return type in jsonSerialize functions\n"
    },
    {
      "commit": "5cf71b2beec3c67a4c8452ddabbbc6ae43fff16f",
      "tree": "0bc2c3df0680bac8e75befbea0ff39c661b89708",
      "parents": [
        "f1584f5f61abe5197aace042e4e3da5f322250c4"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Dec 18 11:44:55 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Dec 18 22:23:34 2023 +0100"
      },
      "message": "THRIFT-5749 Option to enable RTTI info (2nd attempt)\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "93222f62dc1d38b27c7b9200f32b6ae9b5f5c1aa",
      "tree": "a8a137629f05517808791b3f769c187a4e23abe3",
      "parents": [
        "20e3124caefaee9922a6598b7c983ae7d49862a8"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Dec 15 16:03:48 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Dec 16 02:50:09 2023 +0100"
      },
      "message": "THRIFT-5749 Option to enable RTTI info\nClient: Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "4115e952b5bed2887113af053b63acd3a03c6e19",
      "tree": "fcf8a0012a246b7fac5b745b37fb291876cf6e54",
      "parents": [
        "a06eedcbfc80c11b751d7cad20e3d9940b2bff67"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Nov 21 23:00:01 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Nov 23 19:51:35 2023 +0100"
      },
      "message": "THRIFT-5746 Upgrade to net8\nClient: netstd\nPatch: Jens Geyer\n"
    },
    {
      "commit": "b6b6dc715c0073af76de8244191b18c43ed4d24d",
      "tree": "ad872a3b832d1ab5a1427949b5ba735f7b693100",
      "parents": [
        "653d184a840dee4221d8fbf88b91ec6318cd2684"
      ],
      "author": {
        "name": "Jiayu Liu",
        "email": "jiayu.liu@airbnb.com",
        "time": "Sat Oct 08 14:28:44 2022 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Oct 12 22:38:37 2023 +0200"
      },
      "message": "rust to add uuid support\n"
    },
    {
      "commit": "7b8c04273f12e2464903556f322cdb407ba45981",
      "tree": "29440b45baa0b721efa0e6dbc766e0a7e022906b",
      "parents": [
        "a14231c6980e4e5fafc4acb61f0cabd7f385e354"
      ],
      "author": {
        "name": "Biswapriyo Nath",
        "email": "nathbappai@gmail.com",
        "time": "Thu Oct 05 20:05:13 2023 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Oct 07 18:32:33 2023 +0200"
      },
      "message": "Fix building with gcc 13\n\nThis fixes the following compiler error.\n\nt_js_generator.cc:48:14: error: \u0027int64_t\u0027 does not name a type\n   48 | static const int64_t max_safe_integer \u003d 0x1fffffffffffff;\n      |              ^~~~~~~\nt_js_generator.cc:50:14: error: \u0027int64_t\u0027 does not name a type\n   50 | static const int64_t min_safe_integer \u003d -max_safe_integer;\n      |              ^~~~~~~\n"
    },
    {
      "commit": "bc9c04d8049d7d5f5cf4e63a25226c1fb8c930bf",
      "tree": "1e24ad265012616f1d0dd63be84e1604855612ef",
      "parents": [
        "407630f28089be2580809332e9f15078fce4be7e"
      ],
      "author": {
        "name": "Jeff Alder",
        "email": "49817386+jeffalder@users.noreply.github.com",
        "time": "Mon Sep 25 12:57:20 2023 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Sep 26 00:10:12 2023 +0200"
      },
      "message": "THRIFT-5738: Remove unused variable\n"
    },
    {
      "commit": "50787cc0b090f3efc6a3a503dbdbe21ad9254a40",
      "tree": "ec9f6ff93dce5b43695e389850bf35351580b400",
      "parents": [
        "346aa81899dec2c2a63a7b7ace97341a5ef783dc"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 02 23:56:46 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Sep 03 10:56:26 2023 +0200"
      },
      "message": "THRIFT-5734 generated code may lack required capitalization at class names\nCLient: haxe\nPatch: Jens Geyer\n"
    },
    {
      "commit": "346aa81899dec2c2a63a7b7ace97341a5ef783dc",
      "tree": "a2704e7433b5f8e839894291dbb46549a9a2d759",
      "parents": [
        "54bdf8d71c902a0fc8639076a87139799e2aac60"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 02 22:24:07 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Sep 03 10:53:47 2023 +0200"
      },
      "message": "THRIFT-5733 Building code with circular includes crashes Thrift compiler\nPatch: Jens Geyer\n\nThis closes #2851\n"
    },
    {
      "commit": "0e872c84aaa49fe9ce72123827f666c0064f0c97",
      "tree": "296e6159ad904138e807cc96abbb4a6b5d90d9a1",
      "parents": [
        "166a2136ca62b21b813f55c84fc7f0afc32dad9c"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Aug 09 15:06:37 2023 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Aug 09 16:03:22 2023 -0700"
      },
      "message": "THRIFT-5731: Handle ErrAbandonRequest automatically\n\nAlso add a test to verify the behavior.\n\nThe test helped me to found a bug in TSimpleServer that didn\u0027t handle\nthe ErrAbandonRequest case correctly, so fix the bug as well.\n\nclient: go\n"
    },
    {
      "commit": "0d5b4f9fa1e9b69c1f8da9a68f2a7eb2c734662b",
      "tree": "31b8d8bbe69b3b4270481467224252f7547b4f46",
      "parents": [
        "bccca9301dedd6403062ef6be4c56533f889e5b5"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 08 12:49:11 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 08 12:49:11 2023 +0200"
      },
      "message": "created reöease branch 0.19.0\n"
    },
    {
      "commit": "ff9850eda6b9e00cffe4e07bc7f56c50851cd06e",
      "tree": "3c6d826edacdae83277bf1010059825ca697d877",
      "parents": [
        "3abf7ecbda08629673828895a99cfa07920a0a5b"
      ],
      "author": {
        "name": "Katie Atkinson",
        "email": "katie.atkinson@reddit.com",
        "time": "Mon Jun 12 12:23:56 2023 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jul 07 16:26:00 2023 -0700"
      },
      "message": "THRIFT-5715 Python Exceptions mutable with slots\n\nIn Python 3.11 exceptions generated by the compiler can\u0027t be used with a\ncontext manager because they are immutable. As of Python 3.11\n`contextlib.contextmanager` sets `exc.__traceback__` in the event that\nthe code in the context manager errors.\n\nAs of Thrift v0.18.1 exceptions are generated as immutable by default.\nSee [PR#1835](https://github.com/apache/thrift/pull/1835) for more\ninformation about why exceptions were made immutable by default.\n\nThis change makes all non-Thrift fields mutable when slots is used\nwithout dynamic. This will allow exceptions to be re-raised properly by\nthe contextmanager in Python 3.11.\n"
    },
    {
      "commit": "284e6b30b8d6fe4522daf0c6982aa7eac8b8d01e",
      "tree": "785b4f0a688959ab8621fee2724a1b8174d7e48b",
      "parents": [
        "774b824ef3b22f3184d76d5f33d45d27c168f6db"
      ],
      "author": {
        "name": "Roshan Rajan",
        "email": "roshan.rajan@ziphq.com",
        "time": "Mon Jun 26 18:03:03 2023 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Thu Jul 06 08:20:35 2023 -0700"
      },
      "message": "Use Enum not Enum.name in Struct serialization/deserialization\n"
    },
    {
      "commit": "b2c5805b40645ab9713d895535d37296b91fc1ef",
      "tree": "35086f73503c6593f51219987f8d70b31a19f752",
      "parents": [
        "e497030b494b0fbdb662593ac58003a49a26048c"
      ],
      "author": {
        "name": "Roshan Rajan",
        "email": "roshan.rajan@ziphq.com",
        "time": "Mon Jun 26 18:03:03 2023 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Thu Jun 29 09:51:19 2023 -0700"
      },
      "message": "Fix typename for value in map for python gen code\n"
    },
    {
      "commit": "d1d8ae29e64a2486d49025b631076789f0b9bd86",
      "tree": "9ccce79b7ba7ccbff619717bb52cd35d59d7fe09",
      "parents": [
        "a2a1f535813511aa274ed328b2318cb2beb7bb08"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jun 17 22:03:28 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jun 17 22:24:19 2023 +0200"
      },
      "message": "THRIFT-5717 uuid sets and map keys may throw on some Haxe targets\nClient: hx\nPatch: Jens Geyer\n"
    },
    {
      "commit": "285e39c2422935d80442c0952d88315354f2ac64",
      "tree": "8276b888346dfc1277d27da593e032334294dc8f",
      "parents": [
        "cfede863143810bb8b59e3cb67c532c72bc25bd1"
      ],
      "author": {
        "name": "nicolasb29",
        "email": "nicolas.bonamy2@gmail.com",
        "time": "Thu May 25 23:59:11 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 17:59:11 2023 -0400"
      },
      "message": "THRIFT-5700: Migrate to JakartaEE and Apache HttpComponents 5 (#2746)\n\n- Migrate to JakartaEE and Apache HttpComponents 5\r\n- Modify C code to choose which namespace choose for \"Generated\" annotations (jakarta by default)\r\n"
    },
    {
      "commit": "cfede863143810bb8b59e3cb67c532c72bc25bd1",
      "tree": "c58fc2f9fb24f5049235d48a6469ccd5e5330f49",
      "parents": [
        "5a19e433fbca97b53593f2cf0f4bdc878ea05e0a"
      ],
      "author": {
        "name": "Bogdan Drutu",
        "email": "bogdandrutu@gmail.com",
        "time": "Mon May 22 14:38:41 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 17:38:41 2023 -0400"
      },
      "message": "Cleanup extend client logic for sync and async clients (#2808)\n\nSigned-off-by: Bogdan Drutu \u003cbogdandrutu@gmail.com\u003e"
    },
    {
      "commit": "5a19e433fbca97b53593f2cf0f4bdc878ea05e0a",
      "tree": "d86cec0dddd6323e8b9040f527f82e9b2d83b4a1",
      "parents": [
        "017ba923813688111f4471dcf5621675e8124306"
      ],
      "author": {
        "name": "Bogdan Drutu",
        "email": "bogdandrutu@gmail.com",
        "time": "Thu May 18 21:13:22 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 19 00:13:22 2023 -0400"
      },
      "message": "THRIFT-5711: Fix FutureClient implementation when service extends another service (#2810)\n\n* Fix FutureClient implementation when service extends another service\r\n\r\nSigned-off-by: Bogdan Drutu \u003cbogdandrutu@gmail.com\u003e"
    },
    {
      "commit": "017ba923813688111f4471dcf5621675e8124306",
      "tree": "3a00b912ce8cab19a8e090431d3cd2e26780b6f4",
      "parents": [
        "2c927b529761cb7540b226b33ea4ac47b368ce61"
      ],
      "author": {
        "name": "Bogdan Drutu",
        "email": "bogdandrutu@gmail.com",
        "time": "Wed May 17 07:59:56 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 17 10:59:56 2023 -0400"
      },
      "message": "Remove unnecessary empty spaces form t_java_generator.cc (#2809)\n\nSigned-off-by: Bogdan Drutu \u003cbogdandrutu@gmail.com\u003e"
    },
    {
      "commit": "4f63573f5a49fb564e7b65b9573769963511dbea",
      "tree": "a6512beee4a22514acacef76bfb9938d61afadf5",
      "parents": [
        "a4156083c397af7f0539d9bd1327054dc839985b"
      ],
      "author": {
        "name": "Klemen Košir",
        "email": "klemen.kosir@kream.io",
        "time": "Thu Apr 27 15:13:18 2023 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 27 14:13:18 2023 +0800"
      },
      "message": "THRIFT-4086: Use true type when generating field meta data (#2765)\n\nClient: java"
    },
    {
      "commit": "6945c4e1c71c71846430bd6dcfb102bd4123771a",
      "tree": "fac62c5c3ed92e913375f6262ac8854e850b546a",
      "parents": [
        "2891e4a7dc216a548008f4a8fceb1c6e2fe6f84d"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Apr 20 17:29:53 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Apr 20 18:20:52 2023 +0200"
      },
      "message": "THRIFT-5703 Haxe 4.30 emits \"Local variable retval used without being initialized\" on generated code\nClient: hx\nPatch: Jens Geyer\n"
    },
    {
      "commit": "2891e4a7dc216a548008f4a8fceb1c6e2fe6f84d",
      "tree": "c44889a6946f30be18e68f79a45f68fa88d0b499",
      "parents": [
        "6fefbf437c7392aa3a1be4eb1b32fb0e7ecb95db"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Apr 14 00:25:15 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Apr 20 18:20:52 2023 +0200"
      },
      "message": "THRIFT-5704 Superfluous block scope in generated write() code\nClient: hx\nPatch: Jens Geyer\n"
    }
  ],
  "next": "66aac4465926404c2bb0c450e80fac2c2824c04c"
}
