)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "dca42ab4b521bd4b0ffda67ae47a75b47045af24",
      "tree": "d4344dac3e68e35f0a1696c9b1d1528139b8df06",
      "parents": [
        "bb80ef4e7db152eb744b0bf47cb196059021266f"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Feb 15 12:19:44 2023 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Mar 01 22:58:55 2023 +0100"
      },
      "message": "THRIFT-5685: Revert \"THRIFT-5601: Fix forward typedef in go compiler\"\n\nThis reverts commit b39370ec3bc96d201bbc82fbde136f98ae605ed1, and also\nadds a test case for THRIFT-5685.\n"
    },
    {
      "commit": "e8353cb46e9f5e71f9b76f55d6bf59530b7f98ef",
      "tree": "0a115e7b4edaf865c497a01196f9fc60acd8d734",
      "parents": [
        "2acfe0fc7a1747c327da66c8a693840ba0c5a016"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Oct 28 10:29:25 2022 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Nov 02 15:44:07 2022 -0700"
      },
      "message": "Use multi-module to cleanup top level go.mod\n\nClient: go\n\nThe go library itself does not have any third-party dependencies. We\nhave one third party dependency from the test code, which kind of\npolluted from top-level go.mod file to the users of thrift go library.\n\nWe previous tried to clean that up by creating go.mod file at\nlib/go/thrift, which caused issues to the release process and thus\nreverted.\n\nUse multi-module to separate tests requiring mock to their own modules\nso that we can keep the top-level go.mod file clean.\n\nAlso some minor fixes on the github actions go workflow.\n"
    },
    {
      "commit": "2acfe0fc7a1747c327da66c8a693840ba0c5a016",
      "tree": "f07b250964c0295a9d9908bb20e8e2028c9fed1f",
      "parents": [
        "cea5559ecf458ccbb251594dba571f01bf0a2402"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Oct 21 10:27:40 2022 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Oct 26 14:40:10 2022 -0700"
      },
      "message": "THRIFT-5650: Implement UUID in Go compiler\n\nClient: go\n"
    },
    {
      "commit": "19c13b4cc697410b586b243123522c43e68e2f0c",
      "tree": "12a77be60cdcc08cb6ec2d8714b4530e9306aff8",
      "parents": [
        "baa0daa478c3b16876ccc0778f068fb72932dda6"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Oct 12 14:13:15 2022 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Oct 21 10:36:06 2022 -0700"
      },
      "message": "THRIFT-5650: Implement UUID in Go library\n\nClient: go\n\nThis is only the library part of THRIFT-5650. I still have some open\nquestions for the compiler part so that will be done later.\n\nWhile I\u0027m here, also made some changes to go CI process:\n\n* Update ubuntu-bionic to use go 1.18 for travis\n* Update ubuntu-jammy to use the latest go 1.19.x for travis\n* Run both go 1.18 and 1.19 for github actions\n* Also run test/go tests for github actions\n"
    },
    {
      "commit": "d5927a96019154fa590c38f3a7ca70275af11b3c",
      "tree": "4c0a412c9d0bd333e24f21cc6d13bedadc487268",
      "parents": [
        "944b8e68a099392d80153ebcf26f32ff7f1d893a"
      ],
      "author": {
        "name": "Simon Wang",
        "email": "jellalleonhardt4869@gmail.com",
        "time": "Mon Sep 13 19:50:45 2021 +0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sun Sep 11 08:25:32 2022 -0700"
      },
      "message": "THRIFT-5423: IDL parameter validation for Go\n\nCloses https://github.com/apache/thrift/pull/2469.\n"
    },
    {
      "commit": "7ae180bb1eaea8bdfd6d5714aa90b8445165ff1c",
      "tree": "6e1e40ec5f640a46c51358bfc3d966aacf3c9c68",
      "parents": [
        "3f9b7d0da2d6f41b57cd636fa3b6067737befe4c"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Aug 05 15:29:42 2022 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Sat Aug 06 07:45:27 2022 -0700"
      },
      "message": "THRIFT-5609: Make TJSONProtocol safe to be used in deserializer pool\n\nClient: go\n\nAdd Reset to TJSONProtocol, and call it in deserializer and serializer\nto make sure that it\u0027s always safe to be used in the pool version.\n"
    },
    {
      "commit": "892b6731eedcf81e6ba9627327676cddb009fc07",
      "tree": "be0c60f44c0f706bb37cc2b084cb582e9de357ca",
      "parents": [
        "5a1924788a8cb6f495a1b1d50a1c0561d36215ac"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Aug 01 12:47:12 2022 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Aug 02 11:25:51 2022 -0700"
      },
      "message": "THRIFT-5605: Client middleware to extract exceptions\n\nClient: go\n\nProvide ExtractIDLExceptionClientMiddleware client middleware\nimplementation and ExtractExceptionFromResult to extract exceptions\ndefined in thrift IDL into err return so they are accessible from other\nclient middlewares.\n"
    },
    {
      "commit": "9bee877e663f11f4cbdd3a4f02938c8ab9fe8976",
      "tree": "151cdff0268536208f0eb1cebfdf1f2ec968e869",
      "parents": [
        "103a11c9c28ac963a3b2591ecac641db3cbaa113"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Feb 22 18:48:17 2022 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Feb 23 09:17:50 2022 -0800"
      },
      "message": "THRIFT-5527: Don\u0027t swallow idl exceptions in Process function\n\nClient: go\n\nThis allows ProcessorMiddlewares to access such exceptions, unless\nthere\u0027s a network error writing the response (which takes priority).\n\nWhile I\u0027m here, also make the indentation of Process function more\nconsistent, and make it consistent on returning false and an error when\nthe reading/writing fails.\n"
    },
    {
      "commit": "17373a3f357cc81ab03fd02c316ad66b9c5ea260",
      "tree": "4bcbd85f46ce2fc1cf35e93ea7c6d79f3f55074b",
      "parents": [
        "d53f056427a093f782c234d6dff85881cff0f5fb"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Aug 26 11:04:27 2021 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Aug 27 09:28:08 2021 -0700"
      },
      "message": "go: Fix things staticcheck complains about\n\nClient: go\n\nStaticcheck is the recommended replacement of the frozen and deprecated\nofficial golint linter [1].\n\nFix the things it complained about (or add lint:ignore directive) in:\n\n- lib/go/thrift\n- lib/go/test/tests\n- tutorial/go/src\n- test/go/src\n- compiler generated code\n\nThe majority of the fixes are in the following categories:\n\n- Use of deprecated function (mainly the TConfiguration related ones)\n- Redundant break in switch cases\n- Unused and unexported variables/fields/functions\n\nAlso in the same spirit as fb539ae, remove the error return from\nNewTSSLSocket as it can never be non-nil.\n\nThis change will be cherry-picked into 0.15.0 branch after merged.\n\n[1]: https://groups.google.com/g/golang-nuts/c/rCP70Aq_tBc\n"
    },
    {
      "commit": "2c78047fcbd2783e88cab0ebc7245598695477ae",
      "tree": "644890de6b9eb4a633f840d9230e9ad060fa832f",
      "parents": [
        "c8ae621a0969e00febcc80128d29e38d7f277601"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Jul 31 13:44:41 2021 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Sun Aug 01 10:07:45 2021 -0700"
      },
      "message": "THRIFT-4797: Go import improvements\n\nThis change improves two problems in go code imports:\n\n1. Always rename import the thrift package into \"thrift\", as we allow\n   the user to use a different library to replace the official one from\n   the compiler command line, this makes sure that in compiler generated\n   go code we can always blindly use \"thrift.*\".\n\n2. We added auto rename import dedup in d9019fc5a4, but in that change\n   for system packages we always use the full import path as the dedup\n   identifier, so system package \"database/sql/driver\" would not be\n   detected as a conflict against a thrift go namespace of\n   \"foo.bar.driver\". Use the part after the last \"/\" in system packages\n   as the dedup identifier instead.\n"
    },
    {
      "commit": "f6955351222f51e5662ce41de43c75b7c3e640e1",
      "tree": "75bd4608863e18904e3faea9a6fe0c08a8f26acf",
      "parents": [
        "68c0272a0af55f8a50296f5fa3ba672c08937d98"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Jul 29 15:59:10 2021 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jul 30 08:47:45 2021 -0700"
      },
      "message": "THRIFT-5389: Fix const generation for optional fields\n\nClient: go\n\nThe current compiler will generate uncompilable code when we use\noptional enum and/or typedef\u0027d types in a thrift constant.\n\nThis fixes the issue, also adds a test for that.\n"
    },
    {
      "commit": "b71f11e251a711604cea8caad7d493ea57fe8a8f",
      "tree": "a560d3adce03767cd5c9c3ad0ec6fb5879b85ff1",
      "parents": [
        "65ea75279aa8c4678075d29063e3d5b0658ef155"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Mar 22 15:01:00 2021 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Mar 24 13:32:14 2021 -0700"
      },
      "message": "THRIFT-5358: Add go.mod file to root directory\n\nClient: go\n\nThis unblocks the development under go 1.16+, which starts to complain\nwhen there\u0027s no go.mod file in any of the directories.\n\nThe current approach is certainly not the best solution ever, for\nexample it does not run the tests under lib/go/test/tests but copy them\ninto lib/go/test/gopath/src/sometest and run them there instead, but\nthose improvements can be done in the future in follow up PRs and this\nshould be a good enough first step to unblock developments.\n"
    },
    {
      "commit": "b0b353191aeaa1b427d105892efa7facea6d4f1f",
      "tree": "08a523fcec62a405eba32b7ef51068f85b35f90c",
      "parents": [
        "6813b1914bf32b8d37d10207f10a092064ba36d7"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Feb 18 09:09:20 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Mon Feb 22 10:02:48 2021 -0800"
      },
      "message": "Move ConflictingNamesTest to lib/go/test\n\nClient: go\n\nAlso add missing copyright header for files added in\nhttps://github.com/apache/thrift/pull/2307.\n"
    },
    {
      "commit": "4aaef75819aea3f79ec812393dbe13bb62bd6c45",
      "tree": "01b30b368276430fa01763df92e6eb2f6cc945cb",
      "parents": [
        "93d20993f911795b4bcfbcb8143397dad77267bc"
      ],
      "author": {
        "name": "wangtieju",
        "email": "wangtieju@bytedance.com",
        "time": "Thu Feb 04 11:26:44 2021 +0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Feb 03 21:05:22 2021 -0800"
      },
      "message": "THRIFT-5337 Go set fields write improvement\n\nClient: go\n\nThere is a duplicate elements check for set in writeFields* function,\nand it compares elements using reflect.DeepEqual which is expensive.\n\nIt\u0027s much faster that generates a *Equals* function for set elements and\ncall it in duplicate elements check, especially for nested struct\nelement.\n\nCloses #2307.\n"
    },
    {
      "commit": "e27e82c46ba4d46c2c3267701191cdc26614f739",
      "tree": "e2e8dbeb43f706360b2ccd77ae00aeeebdc9ae02",
      "parents": [
        "0e68e8c51b2924d211a47978c80c6753f45e8af3"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Jan 19 11:07:58 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jan 20 09:11:02 2021 -0800"
      },
      "message": "THRIFT-5338: Raise minimal supported go version to 1.14.14\n\nClient: go\n\n- Update Dockerfiles used by travis\n- Add go.mod file\n- Modify error handling code to take advantage of errors package updates\n  in go1.13\n"
    },
    {
      "commit": "d831230929bb332189c9509d07102e4be9e7f681",
      "tree": "c1989efa6dc2dd66f0ba7afdf9682b9e764145c4",
      "parents": [
        "c4d1c0d80067986dbee124887bcb402ee1c6538e"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Dec 22 09:53:58 2020 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Sun Jan 17 15:19:44 2021 -0800"
      },
      "message": "THRIFT-5326: Expand TException interface in go library\n\nClient: go\n\nAdd TExceptionType enum type, and add\n\n    TExceptionType() TExceptionType\n\nfunction to TException definition.\n\nAlso make TProtocolException unwrap-able.\n"
    },
    {
      "commit": "e79f764f09afdfe829a06ca721059d34244d7c20",
      "tree": "9680d1a399fe1e60a7f399a5a80cf3fb6a6a501a",
      "parents": [
        "3f78c70bbba82c733b1545d39eb5b489ac384e4c"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Jun 12 22:22:35 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Jun 15 13:28:38 2020 -0700"
      },
      "message": "THRIFT-5233: Handle I/O timeouts in go library\n\nClient: go\n\nAs discussed in the JIRA ticket, this commit changes how we handle I/O\ntimeouts in the go library.\n\nThis is a breaking change that adds context to all Read*, Write*, and\nSkip functions to TProtocol, along with the compiler change to support\nthat, and also adds context to TStandardClient.Recv, TDeserializer,\nTStruct, and a few others.\n\nAlong with the function signature changes, this commit also implements\ncontext cancellation check in the following TProtocol\u0027s ReadMessageBegin\nimplementations:\n\n- TBinaryProtocol\n- TCompactProtocol\n- THeaderProtocol\n\nIn those ReadMessageBegin implementations, if the passed in context\nobject has a deadline attached, it will keep retrying the I/O timeout\nerrors, until the deadline on the context object passed. They won\u0027t\nretry I/O timeout errors if the passed in context does not have a\ndeadline attached (still return on the first error).\n"
    },
    {
      "commit": "81334cd7345d3b5af165aa875b733a491f1fd5c7",
      "tree": "36bfe1c82c3f584c7c6c057793c097ef327f6341",
      "parents": [
        "69642f389a06f5ba1b374de52c6b0e29892035d8"
      ],
      "author": {
        "name": "lvqian",
        "email": "qlv1@xiaohongshu.com",
        "time": "Thu Mar 26 19:08:55 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 13 18:11:03 2020 +0200"
      },
      "message": "THRIFT-5152: introduce connect timeout and socket timeout\nClient: Go\nPatch: Qian Lv\n\nThis closes #2071\n"
    },
    {
      "commit": "b374ce35550659d4f109c2afc657733e7590aaed",
      "tree": "970d058f5c5048b8e24f5c957acffc4cbceff715",
      "parents": [
        "418d88b447769745eeba372d12f486b22053a7a8"
      ],
      "author": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Fri Dec 13 13:10:23 2019 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 13 13:10:23 2019 +0000"
      },
      "message": "THRIFT-5046: Better struct tag overrides \n\nCustom go.tag in an IDL no longer removes the existing \"db\" and \"json\"\r\ntags but can override them.\r\n\r\nThis allows us to change default tags in the future without affecting\r\nuser defined ones.\r\n\r\nClient: go\r\n\r\nThis closes #1963."
    },
    {
      "commit": "4653009035db96228e33e8965e432752b41c8ed1",
      "tree": "8f0962bf662907619964e7d539dfa3d1be88a099",
      "parents": [
        "508d9951d5fd8a539788caff6d38f08db564d50b"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Nov 05 13:31:13 2019 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Tue Nov 05 21:31:13 2019 +0000"
      },
      "message": "THRIFT-4984: Ignore EOF errors in TSimpleServer, take 2\n\nThis is a different approach to take THRIFT-4984: Instead of checking\r\nEOF errors in place, handle them in a consolidated, deferred function.\r\n\r\nAlso improve test error messages.\r\n\r\nClient: go\r\n\r\nThis closes #1907."
    },
    {
      "commit": "c28a739b8cb62fca9ea869d8d157c0b1d64565b8",
      "tree": "9956a4dcc78c4ad23fb26dfbff4ff6148c927b08",
      "parents": [
        "f1eadad76edb3c680b9b964601d440ea05df02ca"
      ],
      "author": {
        "name": "Renan Cakirerk",
        "email": "renan@uber.com",
        "time": "Mon Jan 21 16:25:10 2019 -0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Jan 21 22:25:40 2019 -0500"
      },
      "message": "THRIFT-4747: The \u0027omitempty\u0027 tag should not be appended to optional fields that have a default value\n"
    },
    {
      "commit": "5c1ecb67cde4d9aff7ed3188ab11566184b27bf0",
      "tree": "65351e5e21610f20ce7a073be7932121ea7e0831",
      "parents": [
        "961fa701346a3aaa804db8845f5eb38ea230b353"
      ],
      "author": {
        "name": "Craig Wickesser",
        "email": "codecraig@gmail.com",
        "time": "Tue Oct 16 02:40:13 2018 -0400"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Oct 16 07:40:13 2018 +0100"
      },
      "message": "THRIFT-4650: fix required fields incorrectly being marked as set\n\nThis closes #1610.\r\n\r\nClient: go"
    },
    {
      "commit": "88591e32e710a0524327153c8b629d5b461e35e0",
      "tree": "bea7a0bd35c528ae0e8480159596a15c6bea3929",
      "parents": [
        "e59b73d3c2bf1c328ccb78e683c0462fa1a473c7"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu May 17 08:52:11 2018 +0200"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu May 17 10:26:09 2018 +0200"
      },
      "message": "THRIFT-4573 Support binary fields in union counts\n\nThis commit also fixes another, related issue: Since union support was\nadded in b3654df, `Count*` methods (and count checks in `Write`\nmethods) were only generated if there was at least 1 pointer field.\n\nBut pointer fields are not the only nullable types in Go, slices and\nmaps can also be set the nil, which are now taken into account.\n\nClient: go\n"
    },
    {
      "commit": "5785279e2e809f6c56dbbe0eb41d13fb17c88bdd",
      "tree": "902035ba120d0595d5778a7c3e6357c6388cbf6d",
      "parents": [
        "3ae304268e1b058dc51642a83921e1d7ce7a1d12"
      ],
      "author": {
        "name": "John Boiles",
        "email": "johnaboiles@gmail.com",
        "time": "Fri Jan 05 14:37:05 2018 -0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 12 18:35:17 2018 -0400"
      },
      "message": "THRIFT-4448: Golang: do something with context.Context. Remove Go1.6 compatibility.\nClient: go\n\nThis closes #1459\n"
    },
    {
      "commit": "041c3c777db9639b0a9195bc6aa1f935501fd506",
      "tree": "a331ef6ce5f34c7d7ab327b5631f4973efcf2226",
      "parents": [
        "14f5d500b9ae0fb6654aec9009a8bc34a8bb6dfb"
      ],
      "author": {
        "name": "Chet Murthy",
        "email": "chetsky@gmail.com",
        "time": "Tue Dec 12 14:00:50 2017 -0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Dec 14 08:49:40 2017 -0500"
      },
      "message": "THRIFT-4421 golang tests rely on gomock, which has changed behaviour, causing tests to fail\nClient: go\n\nThis closes #1443\n"
    },
    {
      "commit": "4f77ab8e296d64c57e6ea1c6e3f0f152bc7d6a3a",
      "tree": "c3acd180d98bcfdb76c40dc5b6177e16bfc13719",
      "parents": [
        "847ecf3c1de8b297d6a29305b9f7871fcf609c36"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Sep 21 15:21:00 2017 +0200"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Nov 03 18:21:40 2017 -0700"
      },
      "message": "THRIFT-4285 Move TX/RX methods from gen. code to library\n\nThis change removes a lot of duplication from generated code and allows\nthe caller to customize how they can read from / write to the\ntransport.  Backwards compatible adapters make the change compatible\nwith existing code in use by consuming applications.\n\nClient: Go\n\nThis closes #1382\n"
    },
    {
      "commit": "5c302e02c40be558a21f3a82b53e527f7bec2ff2",
      "tree": "9c09e89736305138383d79ceda91e28f8fc6d491",
      "parents": [
        "c0d384a38c2b43ee47cef86b1cd054e3f84dc909"
      ],
      "author": {
        "name": "taozle",
        "email": "zhangliyang26@gmail.com",
        "time": "Sun Jul 23 15:21:44 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jul 25 00:17:30 2017 +0200"
      },
      "message": "THRIFT-4260 Go context generation issue. Context is parameter in Interface not in implementation\nClient: Go\nPatch: taozle \u003czhangliyang26@gmail.com\u003e\n\nThis closes #1312\n"
    },
    {
      "commit": "c0d384a38c2b43ee47cef86b1cd054e3f84dc909",
      "tree": "8de48de44cc628d110ac6bee4bbd8fd74c86d833",
      "parents": [
        "0dd823580c78a79ae9696eb9b3650e400fff140f"
      ],
      "author": {
        "name": "taozle",
        "email": "zhangliyang26@gmail.com",
        "time": "Mon Jul 17 18:40:42 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 22 19:42:48 2017 +0200"
      },
      "message": "THRIFT-4236 Support context in go generated code\nClient: Go\nPatch: taozle \u003czhangliyang26@gmail.com\u003e\n\nThis closes #1309\n"
    },
    {
      "commit": "8da0e720bb8e7550220cf1b360f3fb8aa37b9ded",
      "tree": "c1ca4f82eb806194d5f8d5dac768c46e2d2e6ae4",
      "parents": [
        "2b1b32c2836c21ce012d39ebc02c8488d67d4cef"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Fri Jun 02 14:33:32 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Jun 05 14:22:06 2017 +0200"
      },
      "message": "THRIFT-4215 Golang TTransportFactory Pattern Squelches Errors\nClient: Go\nPatch: D. Can Celasun \u003ccan@dcc.im\u003e\n\nThis closes #1285\n"
    },
    {
      "commit": "43fb34df2871b69c2f34dc3bb353e65cbc9f8692",
      "tree": "863c2a323a7132661488e83514c1573125732dc1",
      "parents": [
        "bc0082e02357de2f30b997188bdfa94d703331f4"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "dcelasun@gmail.com",
        "time": "Sun Jan 15 10:53:19 2017 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Feb 21 22:32:49 2017 +0100"
      },
      "message": "THRIFT-4011 Sets of Thrift structs generate Go code that can\u0027t be serialized to JSON\nClient: Go\nPatch: D. Can Celasun \u003cdcelasun@gmail.com\u003e\n\nThis closes #1156\n"
    },
    {
      "commit": "ca714c4397ed78bd880f0dd76526e3817ecc08f0",
      "tree": "1579f0fe4ce8e8e00f235e91855401063f8ee0b2",
      "parents": [
        "51850abb7ed0a7304f60cbced853285c9b63f4cb"
      ],
      "author": {
        "name": "creker",
        "email": "sam901@yandex.ru",
        "time": "Mon Apr 04 19:19:47 2016 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Apr 06 22:53:25 2016 +0200"
      },
      "message": "THRIFT-3467 Go Maps for Thrift Sets Should Have Values of Type struct{}\nClient: Go\nPatch: artem antonenko \u003csam901@yandex.ru\u003e\n\nThis closes #976\n"
    },
    {
      "commit": "8b5e2e7c8efaa12c63d0e40fe0b5d304c7721ba2",
      "tree": "d1b3419b69aad8905ba396a6ffc947c7d0532a11",
      "parents": [
        "420ee1e7f877ee6e1e28abefa4c6eb41fcf3a2fe"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jan 17 09:09:44 2016 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jan 17 09:09:44 2016 +0100"
      },
      "message": "THRIFT-3428 go test fail on busy_machine\n\nadd some timeouts after server startup so clients do not connect too early\n"
    },
    {
      "commit": "a649e7473bd0229f160332f0c80407ba49765065",
      "tree": "44dea5abd7123a132851b6e1e181bf6caf3d3a44",
      "parents": [
        "245c347b7374182f8142ac07e43473ddd8c4d0de"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Sep 21 13:53:25 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 21 23:07:39 2015 +0200"
      },
      "message": "THRIFT-3337 Add testBool method to cross tests\n\nThis closes #611\n"
    },
    {
      "commit": "0f17e15255f772167ab8bd844a5ddbcbec7ea616",
      "tree": "2fe8d48707d71eace706319eeb2b97909d29ea28",
      "parents": [
        "ab1bfa90136fa0c9c778a3a312a9b762050858ef"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 15 21:22:42 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 15 21:44:53 2015 +0200"
      },
      "message": "THRIFT-3051 Go Thrift generator creates bad go code\nClient: Go\nPatch: Jake Farrell\n"
    },
    {
      "commit": "5bc8b5a3a5da507b6f87436ca629be664496a69f",
      "tree": "86e30670ce34e95273566755524bb39840724513",
      "parents": [
        "96d80200c5dae4fa95b8fa068c6a712773ec321b"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 05 12:50:24 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 05 12:50:24 2015 +0200"
      },
      "message": "THRIFT-3302 Go JSON protocol should encode Thrift byte type as signed integer string\nClient: Go\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #591\n"
    },
    {
      "commit": "56a03be3f9bf251d17c89034e4c8f2e668211317",
      "tree": "59012f8a697c65a699e2ccc5286d3d26144e7a08",
      "parents": [
        "085627309591a78e2c7d4c2168ad4b0939cc4f2e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jun 17 22:21:27 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jun 17 22:21:27 2015 +0200"
      },
      "message": "THRIFT-3192 Go import paths changed in 1.4, and expired June 1\nClient: Go\nPatch: Adam Beberg \u003cbeberg@sentient.ai\u003e\n\nThis closes #523\n"
    },
    {
      "commit": "86a51e7eca0c33832b8e0421b18a99f4477dc31a",
      "tree": "071a2ea25d85883b0d1d25f16418a0964c604b7a",
      "parents": [
        "c0e4a8dc07402a03f8627608fbcb84affca200c9"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Jun 01 20:41:41 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Jun 01 21:09:17 2015 +0200"
      },
      "message": "THRIFT-3170: Add a flag to allow the ignoring of common initialisms in Go\nClient: Go\nPatch: Paul Magrath \u003cpaul@paulmagrath.com\u003e\n\nThis closes #508\n"
    },
    {
      "commit": "b3b7d0457ae67e4eeafbd2137dd94116d4993870",
      "tree": "f7e1faa796cd9e9d79f73f3d3b0ad66885ca346b",
      "parents": [
        "1568aef7d499153469131449ec682998598f0d3c"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 30 22:35:09 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 30 22:56:01 2015 +0200"
      },
      "message": "THRIFT-3174: Modify initialism code in Go compiler to check first word\nClient: Go\nPatch: Paul Magrath \u003cpaul@paulmagrath.com\u003e\n\nThis closes #509\n"
    },
    {
      "commit": "549a9e1e6dfbfaf1f7685dc5e26440c501517738",
      "tree": "8baad0643c2d012c64c3c84d9430d5abd0821f9f",
      "parents": [
        "33eef3534fe4b48be83740cb84fbc7a16a3530f0"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 21 22:20:31 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 21 22:20:31 2015 +0200"
      },
      "message": "THRIFT-3160 go: make generated enum types implement TextMarshaler and TextUnmarshaler\nClient: Go\nPatch: Konstantin Shaposhnikov \u003ck.shaposhnikov@gmail.com\u003e\n\nThis closes #507\n"
    },
    {
      "commit": "1d1bca2738febb87bf132d041a73cd8da5a6328b",
      "tree": "745f09341550039e5f4fd7aba9b4523502c096c4",
      "parents": [
        "28c1c19f913a4bee97a8309cf4b65914f705faea"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 14 16:28:27 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 14 16:38:43 2015 +0200"
      },
      "message": "THRIFT-3027 Go compiler does not ensure common initialisms have consistent case\nClient: Go\nPatch: Magrath \u003cpaul@paulmagrath.com\u003e\n\nThis closes #394\n"
    },
    {
      "commit": "28c1c19f913a4bee97a8309cf4b65914f705faea",
      "tree": "aef812e3c4406684b7d03e618f8203e81350581b",
      "parents": [
        "c7cf379aaede7df0f6117008a561c1ba9aa73044"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 07 14:18:01 2015 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 07 14:25:00 2015 +0100"
      },
      "message": "THRIFT-3023 Go compiler is a little overly conservative with names of attributes\nClient: Go\nPatch: Paul Magrath \u003cpaul@swiftkey.com\u003e\n\nThis closes #389\n"
    },
    {
      "commit": "962e41078bb92656d4e28acfb717884e1ef57f5e",
      "tree": "81b3e1c346f6c184a03348817a67cb45b8618c75",
      "parents": [
        "bd60b92c6f31c871d5bd52debbe75394575cd786"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Feb 27 22:28:50 2015 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Feb 27 22:53:00 2015 +0100"
      },
      "message": "THRIFT-3006 Attach \u0027omitempty\u0027 json tag for optional fields in Go\nClient: Go\nPatch: Peter Woodman \u003cpeter@vineapp.com\u003e\n\nThis closes #380\n"
    },
    {
      "commit": "307144a5b5539c169e4c3b52d1f58c1bf8b88dab",
      "tree": "64fff04f7116a5a707ae8bcf503851ee5cefcb21",
      "parents": [
        "da80afe740ec2c97c22b806b96c9ac6650688908"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jan 20 22:21:57 2015 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jan 20 22:40:38 2015 +0100"
      },
      "message": "THRIFT-2878 Go validation support of required fields\nClient: Go\nPatch: Chi Vinh Le \u003ccvl@chinet.info\u003e\n\nThis closes #304\n"
    },
    {
      "commit": "8bcfdd98ae59d840b677a485b74dda3953b4bcc1",
      "tree": "659ef62202eea161ca503d7ab3250238830abc8f",
      "parents": [
        "43e195afcd4cd3db67c7343271920af147e268e6"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Dec 14 03:14:26 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jan 03 17:37:54 2015 +0100"
      },
      "message": "THRIFT-2886 Integrate binary type in standard Thrift cross test\nClient: C_glib, C++, D, Erlang, Go, Haskell, Lua, Java/Me, JavaScript, Node, Ocaml, Perl, PHP, Python, Ruby\nPatch: Jens Geyer\n\nThis closes #341\n\nMinimal server-side implementations and TODO stubs for various languages to let \"make check\" succeeed.\nNot contained in this patch and still TODO:\n- client side implementations, i.e. calls to testBinary() and appropriate tests\n- server side hex printout missing for some languages\n"
    },
    {
      "commit": "1f42d315759a725f9c2846b0996d03128e2f1887",
      "tree": "cc253e38d4ae0abe4ce05ad1f5322125c9287a24",
      "parents": [
        "57cd421de3b681b4e401dcc5d965671362663998"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Dec 08 21:39:39 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Dec 08 21:49:54 2014 +0100"
      },
      "message": "THRIFT-2868 Enhance error handling in the Go client\nClient: Go\nPatch: Chi Vinh Le \u003ccvl@chinet.info\u003e\n\nThis closes #297\n"
    },
    {
      "commit": "527b6d9c86a7e5cde14cbb09a0e3103be0791c3a",
      "tree": "0494794c37a050af5ecc001c5efb61e8d5ef8c3b",
      "parents": [
        "200150d330b0f2ad986ff4993f1c45c64e4736a3"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 30 15:07:18 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 30 15:24:08 2014 +0100"
      },
      "message": "THRIFT-2854 Go Struct writer and reader looses important error information\nClient: Go\nPatch: Chi Vinh Le \u003ccvl@chinet.info\u003e\n\nThis closes #291\n\nFixes error reporting in go generator\n"
    },
    {
      "commit": "5f9bdffd2aefb3e1d1b0cc717f0e7dc5a2a16ad7",
      "tree": "3a19f664e40fafc315e499e18b1b60289b09f7a1",
      "parents": [
        "0dd4801ce5cd45ca076b1c716fa6f94f418731a2"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Nov 18 21:57:03 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Nov 18 22:18:15 2014 +0100"
      },
      "message": "THRIFT-2841 Add comprehensive integration tests for the whole Go stack\nClient: Go\nPatch: Chi Vinh Le \u003ccvl@chinet.info\u003e\n\nThis closes #273\n"
    },
    {
      "commit": "104ecb658919afb506c58092d2dadfeb503e2286",
      "tree": "dddf5e540595ba0bc5f85d0f817c9403540c58be",
      "parents": [
        "c0d126fcafe215b40a83c779751d97192f9d10b1"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jun 19 23:25:50 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jun 19 23:25:50 2014 +0200"
      },
      "message": "FIX broken test\n"
    },
    {
      "commit": "c0d126fcafe215b40a83c779751d97192f9d10b1",
      "tree": "204bf2b854059c1e787614ef157d118800d9d4d8",
      "parents": [
        "329d59aab0543171d0af193837db5fec714e0a73"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jun 19 22:49:54 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jun 19 22:49:54 2014 +0200"
      },
      "message": "THRIFT-2549 Generate json tag for struct members. use go.tag annotation to override the default generated tag.\nClient: Go\nPatch: Aleksey Pesternikov\n\nThis closes #128\n"
    },
    {
      "commit": "4f073d8af4c7358f6956ff8f8f6eb0f227a6a695",
      "tree": "d371d9ad9e3fc0dc5f584403a090a2a3a86a4d2f",
      "parents": [
        "d0265c705271716c046dd33d14adf40464cdcea8"
      ],
      "author": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Mon May 19 21:59:39 2014 +0200"
      },
      "committer": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Mon May 19 21:59:39 2014 +0200"
      },
      "message": "THRIFT-2505 fix apache license header\n"
    },
    {
      "commit": "facc8dc6c77b4bdb38e403306e9d9824cd420537",
      "tree": "bd3642247b34ead07d4aff8279ec114a6377bba8",
      "parents": [
        "958581d090d13cfc23162eb823f5ac6af36a8cb1"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 09 23:48:57 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 09 23:48:57 2014 +0200"
      },
      "message": "THRIFT-2505 go struct should always be a pointer to avoid copying of potentially size-unbounded structs\nClient: Go\nPatch: Aleksey Pesternikov\n\nThis closes #116\n\ncommit 69bbf0e2b148cb1f48e24f46d181cc4d5dc35786\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-05-02T15:45:15Z\n\nstruct should always be a pointer to avoid copying of potentially size-unbounded structs\n"
    },
    {
      "commit": "e52c046cb62d1f910302148f7bc2091c014acd27",
      "tree": "0f65ea2a7087e6de7c0cd39697b8178227a33989",
      "parents": [
        "2a9e6a491e2c6e97bd35f715f39788582eb8b027"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 23:37:39 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 23:37:39 2014 +0200"
      },
      "message": "THRIFT-2491 unable to import generated ThriftTest service\nClient: Go\nPatch: Aleksey Pesternikov\n\nThis closes #105\n\ncommit f2e7186ca8d63f407dba0c56ee51afd6405926ba\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-22T12:48:14Z\n\nadd _ to generated filename if it ends with _test.go\n"
    },
    {
      "commit": "731975a645e47c931fbbc42ac51c12b0873a50c2",
      "tree": "690d8771ba7e35c18022c00de53cdb2cacbc2231",
      "parents": [
        "ce79d59144fb5eabba67a28db76580fdb4f6bb89"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 00:24:24 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 00:24:24 2014 +0200"
      },
      "message": "THRIFT-2451: Do not use pointers for optional fields with defaults. Do not write such fields if its value set to default. Also, do not use pointers for any optional fields mapped to go map or slice. generate Get accessors\nClient: Go\nPatch: Aleksey Pesternikov\n\nThis closes #101\n\ncommit e6e5dcf3a07cd931183991ff031179b425e2740b\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-16T14:06:52Z\n\ninitial change\n\ncommit f65730e951a4310160a9f7e3e4eeb7e55abd2c55\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-16T14:16:03Z\n\nno IsSet for required\n\ncommit 9865f700eb9354d6053994da989a907766c42d1d\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-17T19:32:13Z\n\ninlined required structs\n\ncommit ca52300c07cefcf553f1ebf35569953c933b2367\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-17T19:44:24Z\n\ndo not use heap for args struct\n\ncommit 012ca3e512d2bc8822de8a715b4f3d3cae5c0c42\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-17T19:52:41Z\n\ndo not use heap for result struct\n\ncommit 2fc4afc53ff7db43e08eadeaa30e34bc1fd9c889\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-17T21:32:43Z\n\ndo not set result field on error\n\ncommit 6e5da0062b139f02dcafe3148cdf02f97c23442a\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-17T21:57:57Z\n\nJens\u0027 thrift source as test case\n\ncommit 7317957ed708831e280f182f081043fbe9d38a0c\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-17T23:43:08Z\n\nsupport for cpp.ref\n\ncommit 1c4f3efc7b54fd335db633f86faf8c426ae9c87d\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-18T00:13:24Z\n\npackage flag\n\ncommit c9d7e54f5c5d29c776f42fb861bc9e82da4e542f\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-18T00:21:18Z\n\nMerge branch \u0027master\u0027 into go_inlines\n"
    },
    {
      "commit": "2bc4b130dead8fdd664be332e16b2b7eb3e809d7",
      "tree": "dee23bd4f409c788164f21da1f7f2c0a2cdfa8e6",
      "parents": [
        "3290336e33a257d77d731aa8f4c86af84bd8f9ad"
      ],
      "author": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Wed Apr 30 16:19:35 2014 +0200"
      },
      "committer": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Wed Apr 30 16:19:35 2014 +0200"
      },
      "message": "THRIFT-2132 Go: Support for Multiplexing Services on any Transport, Protocol and Server\nPatch: Aleksey Pesternikov\n\ntypo\n\nThis closes #112\n\n----\ncommit f362570683f57ad9ee78cedc437babb697c6a8d1\nAuthor: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\nDate:   2014-04-30T12:49:11Z\n\n    THRIFT-2132 broken tests\n\n----\n"
    },
    {
      "commit": "751c97c2df228ab7d73f7add3a7b3f187aa5326a",
      "tree": "95ad0d4b907f5fdf481388df19e3bcc5e0358853",
      "parents": [
        "c1d7943a7ed78fb434eaa90feb1a3a17b446fc97"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Apr 22 23:36:27 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Apr 22 23:36:27 2014 +0200"
      },
      "message": "THRIFT-2132 Go: Support for Multiplexing Services on any Transport, Protocol and Server\nClient: Go\nPatch: Aleksey Pesternikov\n"
    },
    {
      "commit": "2335b96039f22fdffa7575cf0e311a0dde416a7d",
      "tree": "8d29fc8dc514061c4ebdeda737e2471e36d7d335",
      "parents": [
        "a6c63deb065a3fb211ab977252c69e872b129659"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 14 22:42:25 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 14 22:42:25 2014 +0200"
      },
      "message": "Added missing ASF header\n"
    },
    {
      "commit": "c2ccca8e4b4fd1b421e2d30b754aee8c24e90b34",
      "tree": "394f1a72487f4e4e6333977c6b95c4cad7d53315",
      "parents": [
        "d000b241a43e50157938e056b9fa0f7d88f099df"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 14 22:36:50 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 14 22:36:50 2014 +0200"
      },
      "message": "THRIFT-2458 Generated golang server code for \"oneway\" methods is incorrect\nClient: Go compiler\nPatch: Jens Geyer \u0026 Aleksey Pesternikov\n"
    },
    {
      "commit": "456879288f4915f53fa23b9a72148696da0c5d24",
      "tree": "5ee96416570f4a0e36b6870cc292d837549f90e4",
      "parents": [
        "bb2d2fbf63cac4d2eb46c73d1f3e5c8ceeba5d1e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 07 21:20:16 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 07 21:22:01 2014 +0200"
      },
      "message": "THRIFT-2445 (code generation for go maps with binary keys) should be tested\n\nPatch: Aleksey Pesternikov\n"
    }
  ]
}
