)]}'
{
  "log": [
    {
      "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": "65ea75279aa8c4678075d29063e3d5b0658ef155",
      "tree": "5c9705afa89e4155d848e4c0b1b06652a94ff665",
      "parents": [
        "66d897667c451ef6560d89b979b7001c57a3eda6"
      ],
      "author": {
        "name": "Philippe Antoine",
        "email": "contact@catenacyber.fr",
        "time": "Mon Mar 15 09:34:58 2021 +0100"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Mar 24 10:03:20 2021 -0700"
      },
      "message": "Adds fuzz target for oss-fuzz integration\n"
    },
    {
      "commit": "62beb6751d3c70f8db8fed4a3bb76e4ff3765c22",
      "tree": "311e1de5451218414a510bfabe5056eed1e45151",
      "parents": [
        "cc70b4e89a1579559bc50fb8216c471a5c550926"
      ],
      "author": {
        "name": "Philippe Antoine",
        "email": "contact@catenacyber.fr",
        "time": "Mon Mar 15 09:26:39 2021 +0100"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Mon Mar 15 09:28:27 2021 -0700"
      },
      "message": "Early error check in golang struct reading\n\navoids a timeout on malformed input found by fuzzing\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": "2ef0113d69527cf2b8b6d6df0ecd2650d6f7bf38",
      "tree": "3af52fbb6447f4af19286dfb843d049dde5d7eb5",
      "parents": [
        "ebfa771a26e406da947f72ae8d87602c892435cc"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Feb 04 22:41:50 2021 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Feb 05 12:58:49 2021 +0100"
      },
      "message": "Consolidated gitignore \u0026 added missing EXTRA_DISTs\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": "c2ddaf0766499ab522cb7c0ca011d579707fcb5f",
      "tree": "c05776669d220308884aa1fde25980035de056ad",
      "parents": [
        "8dd04f4adfaea08699b1745c79f122bf9cbd6f07"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Jan 22 09:37:18 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jan 22 20:50:27 2021 -0800"
      },
      "message": "THRIFT-4914: Make TClient.Call to return the response meta\n\nClient: go\n\nMake a breaking change so that TClient.Call returns the response\nmeta, currently only contains headers but could be expanded in the\nfuture, and make a compiler change to compiler generated clients to take\nadvantage of that and provide access to response metadata to users.\n"
    },
    {
      "commit": "8dd04f4adfaea08699b1745c79f122bf9cbd6f07",
      "tree": "8edc3a6eb3ff75b1eab7809429ab12aa39d59c2c",
      "parents": [
        "d9fcdd3dbafbe1a8296018d0d6c55d972f607a42"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Jan 22 15:41:41 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jan 22 20:49:57 2021 -0800"
      },
      "message": "THRIFT-5322: THeaderTransport protocol id fix\n\nClient: go\n\nThis fixes a bug introduced in\nhttps://github.com/apache/thrift/pull/2296, that we mixed the preferred\nproto id and the detected proto id, which was a bad idea.\n\nThis change separates them, so when we propagate TConfiguration, we only\nchange the preferred one, which will only be used for new connections,\nand leave the detected one from existing connections untouched.\n\nAlso add a test for it.\n"
    },
    {
      "commit": "d9fcdd3dbafbe1a8296018d0d6c55d972f607a42",
      "tree": "e361ade98c00d9084a25603374b9919ebed6c0c5",
      "parents": [
        "e27e82c46ba4d46c2c3267701191cdc26614f739"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Jan 20 09:17:04 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jan 20 11:49:24 2021 -0800"
      },
      "message": "THRIFT-5338: Remove lib/go/thrift/go.mod\n\nClient: go\n\nHaving it under a subdirectory has some unexpected consequences, so\nremove it for now. Another PR will be open up later to add it back to\nthe root directory.\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": "0e68e8c51b2924d211a47978c80c6753f45e8af3",
      "tree": "e8f76271ef82adb794f56446ab397ec7c8b07f2b",
      "parents": [
        "7f9abb1cc0f4b2793a48f45ddfcf0d2b287cc50c"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Jan 19 09:14:36 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Jan 19 10:46:29 2021 -0800"
      },
      "message": "THRIFT-5326: Make PrependError more unwrap-able\n\nClient: go\n\nAs a follow up to https://github.com/apache/thrift/pull/2298, make the\nerror returned by PrependError unwrap-able in certain cases.\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": "c4d1c0d80067986dbee124887bcb402ee1c6538e",
      "tree": "60d2edf616dfd2f1ba9906bd10c9321ff349b4ae",
      "parents": [
        "c4e899a6d64aa97430ec9f7608d38db2095f6159"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Dec 16 17:10:48 2020 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Sun Jan 17 12:24:13 2021 -0800"
      },
      "message": "THRIFT-5322: Implement TConfiguration in Go library\n\nClient: go\n\nDefine TConfiguration following the spec, and also move the following\nconfigurations scattered around different TTransport/TProtocol into it:\n\n- connect and socket timeouts for TSocket and TSSLSocket\n- tls config for TSSLSocket\n- max frame size for TFramedTransport\n- strict read and strict write for TBinaryProtocol\n- proto id for THeaderTransport\n\nAlso add TConfiguration support for the following and their factories:\n\n- THeaderTransport and THeaderProtocol\n- TBinaryProtocol\n- TCompactProtocol\n- TFramedTransport\n- TSocket\n- TSSLSocket\n\nAlso define TConfigurationSetter interface for easier TConfiguration\npropagation between wrapped TTransports/TProtocols , and add\nimplementations to the following for propagation\n(they don\u0027t use anything from TConfiguration themselves):\n\n- StreamTransport\n- TBufferedTransport\n- TDebugProtocol\n- TJSONProtocol\n- TSimpleJSONProtocol\n- TZlibTransport\n\nTConfigurationSetter are not implemented by the factories of the\n\"propagation only\" TTransports/TProtocols, if they have a factory. For\nthose use cases, TTransportFactoryConf and TProtocolFactoryConf are\nprovided to wrap a factory with the ability to propagate TConfiguration.\n\nAlso add simple sanity check for TBinaryProtocol and TCompactProtocol\u0027s\nReadString and ReadBinary functions. Currently it only report error if\nthe header length is larger than MaxMessageSize configured in\nTConfiguration, for simplicity.\n"
    },
    {
      "commit": "37c2ceb737cb40377346c63a05f407da1c119ba0",
      "tree": "69efd7065e81348fd22f8fbc07ec475846e8a111",
      "parents": [
        "dda80547b10d698784713eb62a04f6f42eae107b"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Dec 10 14:42:37 2020 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Dec 16 09:31:18 2020 -0800"
      },
      "message": "THRIFT-5322: Guard against large string/binary lengths in Go\n\nClient: go\n\nIn TBinaryProtocol.ReadString, TBinaryProtocol.ReadBinary,\nTCompactProtocol.ReadString, and TCompactProtocol.ReadBinary, use\nsafeReadBytes to prevent from large allocation on malformed sizes.\n\n    $ go test -bench\u003dSafeReadBytes -benchmem\n    BenchmarkSafeReadBytes/normal-12                  625057              1789 ns/op            2176 B/op          5 allocs/op\n    BenchmarkSafeReadBytes/max-askedSize-12           545271              2236 ns/op           14464 B/op          7 allocs/op\n    PASS\n"
    },
    {
      "commit": "dda80547b10d698784713eb62a04f6f42eae107b",
      "tree": "26d8684bbd15944fbf41e3c89c67436611952477",
      "parents": [
        "1e243a76b186142f551a3cb8419131a468ff54ff"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Dec 15 17:56:15 2020 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Dec 16 09:27:25 2020 -0800"
      },
      "message": "THRIFT-5324: Create new req buffer for every http request\n\nClient: go\n\nThe fix in https://github.com/apache/thrift/pull/2293 doesn\u0027t work for\ngo1.10.8 due to the possibility of data races. This exposes a bigger,\nunderlying issue regarding the ownership of the request buffer in\nTHttpClient between THttpClient itself and the http request it creates.\nInstead of reset and reuse the same buffer, always give up the ownership\nof it and create a new buffer after each Flush call.\n"
    },
    {
      "commit": "4461728f18542eba5d211f9fc412557aab61c491",
      "tree": "7b37ce33ae85dd4a16e215e5a098bd2603bee421",
      "parents": [
        "70792f2191e5e7345bf08f766638e166d5937f32"
      ],
      "author": {
        "name": "Morozov",
        "email": "weugek@gmail.com",
        "time": "Tue Dec 15 10:35:57 2020 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 15 07:35:57 2020 +0000"
      },
      "message": "THRIFT-5324: reset http client buffer after flush\n\nTHttpClient did not reset its internal buffer when HTTP client returned\r\nan error, leaving the whole or partially read message in the buffer.\r\nNow we reset the buffer in defer.\r\n\r\nClient: go"
    },
    {
      "commit": "2676327f6ea7851459081047c21138e192b0de65",
      "tree": "df548a884cb831a4020b7fa57f5fe35261d0f115",
      "parents": [
        "64c2a4b87ab356e05033045492e51f1ad73a795b"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Oct 14 11:16:09 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Mon Oct 19 14:21:44 2020 -0700"
      },
      "message": "Add DuplicateTo protocol to go\u0027s TDebugProtocol\n\nThis also comes from the discussion of\nhttps://github.com/apache/thrift/pull/1992#issuecomment-705903922.\nI think TDebugProtocol is a better fit for this feature than creating a\nnew TProtocol implementation.\n\nThe DuplicateTo field is not added to TDebugProtocolFactory because I\ndon\u0027t think it makes sense from the factory setup. In vast majority\ncases users would need direct access to the underlying TMemoryBuffer to\nmake it useful, which is easier this way than an additional\nTTransportFactory plus TProtocolFactory to make TDebugProtocolFactory\nway too complicated.\n"
    },
    {
      "commit": "64c2a4b87ab356e05033045492e51f1ad73a795b",
      "tree": "926e9f08771156659c8cf3aa2c086d7592241300",
      "parents": [
        "daf620915714b76fce517b376b963440d1f34089"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Oct 10 18:39:32 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Oct 14 10:14:03 2020 -0700"
      },
      "message": "THRIFT-5294: Fix panic in go TSimpleJSONProtocol\n\nClient: go\n\nIn go library\u0027s TSimpleJSONProtocol and TJSONProtocol implementations,\nwe use slices as stacks for context info, but didn\u0027t do proper boundary\ncheck when peeking/popping, result in it might panic with using -1 as\nslice index in certain cases of calling Write*End without matching\nWrite*Begin before.\n\nRefactor the code to properly implement the stack, and return a\nTProtocolException instead on those cases.\n\nAlso add unit tests for all protocols. The unit tests shown that\nTCompactProtocol.[Read|Write]StructEnd would also panic with unmatched\nBegin calls, so fix them as well.\n"
    },
    {
      "commit": "daf620915714b76fce517b376b963440d1f34089",
      "tree": "ac053a27de9d04da48c6dd2093945c6cb1931cbd",
      "parents": [
        "6d570260caa550741f4da9615cae1b14f328a553"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Oct 07 16:28:38 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Oct 07 22:25:19 2020 -0700"
      },
      "message": "THRIFT-5240: Tweak the default go server connectivity check interval\n\nClient: go\n\nThis is a follow up to 4db7a0af13ac9614e3e9758d42b2791040f4dc7e.\n\nBecause of the Go runtime bug [1], the previous default value of 1ms is\nnot a great default as it could cause excessive cpu usage. Use 5ms\ninstead as a balance between being useful and not causing too much cpu\noverhead.\n\nIt\u0027s still configurable.\n\n[1]: https://github.com/golang/go/issues/27707\n"
    },
    {
      "commit": "077b5fce825e79d84592fff893639b92b637eec7",
      "tree": "71b623e3085c1d77d53a6189a0658f86a9b5e7ed",
      "parents": [
        "062521f3b6f578d2b78f0ba189cf5d7968074cb1"
      ],
      "author": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Wed Sep 30 07:25:51 2020 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 30 07:25:51 2020 +0100"
      },
      "message": "go: Use sync.Pool for gzip in HTTP transport\n\nb67cad4 introduced transparent gzip support for the HTTP transport but\r\ncalling gzip.NewWriter() with every request causes a large number of\r\nmemory allocations [1] and can create GC pressure.\r\n\r\nAvoid this by using a sync.Pool for gzip writers.\r\n\r\n[1] https://old.reddit.com/r/golang/comments/9uejp4/usage_of_syncpool_for_gzipwriter_in_http_handlers/e94jh8c/"
    },
    {
      "commit": "6dcd64ee5c0886697b38278956335ae4e945341b",
      "tree": "38986b372d8a2d806d11ec6c0f96593c8e3f0e8c",
      "parents": [
        "a2c44665b416522477cffa6752c2f323768d0507"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Sep 22 15:03:57 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Sep 23 09:16:42 2020 -0700"
      },
      "message": "THRIFT-5279: Go serializer/deserializer cleanups\n\nClient: go\n\nCleanup the default NewTSerializer and NewTDeserializer implementations\nto save an unnecessary allocation, and provide\nNewTSerializerPoolSizeFactory and NewTDeserializerPoolSizeFactory for\neasier non-default pool usages.\n"
    },
    {
      "commit": "a2c44665b416522477cffa6752c2f323768d0507",
      "tree": "9942f7d24637c0ee3b4e51b8c8e26e6b3f56c640",
      "parents": [
        "03f4729f7c19abb206fae439e27c1dda7250fdcd"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Sep 21 12:33:26 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Sep 22 16:48:38 2020 -0700"
      },
      "message": "THRIFT-5278: Allow set protoID in go THeader transport/protocol\n\nClient: go\n\nIn Go library code, allow setting the underlying protoID to a\nnon-default (TCompactProtocol) one for THeaderTransport/THeaderProtocol.\n"
    },
    {
      "commit": "22b6c0c8bbc7089ce714f782366c2914c5e9eac5",
      "tree": "c663ad84228397462b114aeb761d399ba5d63f51",
      "parents": [
        "0503fc0112728bd17d9b5163716265c2a879404f"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Aug 28 17:20:31 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Sat Aug 29 09:38:13 2020 -0700"
      },
      "message": "THRIFT-5270: Fix wrong int to string conversions\n\nClient: go\n\nStarting from go 1.15, go test starts to complain about wrongly used int\nto string conversions:\n\n    ./field.go:58:83: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)\n    ./numeric.go:72:12: conversion from int64 to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)\n    ./json_protocol_test.go:612:92: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)\n    ./simple_json_protocol_test.go:685:96: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)\n\njson_protocol_test and simple_json_protocol_test usages are actually\nalready in format arg so just remove the conversion is good enough.\nfield is no longer used anywhere so just removed it (there\u0027s one line of\ncommented out code in compact_protocol so remove that line as well). The\none in numeric.go is actually a bug. We didn\u0027t set sValue correctly in\nNewNumericFromI64 and NewNumericFromI32 functions.\n"
    },
    {
      "commit": "b93fafd327f6de0f4c7496da5dfd5e8c5d8fe499",
      "tree": "77f824ac4fb6ae2aed8276465e9d6959cbac1de9",
      "parents": [
        "64f419b5ad40df233d34cc3715c68b8d85712699"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sun Aug 02 13:36:54 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Mon Aug 03 10:48:24 2020 -0700"
      },
      "message": "THRIFT-5214: Use peek to implement socket connectivity check\n\nClient: go\n\nIn previous implementation of socket connectivity check, we try to read\n1 byte and put it into buffer when succeeded. The buffer complicates\nthe implementation of Read function. Change to use syscall.Recvfrom with\nMSG_PEEK flag instead so that the buffer is no longer needed.\n"
    },
    {
      "commit": "64f419b5ad40df233d34cc3715c68b8d85712699",
      "tree": "223de55598275d97826316e2600fa57100ede006",
      "parents": [
        "86352b4821085d63861deab59c46ef1042fbfe81"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Jul 29 10:12:53 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jul 29 12:42:37 2020 -0700"
      },
      "message": "THRIFT-5257: Fix Go THeaderTransport endOfFrame handling\n\nClient: go\n\nIn the current implementation, we only call endOfFrame when we hit EOF\nwhen reading from the frameReader. The problem is in go stdlib the Read\ncall finished reading the remaining data from frameReader will not\nreturn EOF, the next Read will. This caused us in most cases only call\nendOfFrame at the beginning of the next frame, which could cause\ntroubles because we didn\u0027t read the beginning of the frame properly.\n"
    },
    {
      "commit": "4db7a0af13ac9614e3e9758d42b2791040f4dc7e",
      "tree": "6ea8c8eafb05706125445cb2865540dc1dc84b87",
      "parents": [
        "5dc1d268f5c63b804d0b185943467cfeb47859d5"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Jun 27 10:13:34 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jul 01 11:50:44 2020 -0700"
      },
      "message": "THRIFT-5240: Do connectivity check in Go server\n\nClient: go\n\nIn compiler generated TProcessorFunction implementations, add a\ngoroutine after read the request to do connectivity check on the input\ntransport. If the transport is no longer open, cancel the context object\npassed into the handler implementation.\n\nAlso define ErrAbandonRequest error, to help TSimpleServer closing\nclient connections that\u0027s already closed on the other end.\n"
    },
    {
      "commit": "5dc1d268f5c63b804d0b185943467cfeb47859d5",
      "tree": "d57f0316bbfea7d7dfb9e86a3ec0f37c01fa7fe8",
      "parents": [
        "0dd1363931ac1f9a531b48ded7f1178194fa4ef6"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Jun 27 08:34:31 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Jun 30 10:07:48 2020 -0700"
      },
      "message": "THRIFT-5152: Separate timeout in TSSLSocket\n\nClient: go\n\nWe separated timeout in go\u0027s TSocket into connect timeout and socket\ntimeout in 81334cd, this change does the same for TSSLSocket to keep\nthem consistent.\n\nAlso rename the arg in NewTSocketFromConnTimeout from connTimeout to\nsocketTimeout, because in that function we already have a connection,\nso connect timeout is never used again. The timeout passed into that\nfunction is really for socket timeout, not connect timeout. The name of\nthat function actually means \"New TSocket From Conn (with) Timeout\", not\n\"New TSocket From ConnTimeout\" (I guess that\u0027s where the original\nconfusion came from).\n\nAlso add the missing change note for the breaking change.\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": "cfbb905034c928f073639af00b30d74951744b61",
      "tree": "39e689e4941568f5b05892fcfbba02c0573eddeb",
      "parents": [
        "e382275bad2bd11fb5df33dd7db520fd7596f4ac"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Jun 09 13:07:38 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 21:07:38 2020 +0100"
      },
      "message": "THRIFT-5214: Reset read deadline in socketConn\n\nClient: go\r\n\r\nThis is a slightly different, and less error-prone approach from the\r\nfix in e382275b.\r\n\r\nThe previous approach relies on passing the set socket timeout into the\r\nunderlying socketConn from TSocket and TSSLSocket. But since we have so\r\nmany different constructors for TSocket and TSSLSocket, some makes the\r\ninitial connection in the constructor and some does not, there are so\r\nmany different places we would need to remember to pass socketTimeout\r\ninto socketConn. In the future, when we add another constructor to them,\r\nwe could either forget to pass the socket timeout into socketConn, or\r\ntry to pass it while we haven\u0027t constructed socketConn yet (which will\r\ncause panic), both are bad.\r\n\r\nIn this approach we just clear the read deadline in the connectivity\r\ncheck read. Because that\u0027s a non-blocking read, it would work just fine\r\nwithout a read deadline."
    },
    {
      "commit": "e382275bad2bd11fb5df33dd7db520fd7596f4ac",
      "tree": "274cea670a8b8388f62c97b25bd18b5be6933fdb",
      "parents": [
        "c9890cb873f127137abd513a7ebdf0186ee8c88c"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Jun 08 06:06:17 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 14:06:17 2020 +0100"
      },
      "message": "THRIFT-5214: Push read deadline in socketConn\n\nClient: go\r\n\r\nWe added socketConn to go library for connectivity check in\r\nhttps://github.com/apache/thrift/pull/2153, but forgot to push read\r\ndeadline on the socket when doing the connectivity checks. This caused\r\nthe issue of large number of connectivity checks to fail with I/O\r\ntimeout errors."
    },
    {
      "commit": "c9890cb873f127137abd513a7ebdf0186ee8c88c",
      "tree": "ba2ffa394398ea56c21f361d873627264a628c60",
      "parents": [
        "9fd134f269ccadd3a77a198d0c27c0a0d7c9c723"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Jun 08 04:32:21 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 12:32:21 2020 +0100"
      },
      "message": "THRIFT-5214: Partial rewrite of TFramedTransport\n\nClient: go\r\n\r\nWhile debugging the issue in THRIFT-5214, I original thought that was a\r\nbug in TFramedTransport implementation, so I took some time scrutinize\r\nthe TFramedTransport code. Although in the end there\u0027s no bug, the\r\ncurrent implementation of TFramedTransport, especially in the Read\r\nfunction, has some weird handling while at frame boundary, which is both\r\nerror-prone and hard to follow (I did found and fixed one bug there in\r\nhttps://github.com/apache/thrift/pull/1810 before).\r\n\r\nThe new implementation reads the whole frame into a buffer, which would\r\nuse slightly more memory, but it follows the pattern of TFramedTransport\r\nimplementation of other languages (e.g. Java), and also the pattern we\r\nhandle frame in THeaderTransport. It also reduced the complexity and\r\nweirdness of the frame boundary handling in Read implementation.\r\n\r\nThis rewrite also removes the print call from library code."
    },
    {
      "commit": "9fd134f269ccadd3a77a198d0c27c0a0d7c9c723",
      "tree": "620a50a1f1bfb4456a9792fed90b285ccfae8719",
      "parents": [
        "0acf23b7cf39922a2eee9b969e4e73989050f0d6"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Jun 08 04:30:14 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 12:30:14 2020 +0100"
      },
      "message": "Use io.CopyN to simplify THeaderTransport code\n\nClient: go\r\n\r\nIn THeaderTransport implementation, use io.CopyN instead of\r\nio.Copy+io.LimitReader.\r\n\r\nUnderlying io.CopyN is actually implemented with io.Copy+io.LimitReader\r\n[0], but it also does some extra checks we can take advantage of. It\r\nalso simplifies the code in thrift repo.\r\n\r\n[0]: https://github.com/golang/go/blob/83b181c68bf332ac7948f145f33d128377a09c42/src/io/io.go#L340"
    },
    {
      "commit": "05023e81b264f249affdacad4ebae788b3ada85c",
      "tree": "4fba9d044a814649779bed8c61b87cbb871b6080",
      "parents": [
        "d28f39fbc7bb9607a150544dd8f73f027c898c9b"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue May 26 15:31:20 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 23:31:20 2020 +0100"
      },
      "message": "THRIFT-5214: Connectivity check on go\u0027s TSocket\n\nClient: go\r\n\r\nImplement connectivity check on go\u0027s TSocket and TSSLSocket for\r\nnon-Windows systems.\r\n\r\nThe implementation is inspired by\r\nhttps://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/"
    },
    {
      "commit": "be3f7321cf0b7cff5d178ac09da02fc68dac6bd5",
      "tree": "24e62ed62f965d23815c9cbb18cf47c5d6168248",
      "parents": [
        "26e6c84cde490a22d39c43ba3903dd94bbb8497f"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu May 14 00:28:44 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 08:28:44 2020 +0100"
      },
      "message": "Make TTransportException unwrappable on Go 1.13+\n\nClient: go\r\n\r\nGo 1.13 introduced a new, optional, hidden interface for error\r\nimplementations to make them unwrappable [1]. We currently already kind\r\nof support that (via TTransportException.Err), so just add a new\r\nfunction to make it Go 1.13+ compatible.\r\n\r\n[1] https://pkg.go.dev/errors@go1.13?tab\u003ddoc#pkg-overview"
    },
    {
      "commit": "0c173bf9e02ee218ee7427aa0521845f674a3dd3",
      "tree": "a0d1b165a5ca116907acf4f224c08b7b1558ba75",
      "parents": [
        "48730688fbf00b03f0dcdf3eb44963ad894bd98e"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Apr 30 23:49:29 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 07:49:29 2020 +0100"
      },
      "message": "THRIFT-5164: Small cleanup on example code\n\nClient: go\r\n\r\nGodoc requires at least one other exported type/function to render the\r\nwhole example file in the example, so export\r\nsimpleProcessorLoggingMiddleware to make the example of\r\nProcessorMiddleware more helpful.\r\n\r\nCurrently it\u0027s rendered in a not very helpful way:\r\nhttps://pkg.go.dev/github.com/apache/thrift@v0.13.1-0.20200430141240-5cffef964a08/lib/go/thrift?tab\u003ddoc#example-ProcessorMiddleware\r\n\r\nCompare to the client middleware example rendering:\r\nhttps://pkg.go.dev/github.com/apache/thrift@v0.13.1-0.20200430141240-5cffef964a08/lib/go/thrift?tab\u003ddoc#example-ClientMiddleware\r\n\r\nWhile I\u0027m here, also update CHANGES.md to mention ClientMiddleware.\r\n\r\n[skip ci]"
    },
    {
      "commit": "5cffef964a081314df70b76f8650bd17bfdd55e6",
      "tree": "e9c4393372fb97723d8e467b4f8aaf7221509940",
      "parents": [
        "9c757973462d5db9ad7eaabc41d9f1a531ed32d2"
      ],
      "author": {
        "name": "Andrew Boyle",
        "email": "pacejackson@users.noreply.github.com",
        "time": "Thu Apr 30 07:12:40 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 15:12:40 2020 +0100"
      },
      "message": "THRIFT-5164: Add middleware framework for Go clients\n\nThis commit adds a simple middleware framework for Go clients.\r\n\r\nIt provides:\r\n\r\n * A `ClientMiddleware` function interface used to define the actual middleware\r\n * `WrapClient`, the function that you use to wrap a `TClient` in a list of middleware\r\n * A helper `WrappedTClient` struct to help with developing middleware\r\n\r\nClient: go"
    },
    {
      "commit": "00c039adeb551b297276fcb88131f1cfe82be1cd",
      "tree": "0c47005559fb05eb2663da67e030c6e45c521ecb",
      "parents": [
        "52655cec793a5f2d276942e79de219e299436535"
      ],
      "author": {
        "name": "Andrew Boyle",
        "email": "pacejackson@users.noreply.github.com",
        "time": "Mon Apr 27 11:32:24 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 19:32:24 2020 +0100"
      },
      "message": "THRIFT-5164: Add middleware framework for Go servers\n\nThis commit adds a simple middleware framework for Go servers.\r\n\r\nIt provides:\r\n\r\n * A `ProcessorMiddleware` function interface used to define the actual middleware\r\n * `WrapProcessor`, the function that you use to wrap a `TProcessor` in a list of middleware\r\n * A helper `WrappedTProcessorFunction` struct to help with developing middleware\r\n\r\nThis is a breaking change for any custom implementations of the `TProcessor`\r\ninterface, but does not effect the code generated by compiling Thrift files. It\r\nadds two functions to the interface that are a part of the generated `TProcessor`\r\ncode, but were not defined in the interface explicitly.\r\n"
    },
    {
      "commit": "e98ba9cb841153fcbe2185ca44c77dbbc745ceb3",
      "tree": "27665964d51141aa241ac733d3a91406c5520221",
      "parents": [
        "d5a9bf2b30b4f9533f4ef13ee1a4fdce1036bbaa"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Apr 23 23:39:04 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 07:39:04 2020 +0100"
      },
      "message": "THRIFT-5183: Don\u0027t try to read next frame in THeaderTransport.Read\n\nTrying to read the next frame will likely cause the Read call blocking\r\nindefinitely and eventually lead to timeout. See the JIRA ticket for\r\nmore context.\r\n\r\nClient: go"
    },
    {
      "commit": "9e864d57026b4905862108418ba9482892fb1f65",
      "tree": "337799e20c994eb79d34b59221d84a8f3d1b9198",
      "parents": [
        "5f352754225158f60594a5f19ba8d03261854327"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Apr 17 11:53:39 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 19:53:39 2020 +0100"
      },
      "message": "Add UnsetHeader to go library\n\nClient: go\r\n\r\nWe already have SetHeader and GetHeader helper functions in the go\r\nlibrary to deal with THeader injected into the context object. But we\r\ndidn\u0027t provide a way to unset/delete a key from the context object.\r\n\r\nThis will be useful with the TSimpleServer.SetForwardHeaders API. In the\r\nscenario that a thrift server want to auto forward certain headers to\r\nother upstream thrift servers as the fallback, but during the handling\r\nof the request might decide to remove some of the auto forward headers.\r\nThis is also achievable through mutate the write header list, but since\r\nthat\u0027s a list, finding one key from the list and remove it is much more\r\nhassle."
    },
    {
      "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": "aa9e7e8f5966ec9233ef418bab81b48c5a539028",
      "tree": "4c9eb270297b93a075be2cafda03cda4ba739488",
      "parents": [
        "b012318fc8f1d3de4c64514d5d32cb424952d905"
      ],
      "author": {
        "name": "Renan I. Del Valle",
        "email": "commit@ridv.xyz",
        "time": "Thu Feb 13 11:20:04 2020 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Feb 13 22:42:14 2020 +0100"
      },
      "message": "THRIFT-5092: Return an error instead of causing a panic when attempting to write to a closed client.\nClient: go\nPatch: Renan I. Del Valle\n\nThis closes #2005\n"
    },
    {
      "commit": "397645ac24874b6f54d88b2700e56be090753825",
      "tree": "fa59900d864e2c15e4a04f3a8857c9166b9f3b36",
      "parents": [
        "a5ec666e1ba76fe7385ed56f484c9dfdd5b6bfc9"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Jan 18 12:55:51 2020 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Sat Jan 18 20:55:51 2020 +0000"
      },
      "message": "THRIFT-5069: Make TDeserializer resource pool friendly\n\nClient: go\r\n\r\nThis change improves performance when using TDeserializer with a\r\nresource pool. See https://issues.apache.org/jira/browse/THRIFT-5069 for\r\nmore context.\r\n\r\nAlso add TSerializerPool and TDeserializerPool, which are thread-safe\r\nversions of TSerializer and TDeserializer. Benchmark result shows that\r\nthey are both faster and use less memory than the plain version:\r\n\r\n    $ go test -bench Serializer -benchmem\r\n    goos: darwin\r\n    goarch: amd64\r\n    BenchmarkSerializer/baseline-8            577558              1930 ns/op             512 B/op          6 allocs/op\r\n    BenchmarkSerializer/plain-8               452712              2638 ns/op            2976 B/op         16 allocs/op\r\n    BenchmarkSerializer/pool-8                591698              2032 ns/op             512 B/op          6 allocs/op\r\n    PASS"
    },
    {
      "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": "f4475ff76fe3dcc1b3774d52bf28b333ab9acd01",
      "tree": "0b27f2354f15fd680ede8711de5033dd0bf90fad",
      "parents": [
        "225646b554e6c37de31657e11d907bf35d50679d"
      ],
      "author": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Wed Nov 20 15:31:35 2019 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 20 15:31:35 2019 +0000"
      },
      "message": "THRIFT-5019: Duplicate imports from multiple includes from a namespace\n\nIf a thrift file includes two files from the same namespace into a\r\nseparate file, the generated Go code has duplicate imports for that\r\nnamespace. This fixes that.\r\n\r\nClient: go"
    },
    {
      "commit": "24fa9d0728c5893b11901f6ffb25a9e74a4647c8",
      "tree": "6931b13a3c51ca3801f33de4a518abc53d167a4b",
      "parents": [
        "59694a796f824ffcde745065efa36b8d0ddf8275"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Nov 09 14:21:10 2019 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Sat Nov 09 22:21:09 2019 +0000"
      },
      "message": "THRIFT-4914: Add GetResponseHeadersFromClient helper function\n\nThis is the fourth and final part of THRIFT-4914, which handles the\r\nclient reading part in the response (server -\u003e client direction).\r\n\r\nClient: go\r\n\r\nThis closes #1926."
    },
    {
      "commit": "59694a796f824ffcde745065efa36b8d0ddf8275",
      "tree": "115be11914a5698ecd552c63e818876b94a0fb9b",
      "parents": [
        "4c27181a06cf18154e9e1e8abeb711a75b5cf435"
      ],
      "author": {
        "name": "John Boiles",
        "email": "johnaboiles@gmail.com",
        "time": "Sat Nov 09 11:22:26 2019 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Sat Nov 09 19:22:26 2019 +0000"
      },
      "message": "THRIFT-5002: Fix argument containers for inherited functions\n\nFix a bug where remote.go client fails to compile when services \r\nextend other services and the parent service has a function that \r\nneeds a container for its arguments.\r\n\r\nClient:go\r\n\r\nThis closes #1925."
    },
    {
      "commit": "4c27181a06cf18154e9e1e8abeb711a75b5cf435",
      "tree": "67bac15ff59b934cf0dd80fb0fd579691c736d77",
      "parents": [
        "50caa4de84210d792632c61941c3bb4180f0c665"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Sat Nov 09 11:20:09 2019 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Sat Nov 09 19:20:09 2019 +0000"
      },
      "message": "THRIFT-4914: Add TResponseHelper\n\nThis is the third part of THRIFT-4914, which handles the server writing\r\npart in the response (server -\u003e client direction).\r\n\r\nDefine a new type, TResponseHelper, which only contains THeader related\r\nfunctions for now, but can be extended for other functions in the\r\nfuture.\r\n\r\nIn TSimpleServer, inject a TResponseHelper into the context object\r\npassed into the handler functions. Handler function code could retrieve\r\nthe injected TResponseHelper to set headers to be written to the client.\r\n\r\nClient: go\r\n\r\nThis closes #1923."
    },
    {
      "commit": "963812ae62579f6040b805218d9e798e1e66b324",
      "tree": "07cdcc455f0793eae33ab2ca5280bdfc46a507cb",
      "parents": [
        "596e25f9b07f4eb626e8644b6cc18b93c417b4e5"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Nov 08 01:02:00 2019 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Fri Nov 08 09:02:00 2019 +0000"
      },
      "message": "THRIFT-4984: Handle wrapped io.EOF errors\n\nTCompactProtocol (which is used by THeaderTransport to read headers)\r\ncould wrap the underlying error with TProtocolException, which breaks\r\nerr \u003d\u003d io.EOF test in some cases.\r\n\r\nClient: go\r\n\r\nThis closes #1922."
    },
    {
      "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": "bc75467e4426c76d201c83621f08fa211660b6c3",
      "tree": "68870b4bea8878a1d568f59da208ae0e0fb383e1",
      "parents": [
        "43a93f1e6e7bc0d4247c8fe40c99cdcb8123b334"
      ],
      "author": {
        "name": "Kevin Wojniak",
        "email": "kainjow@users.noreply.github.com",
        "time": "Sat Nov 02 21:13:34 2019 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 03 18:39:38 2019 +0100"
      },
      "message": "Fix \"thruth\" typo\nClient: Go\nPatch: Kevin Wojniak\n\nThis closes #1911\n"
    },
    {
      "commit": "e4870a3571475726dfd53997d7742044d71fd353",
      "tree": "16164207ecb7b52607e7609e96013d9695f7c39c",
      "parents": [
        "c03e2aa196615bc3149d1829b8b8ed01e58c7aa1"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Thu Oct 24 13:23:30 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Thu Oct 24 21:23:30 2019 +0100"
      },
      "message": "THRIFT-4985: Refactor logging in Go library\n\n- Add a new Logger type to make logging configurable\r\n- Use the new logger in TSimpleServer and TDebugProtocol\r\n- Remove pointless log in TZlibTransport\r\n- Remove panic recovery from TSimpleServer. Thrift shouldn\u0027t catch panics caused by caller-defined RPC handlers.\r\n\r\nClient: go\r\n\r\nThis closes #1906."
    },
    {
      "commit": "c03e2aa196615bc3149d1829b8b8ed01e58c7aa1",
      "tree": "7580f2be3824f654ff562bfb84df45b499f4a5a9",
      "parents": [
        "6e4c581fddae9106c2c5a59c4d0bfbe6ad3e4560"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Oct 23 13:43:09 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Wed Oct 23 21:43:09 2019 +0100"
      },
      "message": "THRIFT-4984: Ignore EOF error in TSimpleServer ReadFrame call\n\nEOF isn\u0027t an error that should be bubbled up to the \r\ncaller and we are already ignoring other EOF errors in \r\nTSimpleServer.processRequest [0].\r\n\r\nClient: go\r\n\r\nThis closes #1904.\r\n\r\n[0]: https://github.com/apache/thrift/blob/cecee50308fc7e6f77f55b3fd906c1c6c471fa2f/lib/go/thrift/simple_server.go#L265-L266"
    },
    {
      "commit": "26ef904600edc810f6514605c0611b7442a4c64e",
      "tree": "f0126b2b6ae7fbe362b673690bc3a3d2acc054c3",
      "parents": [
        "74d6d9d3d6400d1672f48b4acf5bc7d1260ad96d"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Aug 19 00:18:22 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Mon Aug 19 08:18:22 2019 +0100"
      },
      "message": "THRIFT-4914: Send context THeaders for client writes\n\nClient: go\r\n\r\nThis is the second part of THRIFT-4914, which handles the client writing\r\npart in the requests (client -\u003e server direction).\r\n\r\nIn TStandardClient, when the context has write headers set, and the\r\nprotocol is THeaderProtocol, automatically extract all headers from the\r\ncontext object and set to THeaderProtocol to send over the wire.\r\n\r\nClient code can set headers into the context object by using the helper\r\nfunctions in header_context.go.\r\n\r\nNote that we have separated keys for read and write header key list, so\r\nthat for code that\u0027s both a server and a client (example: a server that\r\ncalls other upstream thrift servers), they don\u0027t automatically forward\r\nall headers to their upstream servers, and need to explicitly set which\r\nheaders to forward.\r\n\r\nIn order to make auto forwarding easier, also add SetForwardHeaders\r\nfunction to TSimpleServer, which will help the users to auto forward\r\nselected headers.\r\n\r\nThis closes #1845."
    },
    {
      "commit": "b1002a71fb3838039d3442420c604999551311e9",
      "tree": "80b4b84bc585270ef91d2f5e2e07d064c1021f5a",
      "parents": [
        "6ae2b189efbe83caa11d341e69359159a773525e"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Aug 05 13:03:02 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Mon Aug 05 21:03:02 2019 +0100"
      },
      "message": "THRIFT-4914: Add THeader to context for server reads\n\nClient: go\r\n\r\nThis is the first part of THRIFT-4914, which handles the server reading\r\npart in the requests (client -\u003e server direction).\r\n\r\nIn TSimpleServer, when the protocol is THeaderProtocol automatically\r\nadd all present headers into the context object before passing\r\nit to processor, so the processor code can access headers from the\r\ncontext directly by using the new helper functions added in\r\nheader_context.go.\r\n\r\nThis closes #1840."
    },
    {
      "commit": "6ae2b189efbe83caa11d341e69359159a773525e",
      "tree": "6ae3e070cc4de22f43b3da5ee5651f8b7df46ebd",
      "parents": [
        "bb311a772e0a6fc142387abc3489a103662ea187"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Mon Aug 05 04:59:08 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Mon Aug 05 12:59:08 2019 +0100"
      },
      "message": "THRIFT-4612: Avoid double wrapping THeaderTransport\n\nClient: go\r\n\r\nPreviously the library didn\u0027t check against double wrapping, so when\r\nNewTSimpleServerN was used with both THeaderTransportFactory and\r\nTHeaderProtocolFactory, inside THeaderProtocolFactory the transport \r\nwas double wrapped with THeaderTransport.\r\n\r\nWorse, the transport still appeared to work, because THeaderTransport \r\nis backwards compatible with TBinaryProtocol and TCompactProtocol\r\nso the outer layer of THeaderTransport wrapper (the one directly accessible \r\nfrom the protocol) would assume the client doesn\u0027t support THeader and \r\nfallback. So when double wrapping happened, it appeared like everything \r\nwas fine, except you couldn\u0027t get the headers from the protocol (because \r\nthey were in the inner THeaderTransport, not the outer one that\u0027s directly \r\naccessible from the protocol), making it very hard to debug.\r\n\r\nThis commit adds protection against such double wrapping.\r\n\r\nThis closes #1839."
    },
    {
      "commit": "bb311a772e0a6fc142387abc3489a103662ea187",
      "tree": "7b5ddd6cfc58d6e37676446e456ef4274500ef3d",
      "parents": [
        "ebb6b2ed68a4e0a986ce3a7797fb4ae054aa23ac"
      ],
      "author": {
        "name": "Craig Wickesser",
        "email": "codecraig@gmail.com",
        "time": "Fri Jul 19 10:21:51 2019 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Jul 27 16:48:57 2019 -0400"
      },
      "message": "Add pointer helpers for missing types"
    },
    {
      "commit": "ebb6b2ed68a4e0a986ce3a7797fb4ae054aa23ac",
      "tree": "6e6044304dd345b16e33a49955317223167e210d",
      "parents": [
        "90a044659878f3581aba922dbde1ed4bd7918678"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Wed Jul 24 08:42:06 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Wed Jul 24 16:42:06 2019 +0100"
      },
      "message": "THRIFT-4612: Add THeaderTransportFactory to go library\n\nClient: go\r\n\r\nThis was supposed to be in 4d46c11, but was forgotten.\r\n\r\nCloses #1832."
    },
    {
      "commit": "4c847372eb9af8ec0b21ace31840eaabfdf32660",
      "tree": "5245e26481bca676d424995d70cf55b1e8f9a403",
      "parents": [
        "f34b50fdc582d8e625f5d6fe01d7f85ead5cc903"
      ],
      "author": {
        "name": "guozhu cheng",
        "email": "bengol@163.com",
        "time": "Mon Jul 15 19:46:25 2019 +0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Mon Jul 15 12:46:25 2019 +0100"
      },
      "message": "THRIFT-4908: remove reader\u0026writer in Golang\u0027s TBinaryProtocol\n\nClient: go\r\n\r\nThis closes #1831."
    },
    {
      "commit": "d9019fc5a4a2cec110a9acd9f36a45ee34e3b7f2",
      "tree": "6b3ac08003a7da35bf3704f9073a52420d5d387b",
      "parents": [
        "bd1a273ab7979824952bab906b8e260f81b2bd15"
      ],
      "author": {
        "name": "John Boiles",
        "email": "johnaboiles@gmail.com",
        "time": "Fri Jun 28 23:07:10 2019 -0700"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Sat Jun 29 07:07:10 2019 +0100"
      },
      "message": "THRIFT-4797: Fix import collisions in Go \n\nClient: go\r\n\r\nThis closes #1811."
    },
    {
      "commit": "4d46c1124450eeb77d2a6adc7ea5fab304bfeb4a",
      "tree": "e09ae02059d241dd78a761bd3e4133c4e8082001",
      "parents": [
        "823474ec89355f72d3f0720ae5dacc2036d41c03"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Fri Jun 07 20:47:18 2019 +0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Wed Jun 19 22:52:24 2019 +0200"
      },
      "message": "THRIFT-4612: THeader support in go library\n\nClient: go\n\nImplement THeaderTransport and THeaderProtocol, with support of:\n\n* clients:\n  - headers\n  - framedBinary\n  - unframedBinary\n  - framedCompact\n  - unframedCompact\n* transforms:\n  - none\n  - zlib\n* info types:\n  - key_value\n* wrapped protocols:\n  - TBinary\n  - TCompact\n\nThe support list is in general on par of the THeader implementation in\nthe python library.\n\nThe cross-test passes, except ones related to cpp/nodejs http transport,\nwhich were also failing for non-theader protocols.\n\nThis change also fixes two bugs:\n\n1. A small issue in test/go/src/bin/testserver/main.go\n2. A bug in TFrameTransport go implementation\n"
    },
    {
      "commit": "370d7513f074d96007006a82fca4d45e72afe4da",
      "tree": "733b547e1ae7b5d517145ec3bc9b2919c0ce7745",
      "parents": [
        "c035eca3c672511779440bd0779ce5bc93d5c327"
      ],
      "author": {
        "name": "timestee",
        "email": "19310233+timestee@users.noreply.github.com",
        "time": "Mon May 20 19:20:42 2019 +0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon May 20 07:20:42 2019 -0400"
      },
      "message": "spelling mistake, perhaps (#1803) [ci skip\n\n"
    },
    {
      "commit": "264a3f318ed3e9e51573f67f963c8509786bcec2",
      "tree": "8aeac0d9dc9ba7c6e70bcaf384ff71df703f18f7",
      "parents": [
        "6e5c0f6e315ea1cd8526789558bfd10d6cee2173"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Feb 23 13:11:40 2019 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 24 17:19:09 2019 +0100"
      },
      "message": "additional test for TSimpleJSONProtocol\n"
    },
    {
      "commit": "dbc1f8def5018ce5d85d38b9875c6c6b6b424478",
      "tree": "0011127f2edd9221f973eb157438bbd11c0b74d2",
      "parents": [
        "3ca88065dfdb24c5bad6fbd1e3a7e01812628d3b"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 14 16:46:38 2019 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 14 16:46:38 2019 -0500"
      },
      "message": "THRIFT-4024, THRIFT-4783: throw when skipping invalid type (#1742)\n\n* THRIFT-4024: make c_glib throw on unsupported type when skipping\r\n* THRIFT-4783: throw on invalid skip (py)\r\n* THRIFT-4024: make cpp throw on unsupported type when skipping\r\n* THRIFT-4024: uniform skip behavior on unsupported type\r\n"
    },
    {
      "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": "c3375d9e434b5740808813138b28b70517e82c7d",
      "tree": "db8f0e81129461b1ddc6e7a951cbb5667ca15634",
      "parents": [
        "a139082755369611ed243376ec3c4161452369fc",
        "384647d290e2e4a55a14b1b7ef1b7e66293a2c33"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Dec 30 11:06:00 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Dec 30 11:06:00 2018 -0500"
      },
      "message": "Merge remote-tracking branch \u0027origin/0.12.0\u0027 into consume-0.12.0\n"
    },
    {
      "commit": "384647d290e2e4a55a14b1b7ef1b7e66293a2c33",
      "tree": "f876c79d4945d64c1eb8fb55291ba96a03af6dae",
      "parents": [
        "9b75e4fe745a9b08e6ccdc0998ec7a69272f5b4c"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 16 22:36:46 2018 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Dec 18 20:24:34 2018 -0500"
      },
      "message": "Version 0.12.0\n"
    },
    {
      "commit": "2b7365c54f823013cc6a4760798051b22743c103",
      "tree": "0982fdf4b659a05757d14da514db910fde394483",
      "parents": [
        "44ee32cef57cbbd0ad62dfa026f0ee5e746f5c2b"
      ],
      "author": {
        "name": "Jay Gheewala",
        "email": "jay.a.gheewala@gmail.com",
        "time": "Tue Dec 11 00:44:44 2018 -0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 11 09:44:44 2018 +0100"
      },
      "message": "THRIFT-4659: Fix race when closing server socket (#1645)\n\nClient: go"
    },
    {
      "commit": "9ee29516c419b7eaa95ed89a93b135ea1c683576",
      "tree": "31717d7cb66829365cabf159c6a6cbb40de55d38",
      "parents": [
        "8a130f63e5bd09e5c39f9760ba04b5ea0837ff4c"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Wed Oct 17 08:44:48 2018 +0200"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Fri Oct 19 07:48:56 2018 +0100"
      },
      "message": "Replace git.apache.org imports with github.com\n\nClient: go\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": "6e29b192a336bff7d2e22b8c73bc1f1216a41204",
      "tree": "098fd0a277def5c980550b6c5dac89c2ae331e10",
      "parents": [
        "66a44c5d8d57bd0c2e2afd228a29b5bc679a6770"
      ],
      "author": {
        "name": "Vyacheslav Kulakov",
        "email": "kulakov.home@gmail.com",
        "time": "Fri Aug 31 13:42:50 2018 +0300"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Sep 02 07:01:14 2018 -0400"
      },
      "message": "Remove checking of remaining bytes in the Go library.\n\nObtaining the remaining bytes isn\u0027t supported with some combinations of protocols and transports in the Go library. For example, the binary protocol doesn\u0027t work properly with the zlib transport which wraps the framed transport. In libraries for other languages checking is used for directly reading data from a buffer of an underlying transport. If data isn\u0027t enough we just read data from the underlying transport and never throw an error as in the Go library. But buffer for the zlib transport is encapsulated in the Go zlib library and we can\u0027t access to it. So removing that checking is the most simple and convenient method to solve the problem.\n"
    },
    {
      "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": "8a83b041d20671c3fae9528d5ac1f5413cad7c5a",
      "tree": "8a1efd6b9cffd291ab52d4ef403927572497b793",
      "parents": [
        "930428438c0b6c8f60560cbb7dcad79042badacb"
      ],
      "author": {
        "name": "Matthew Pound",
        "email": "mwp@signalfx.com",
        "time": "Thu Mar 29 14:03:50 2018 -0700"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Fri Mar 30 08:48:15 2018 +0200"
      },
      "message": "THRIFT-4537: TSimpleServer can exit AcceptLoop() without releasing lock\n\nClient: go\n\nThis closes #1523.\n"
    },
    {
      "commit": "a9efd1abd4fd4862d8e967ec207015af79494b6c",
      "tree": "046628be5cec1729f7ff571b3426ac5d40f56a03",
      "parents": [
        "68707d92192ffc82a98488e4cdd1033e20cdf3a5"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Mar 15 12:52:37 2018 +0100"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Mar 15 14:16:10 2018 +0100"
      },
      "message": "THRIFT-4516: Fix \"go vet\" warnings for Go 1.10\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": "0ad20bdbfe9abcbb0cc5332ff95651b5c975da91",
      "tree": "7e713c9380844afe41019a7c6ebe4e508eba3464",
      "parents": [
        "8b8a8efea13d1c97f856053af0a5c0e6a8a76354"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Sep 30 15:44:16 2017 -0700"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Oct 19 11:29:04 2017 -0400"
      },
      "message": "THRIFT-4351: use travis build stages to optimize build,\navoiding duplicate rebuilds of the same image, and also\nallow personal docker hub repositories for private fork\nbuilds to be optimized. Move ubsan build to artful image\nbecause it catches more stuff and fix what was found.\n\nTHRIFT-4345: solidify docker build strategy for maximum\ncoverage: trusty, xenial, artful as stock as they can be\n\nTHRIFT-4344: add top level language summary markdown and\nupdate readme with a new image on the layered architecture\n\nTHRIFT-3847: remove VERSION macro from config.h which\nwas causing a conflict on artful builds.\n\nTHRIFT-4359: fix haxe map/set decode when key is binary,\nas a missing break statement caused it to use an int\nduring decode\n\nThis closes #1389\n"
    },
    {
      "commit": "39310dad793ca69b4b7217a3b54430e682e5e2a4",
      "tree": "98a38aa598ae06a78ed8e00901252d78c16f15e8",
      "parents": [
        "e8fbd8c3d559a26242e3fece09dda82551cd1a28"
      ],
      "author": {
        "name": "Yuri Khrustalev",
        "email": "yuri.khrustalev@gmail.com",
        "time": "Mon Sep 25 23:22:33 2017 +0300"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Sep 27 12:46:19 2017 -0700"
      },
      "message": "THRIFT-4346: Allow go ZlibTransportFactory to wrap other factories\nClient: go\n\nThis closes #1375\n"
    },
    {
      "commit": "65efdff10b28fffec8557942d8a0251587d0d3ab",
      "tree": "08364a35db826a96fb09b8cf17630c1807e4175a",
      "parents": [
        "d7720f43632f004df09686faa2f238bcc7f1f706"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Sep 25 00:13:38 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Tue Sep 26 06:48:54 2017 -0700"
      },
      "message": "build both ubuntu xenial as well as trusty to get more language level\ncoverage, force C++98 in one of the C++ builds to guarantee compat,\nand update docker readme\n\nThis closes #1377\n"
    },
    {
      "commit": "1744cdcb674a20c554ae9f23cb95c0c8eff63b90",
      "tree": "66d9e670ea341177cd6ce56c6ca2e41a8bf07414",
      "parents": [
        "cf892d46f6c1b295d99705709364c42ae2dc0158"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Sat Aug 26 00:10:40 2017 +0200"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Sep 09 07:50:54 2017 -0700"
      },
      "message": "configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation\n\nThe thrift build system currently assumes that the thrift compiler is\nalways available in $(top_builddir)/compiler/cpp/thrift. However, in a\ncross-compilation context, this location contains the thrift compiler\nbuilt for the target... which obviously will not run on the build\nmachine.\n\nIn order to support such cross-compilation situation, we introduce the\nTHRIFT variable as a an argument for the configure script (using\nAC_ARG_VAR). If not specified, it defaults to the existing value of\nusing compiler/cpp/thrift from the build directory, but it can be\noverridden when calling ./configure.\n\nNote that $(top_builddir) cannot be used within the configure script,\nso we simply use `pwd`, which is the same as the top_builddir.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\n\nThis closes #1336\nThis closes #1350\n"
    },
    {
      "commit": "1b20b18ec0a4d8eeb7f40566df5ef45a50d697c8",
      "tree": "107c05c51073ec23646940406ef529a919942345",
      "parents": [
        "fcb2f5a8f4048cda9b72b76ec067d174e2690896"
      ],
      "author": {
        "name": "damnever",
        "email": "dxc.wolf@gmail.com",
        "time": "Tue Sep 05 13:14:06 2017 +0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Tue Sep 05 20:00:38 2017 -0700"
      },
      "message": "Add default message for TApplicationException since some implementations may not set message field\nClient: go\n\nThis closes #1335\n"
    },
    {
      "commit": "78b71851fc7ee797a80bbe925bc8cbff77cf339c",
      "tree": "7a48c93daaf3f94d57a256512b36cdf750a45cd9",
      "parents": [
        "9235bec082127e84bf1b0353a0764c9060aca6d2"
      ],
      "author": {
        "name": "tudyzhb",
        "email": "tudyzhb@gmail.com",
        "time": "Mon Sep 04 10:37:10 2017 +0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Tue Sep 05 13:19:39 2017 -0700"
      },
      "message": "THRIFT-4307: Make ssl-open timeout effective in golang client\nClient: go\n\nThis closes #1341\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": "0dd823580c78a79ae9696eb9b3650e400fff140f",
      "tree": "263d43e26145bf9cd0f230243e183d31ddee0db8",
      "parents": [
        "5e9209ff0f740d9b39450f01dd30fd266d3e80f5"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "dcelasun@gmail.com",
        "time": "Sat Jun 10 16:37:47 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jul 11 23:10:05 2017 +0200"
      },
      "message": "THRIFT-4219 remove http GET functions, Thrift only uses POST\nClient: Go\nPatch: D. Can Celasun \u003cdcelasun@gmail.com\u003e\n\nThis closes #1287\n"
    },
    {
      "commit": "5e9209ff0f740d9b39450f01dd30fd266d3e80f5",
      "tree": "bad553a27077dc62a71e049b6aec6692b6519b51",
      "parents": [
        "b56ead31153dae3d0e6a7a3e296dc2ca0c468586"
      ],
      "author": {
        "name": "Zachary Wasserman",
        "email": "zachwass2000@gmail.com",
        "time": "Thu Jul 06 17:39:55 2017 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 08 15:35:42 2017 +0200"
      },
      "message": "THRIFT-4237 Fix effective deadlock introduced by original patch\nClient: Go\nPatch: Zachary Wasserman \u003czachwass2000@gmail.com\u003e\n\nThis closes #1304\n"
    },
    {
      "commit": "49e5103920e75a149d02c7d487496c8c79154a6c",
      "tree": "644511a3ff225b11a77e050ad9a78cc5319e88f3",
      "parents": [
        "5b4c6bfc627ddbd56d1e98d4b818bec8cd8a5efd"
      ],
      "author": {
        "name": "liduo04",
        "email": "pirdol@qq.com",
        "time": "Wed Jul 05 22:01:44 2017 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jul 05 21:59:07 2017 +0200"
      },
      "message": "THRIFT-4245 Golang TFramedTransport\u0027s writeBuffer increases if writes to transport failed\nClient: Go\nPatch: liduo04 \u003cpirdol@qq.com\u003e\n\nThis closes #1303\n"
    },
    {
      "commit": "5b4c6bfc627ddbd56d1e98d4b818bec8cd8a5efd",
      "tree": "b05a750e92ce3ed5647d82dea6f2ba6dcd1bb653",
      "parents": [
        "c0a7050c0ab0200345d97d34fe1f83846701bf76"
      ],
      "author": {
        "name": "taozle",
        "email": "zhangliyang26@gmail.com",
        "time": "Tue Jun 27 12:27:40 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 01 17:23:56 2017 +0200"
      },
      "message": "THRIFT-4236: Add context support for go server.\nClient: Go\nPatch: taozle \u003czhangliyang26@gmail.com\u003e\n\nThis closes #1298\n"
    },
    {
      "commit": "c0a7050c0ab0200345d97d34fe1f83846701bf76",
      "tree": "1130aa5ef8662bb8a091f14e14a5ca9a8d8156e7",
      "parents": [
        "c1794358bbf755f7bccacefb6a325804aa195d65"
      ],
      "author": {
        "name": "Zachary Wasserman",
        "email": "zachwass2000@gmail.com",
        "time": "Tue Jun 27 07:58:13 2017 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 01 16:05:10 2017 +0200"
      },
      "message": "THRIFT-4237 Fix data races in Go TServerSocket\nClient: Go\nPatch: Zachary Wasserman \u003czachwass2000@gmail.com\u003e\n\nThis closes #1300\n"
    },
    {
      "commit": "c1794358bbf755f7bccacefb6a325804aa195d65",
      "tree": "3ab9532c999baea865190816d5d06581664b1747",
      "parents": [
        "b771cbedd6e7af4b2886eabea4bbc47aa860449a"
      ],
      "author": {
        "name": "Zachary Wasserman",
        "email": "zachwass2000@gmail.com",
        "time": "Thu Jun 29 17:15:01 2017 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 01 16:01:12 2017 +0200"
      },
      "message": "THRIFT-4243 Fix Go TSimpleServer race on wait in Stop() method\nClient: Go\nPatch: Zachary Wasserman \u003czachwass2000@gmail.com\u003e\n\nThis closes #1302\n"
    },
    {
      "commit": "b771cbedd6e7af4b2886eabea4bbc47aa860449a",
      "tree": "87af12bd76cb965ae3854f065ac6feff5db126fa",
      "parents": [
        "c0e353500d0fabe873ad950e5db3317dafd44544"
      ],
      "author": {
        "name": "Zachary Wasserman",
        "email": "zachwass2000@gmail.com",
        "time": "Tue Jun 27 12:03:39 2017 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 01 16:00:02 2017 +0200"
      },
      "message": "THRIFT-4240 Fix use of sync.Once in Go TSimpleServer Stop() method\nClient: Go\nPatch: Zachary Wasserman \u003czachwass2000@gmail.com\u003e\n\nThis closes #1301\n"
    },
    {
      "commit": "b8ee72de5bf9318d50846852082325d0f932682b",
      "tree": "16ee6cb9898aebb6d3bafe1fef5cf7aa78e28e28",
      "parents": [
        "48ea3cde081b6343ceda2f1e3811887c1d11859b"
      ],
      "author": {
        "name": "Zachary Wasserman",
        "email": "zachwass2000@gmail.com",
        "time": "Wed May 31 09:50:12 2017 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jun 07 22:45:54 2017 +0200"
      },
      "message": "THRIFT-4222 Support Unix Domain Sockets in Golang TServerSocket\nClient: Go\nPatch: Zachary Wasserman \u003czachwass2000@gmail.com\u003e\n\nThis closes #1284\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": "a576896398f03d1854f128479d31659446c51027",
      "tree": "fa55adfa5ccb2d54e80d90abc32cc75d1c4539ba",
      "parents": [
        "d1380d52999e3c47e978879059f5017d01b257f3"
      ],
      "author": {
        "name": "libinbin",
        "email": "libinbin@17paipai.cn",
        "time": "Thu May 18 14:18:28 2017 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 18 23:24:52 2017 +0200"
      },
      "message": "THRIFT-4203 thrift server stop gracefully\nClient: Go\nPatch: libinbin \u003clibinbin@17paipai.cn\u003e\n\nThis closes #1271\n"
    },
    {
      "commit": "b67cad46e43c2a88e6f9cc986a9f0c3b6b300971",
      "tree": "98b82c07e84b439ab7beff5a7b960a3c05920faf",
      "parents": [
        "9a745aa4a9ac1098f0ea584d0f4e85ca1f04c964"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu May 11 12:04:01 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 13 13:58:02 2017 +0200"
      },
      "message": "THRIFT-4197 Implement transparent gzip compression for HTTP transport\nClient: Go\nPatch: D. Can Celasun \u003ccan@dcc.im\u003e\n\nThis closes #1266\n"
    },
    {
      "commit": "d5536d1ea0300d5643600608492ae51b35538cbf",
      "tree": "4e8e628b718421adb8922bdbccd8f8669582d92d",
      "parents": [
        "f65db706b39ceb4898d6c78fe8a7a37501e02c13"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Apr 01 11:18:45 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Apr 01 11:21:12 2017 -0400"
      },
      "message": "THRIFT-3730: go server errors are logged twice\nClient: go\nPatch: zhujun2006 \u003cstone1342006 at gmail dot com\u003e\n\nThis closes #940\n"
    },
    {
      "commit": "847fae9388048aa9e09d5ed042e34f5452638248",
      "tree": "270e3a5edbbe3620fcf66749756ad19873b47527",
      "parents": [
        "bf9b6970ba3e30d0a13eca358335508b3f788e33"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Mar 22 15:17:30 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Mar 22 15:17:30 2017 -0400"
      },
      "message": "THRIFT-3959: document that the go simple server is not simple\nClient: go\nPatch: JodeZer \u003cjeffery1993@hotmail.com\u003e\n\nThis closes #1213\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": "06190874c8ba8f3a0c7ae83a59965d56c205e080",
      "tree": "fa2bedf10194cb1ec79b2d9546b4917bc4107e59",
      "parents": [
        "239233afb6fd5bd2fb81743e88303c9ac17d7edb"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Feb 20 08:52:11 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Feb 20 08:52:11 2017 -0500"
      },
      "message": "THRIFT-4084: Add a SSL/TLS negotiation check to crossfeature to verify SSLv3 is not active and that at least one of TLSv1.0 through 1.2 are accepted.\nClient: csharp, d, go, nodejs, perl\n\nThis closes #1197\n"
    },
    {
      "commit": "5f723cd53980f395a92c438790a127cbd5699d90",
      "tree": "dced9178d553251f180c29b4c10197cd55267445",
      "parents": [
        "4f710aa4f47e051d41c863aa7aa9239dab5b9636"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jan 10 21:57:48 2017 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jan 11 20:50:38 2017 +0100"
      },
      "message": "THRIFT-4024 Skip() should throw on unknown data types\nClient: C#, NETCore, Haxe, Delphi, Go\nPatch: Jens Geyer\n\nThis closes #1155\n"
    }
  ],
  "next": "c3a3f653b66b7cccf61c936dc349de27b8a18899"
}
