)]}'
{
  "log": [
    {
      "commit": "143af507040d30173908b96b81f338e34e1f81e9",
      "tree": "d9bdc7ccdd3664cedf118017627da5c6bdbd05f5",
      "parents": [
        "71363a7d50cbdc50e2fcd62e2fd2ccc02018c0fb"
      ],
      "author": {
        "name": "hexueyuan",
        "email": "im.hexueyuan@outlook.com",
        "time": "Thu Dec 18 14:48:36 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 14:48:36 2025 +0800"
      },
      "message": "Support ssl. (#157)\n\n* Support ssl.\n\n* Added compatibility code for the SSL interface.\n\n---------\n\nCo-authored-by: hexueyuan \u003chexueyuan@baidu.com\u003e"
    },
    {
      "commit": "71363a7d50cbdc50e2fcd62e2fd2ccc02018c0fb",
      "tree": "04a143186cb64bc262428f8433ad0b24c72e6870",
      "parents": [
        "d074515b0104354d1b54ad53a110e49413f8d889"
      ],
      "author": {
        "name": "yuz10",
        "email": "845238369@qq.com",
        "time": "Wed Mar 20 20:22:20 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 20 20:22:20 2024 +0800"
      },
      "message": "support trace (#136)\n\n"
    },
    {
      "commit": "d074515b0104354d1b54ad53a110e49413f8d889",
      "tree": "a1ec24710d087581a67a1fa96914527d12af3eca",
      "parents": [
        "48f7cf9470e83ac142a360b4d96c5fd71e0a3013"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Dec 01 16:56:03 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 01 16:56:03 2020 +0800"
      },
      "message": "Add a multi-thread producer test case (#102)\n\n"
    },
    {
      "commit": "48f7cf9470e83ac142a360b4d96c5fd71e0a3013",
      "tree": "c18fc4e8a1caecc25cca7fad047cb580a93cc702",
      "parents": [
        "58397dc86d85d1b16a4d949c430e7499722050b5",
        "89ad6bde4351ecafa582770a3826ac9c660134b9"
      ],
      "author": {
        "name": "von gosling",
        "email": "vongosling@apache.org",
        "time": "Mon Oct 19 09:27:27 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 09:27:27 2020 +0800"
      },
      "message": "Merge pull request #100 from tom0392/multi-threaded\n\n[ISSUE #99]Add a function which shows how to use rocketmq in multi-threaded scen…"
    },
    {
      "commit": "89ad6bde4351ecafa582770a3826ac9c660134b9",
      "tree": "c18fc4e8a1caecc25cca7fad047cb580a93cc702",
      "parents": [
        "58397dc86d85d1b16a4d949c430e7499722050b5"
      ],
      "author": {
        "name": "tangzhongrui",
        "email": "tangzhongrui_yewu@cmss.chinamobile.com",
        "time": "Sat Oct 17 10:02:49 2020 +0800"
      },
      "committer": {
        "name": "tangzhongrui",
        "email": "tangzhongrui_yewu@cmss.chinamobile.com",
        "time": "Sat Oct 17 10:02:49 2020 +0800"
      },
      "message": "Add a function which shows how to use rocketmq in multi-threaded scenarios properly to handle exception such as Namer Server Cluster and Broker Cluster restart\n"
    },
    {
      "commit": "58397dc86d85d1b16a4d949c430e7499722050b5",
      "tree": "b3970ed32614f3b23dbeff6d96d5be6ed514929f",
      "parents": [
        "9a38c4314abbc290396c75de28054898214c3d3f"
      ],
      "author": {
        "name": "ziyht",
        "email": "joyhaitao@foxmail.com",
        "time": "Tue Oct 13 04:09:40 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 04:09:40 2020 +0800"
      },
      "message": "[ISSUE #96] Fix the memory leak in Message (#98)\n\nMessage created by cpp library not released in class Message"
    },
    {
      "commit": "9a38c4314abbc290396c75de28054898214c3d3f",
      "tree": "ede3593c3c957a9969bb9e462eb29ff1734ca86a",
      "parents": [
        "7e9ffd91c3f94a9e2ab3971ced6fb329a0c7e6ec"
      ],
      "author": {
        "name": "sicklife",
        "email": "tubkninght@gmail.com",
        "time": "Wed Jul 29 22:12:57 2020 +0800"
      },
      "committer": {
        "name": "James Yin",
        "email": "ywhjames@hotmail.com",
        "time": "Wed Jul 29 23:12:05 2020 +0800"
      },
      "message": "add set_instance_name function for producer\n"
    },
    {
      "commit": "7e9ffd91c3f94a9e2ab3971ced6fb329a0c7e6ec",
      "tree": "bca2bbaff9ee285e6432a6bdcac55b104089fad2",
      "parents": [
        "44824e4c20a04dbe0ab18adb499998c5c9156b74"
      ],
      "author": {
        "name": "Lin",
        "email": "ysjjovo@gmail.com",
        "time": "Fri May 08 14:38:11 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 14:38:11 2020 +0800"
      },
      "message": "[ISSUE #88]Sample Callback should return ConsumeStatus (#90)\n\n"
    },
    {
      "commit": "44824e4c20a04dbe0ab18adb499998c5c9156b74",
      "tree": "7fdf83fd8010eeeb12293a229d37341143bd087f",
      "parents": [
        "f01c884fe1f0902129dce59e24cb8bdcddcdc158"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Fri Feb 14 18:18:19 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 14 18:18:19 2020 +0800"
      },
      "message": "feat(doc): update cpp library install methods. (#84)\n\n* feat(doc): update cpp library install methods.\r\n\r\n* feat(doc): update cpp library install methods.\r\n"
    },
    {
      "commit": "f01c884fe1f0902129dce59e24cb8bdcddcdc158",
      "tree": "d923927fe9bf6262f8b455e92e70e5319a8c6cfb",
      "parents": [
        "3fb373d0c3ac7cdd040150993441cfd5895afdae"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Wed Jan 08 13:08:06 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 08 13:08:06 2020 +0800"
      },
      "message": "fix(doc): update notice and open statistic label (#83)\n\n"
    },
    {
      "commit": "3fb373d0c3ac7cdd040150993441cfd5895afdae",
      "tree": "6f5b660e4b7a1acb57746189962bd569248c42cd",
      "parents": [
        "a3f132b27e55bfa463445b9c868146d3328d6814"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Fri Dec 20 11:47:44 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 20 11:47:44 2019 +0800"
      },
      "message": "doc(readme): update prerequisites install.\n\ndoc(readme): update prerequisites install."
    },
    {
      "commit": "a3f132b27e55bfa463445b9c868146d3328d6814",
      "tree": "7cc2b40e57fb94da4c4f53d0bf4dcd0ef2fbeba8",
      "parents": [
        "6bf0e60c6d06a13610c39762bea762d025388ef9"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Tue Dec 17 21:31:56 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Tue Dec 17 21:31:56 2019 +0800"
      },
      "message": "feat(version): update version to next release.\n"
    },
    {
      "commit": "6bf0e60c6d06a13610c39762bea762d025388ef9",
      "tree": "6fc12c0cafde81019b645606797fe98b4911e260",
      "parents": [
        "62f90483556e6c14cf56d792a74b71fcbe4d382d"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Tue Dec 17 21:31:23 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Tue Dec 17 21:31:23 2019 +0800"
      },
      "message": "feat(version): update version to next release.\n"
    },
    {
      "commit": "62f90483556e6c14cf56d792a74b71fcbe4d382d",
      "tree": "dded54a6a22f481f8a7d0122309c41993ee8a1e9",
      "parents": [
        "2eb90cf0eda63e17cae46f82aaaad89176553836"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Tue Dec 17 20:14:01 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Tue Dec 17 20:14:01 2019 +0800"
      },
      "message": "feat(version): update version to 2.0.0 to release\n"
    },
    {
      "commit": "2eb90cf0eda63e17cae46f82aaaad89176553836",
      "tree": "b12de5b45518c8210f307091b7c0bcd43206cf11",
      "parents": [
        "9990413d7b6b7cb665bac700095bb2bab767e66e"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Mon Dec 09 21:17:02 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 09 21:17:02 2019 +0800"
      },
      "message": "fix(travisci): update rocketmq download link to apache archive server (#79)\n\nfix(travisci): update rocketmq download link to apache archive server (#79)"
    },
    {
      "commit": "9990413d7b6b7cb665bac700095bb2bab767e66e",
      "tree": "61664d8d484f47c14f1de6f2e03b469b65f80f98",
      "parents": [
        "09197815c69c32b73f98261c3a229f3c20381aea"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Thu Nov 21 22:02:35 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 21 22:02:35 2019 +0800"
      },
      "message": "doc(notice): update copyright year to 2019.\n\ndoc(notice): update copyright year to 2019."
    },
    {
      "commit": "09197815c69c32b73f98261c3a229f3c20381aea",
      "tree": "36b75b71c3de15eb3f5ee6fab36056bc3b266dce",
      "parents": [
        "439dff5b03d3819c0ab19b2b8189a4e4bd67fd2c"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Thu Nov 21 21:58:07 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 21 21:58:07 2019 +0800"
      },
      "message": "doc(readme): add apache license v2 link.\n\ndoc(readme): add apache license v2 link."
    },
    {
      "commit": "439dff5b03d3819c0ab19b2b8189a4e4bd67fd2c",
      "tree": "064a948164206963a2a90e7f86e03c22b636bf16",
      "parents": [
        "08bc79c9fcd1c851433f6ad4fd44abac00c0d1ba",
        "bf88e10c3bdabc8b8d91e4452d78a3d56685f719"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Thu Nov 21 21:21:36 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Thu Nov 21 21:21:36 2019 +0800"
      },
      "message": "feat(platforms): switch branch ctypes to master to support both python2.x and  python 3.x\n"
    },
    {
      "commit": "08bc79c9fcd1c851433f6ad4fd44abac00c0d1ba",
      "tree": "e2b74d3fdc79a91a81eff36be9d75518af8096b3",
      "parents": [
        "e8e43cc36cca4d411b2751f531e5527700a717b2"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Wed Nov 20 14:52:44 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 20 14:52:44 2019 +0800"
      },
      "message": "doc(readme): use cpp 1.2.4 for quick install\n\ndoc(readme): use CPP 1.2.4 for quick install"
    },
    {
      "commit": "bf88e10c3bdabc8b8d91e4452d78a3d56685f719",
      "tree": "064a948164206963a2a90e7f86e03c22b636bf16",
      "parents": [
        "f77966eb91138f981abad91dc9c3e2229c737106",
        "6a4e0b607556f87c767aa475b8e818c1ec51276c"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Fri Nov 08 16:55:07 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 08 16:55:07 2019 +0800"
      },
      "message": "style(client) polish code style\n\nstyle(client) polish code style"
    },
    {
      "commit": "6a4e0b607556f87c767aa475b8e818c1ec51276c",
      "tree": "064a948164206963a2a90e7f86e03c22b636bf16",
      "parents": [
        "a24fc2801c5dfe8c6beda9c1c150c7028b149c46"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 16:36:51 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 16:36:51 2019 +0800"
      },
      "message": "doc(readme) adapt to new client\u0027s api\n"
    },
    {
      "commit": "a24fc2801c5dfe8c6beda9c1c150c7028b149c46",
      "tree": "a811325a4720062421d5a5ee92c9ec20257f19d9",
      "parents": [
        "299a518568206647ee589787c5e58f9cd0176ee4"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 13:45:08 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 13:45:08 2019 +0800"
      },
      "message": "fix(test) fix the unit test in consumer\n"
    },
    {
      "commit": "299a518568206647ee589787c5e58f9cd0176ee4",
      "tree": "ef019e961118dbd4e8ec8f96ba6edccf4deb652e",
      "parents": [
        "eea995bd71661df881befe77cb08c0f7eb1a8f8a"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 13:39:52 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 13:39:52 2019 +0800"
      },
      "message": "style(client)polish the code style and fix the unit test\n"
    },
    {
      "commit": "eea995bd71661df881befe77cb08c0f7eb1a8f8a",
      "tree": "ba63ee35cc2d0432a1437d116547801d86e666cc",
      "parents": [
        "1226f5d34007d003390b88afd0ce8a5fc6123f8f"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 12:40:26 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Fri Nov 08 12:40:26 2019 +0800"
      },
      "message": "style(client) polish code style\n"
    },
    {
      "commit": "f77966eb91138f981abad91dc9c3e2229c737106",
      "tree": "f86f308dc30443abb5b3dc0573d22997f7885341",
      "parents": [
        "ccfb226d0f9a656cae108c1c567f38dc5e5520fe",
        "1226f5d34007d003390b88afd0ce8a5fc6123f8f"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Wed Nov 06 18:45:02 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 06 18:45:02 2019 +0800"
      },
      "message": "Merge pull request #71 from duhenglucky/ctypes_docs\n\ndocs(readme) fix the pypi link to rocketmq-client-python"
    },
    {
      "commit": "1226f5d34007d003390b88afd0ce8a5fc6123f8f",
      "tree": "f86f308dc30443abb5b3dc0573d22997f7885341",
      "parents": [
        "ccfb226d0f9a656cae108c1c567f38dc5e5520fe"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Nov 06 15:06:24 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Nov 06 15:06:24 2019 +0800"
      },
      "message": "docs(readme) fix the pypi link to rocketmq-client-python\n"
    },
    {
      "commit": "ccfb226d0f9a656cae108c1c567f38dc5e5520fe",
      "tree": "584b46bd77e413c96b22b2c339da2519d3374fdf",
      "parents": [
        "5af73300eeba2c355e816e6d6d6ec98d0f27f582",
        "a280c3045d918979e41f9a0ea1dc865463581261"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Mon Nov 04 23:03:51 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 23:03:51 2019 +0800"
      },
      "message": "Merge pull request #70 from duhenglucky/fix_tests\n\nchore(tests) adapt to the ons cpp core"
    },
    {
      "commit": "a280c3045d918979e41f9a0ea1dc865463581261",
      "tree": "584b46bd77e413c96b22b2c339da2519d3374fdf",
      "parents": [
        "5af73300eeba2c355e816e6d6d6ec98d0f27f582"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 22:53:37 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 22:53:37 2019 +0800"
      },
      "message": "chore(tests) adapt to the ons cpp core\n"
    },
    {
      "commit": "5af73300eeba2c355e816e6d6d6ec98d0f27f582",
      "tree": "de62504c7d7d3012e20fcbb66349cb88503557e5",
      "parents": [
        "8bbac056400d828546abd78e844e50346b656ea2",
        "645768dd74339f4a812c45db3aac7978d6e5629b"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Mon Nov 04 22:28:07 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 22:28:07 2019 +0800"
      },
      "message": "Merge pull request #69 from RongtongJin/ctypes_test\n\nchore(tests): polish tests"
    },
    {
      "commit": "645768dd74339f4a812c45db3aac7978d6e5629b",
      "tree": "de62504c7d7d3012e20fcbb66349cb88503557e5",
      "parents": [
        "4c376df4e30f500b3b824d812d560ec2071ce382"
      ],
      "author": {
        "name": "rongtongjin",
        "email": "794220751@qq.com",
        "time": "Mon Nov 04 20:57:23 2019 +0800"
      },
      "committer": {
        "name": "rongtongjin",
        "email": "794220751@qq.com",
        "time": "Mon Nov 04 20:57:23 2019 +0800"
      },
      "message": "chore(tests):pass the tests\n"
    },
    {
      "commit": "4c376df4e30f500b3b824d812d560ec2071ce382",
      "tree": "aa2a986759dda6b277507a953aa2536e8c8c0b49",
      "parents": [
        "8bbac056400d828546abd78e844e50346b656ea2"
      ],
      "author": {
        "name": "rongtongjin",
        "email": "794220751@qq.com",
        "time": "Mon Nov 04 20:30:44 2019 +0800"
      },
      "committer": {
        "name": "rongtongjin",
        "email": "794220751@qq.com",
        "time": "Mon Nov 04 20:30:44 2019 +0800"
      },
      "message": "chore(tests):polish tests\n"
    },
    {
      "commit": "8bbac056400d828546abd78e844e50346b656ea2",
      "tree": "2b12e004c092b48000f807566bf016ddb0d9a805",
      "parents": [
        "96ca920f0e8a4f66e33442e18d79cb1707913801",
        "6011b4b81497c0c6ba06a101e805ef3e3c5d70be"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Mon Nov 04 19:26:36 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 19:26:36 2019 +0800"
      },
      "message": "Merge pull request #68 from ShannonDing/noasync\n\nfeat(producer): can not support async send anymore"
    },
    {
      "commit": "6011b4b81497c0c6ba06a101e805ef3e3c5d70be",
      "tree": "2b12e004c092b48000f807566bf016ddb0d9a805",
      "parents": [
        "fd60d58a5309e2d209c9edf7ba92eb34957c952a"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 19:15:51 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 19:15:51 2019 +0800"
      },
      "message": "feat(producer): remove orderly send test case.\n"
    },
    {
      "commit": "fd60d58a5309e2d209c9edf7ba92eb34957c952a",
      "tree": "698643ff4bf089b6f5d685d0c029fb2c84ef34ea",
      "parents": [
        "27ae82e6fd58983709706c3f15bf62f6f88456d5"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 19:10:06 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 19:10:06 2019 +0800"
      },
      "message": "feat(producer): remove unnessary apis.\n"
    },
    {
      "commit": "27ae82e6fd58983709706c3f15bf62f6f88456d5",
      "tree": "9a10ff2038ab014a38bbbce16061c92152bdd910",
      "parents": [
        "d24e100e193381c46daf003b9862976e1b79ffad"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 17:41:33 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 17:41:33 2019 +0800"
      },
      "message": "feat(producer): remove send orderly in oneway mode.\n"
    },
    {
      "commit": "d24e100e193381c46daf003b9862976e1b79ffad",
      "tree": "c79962107be0d7c87e626cf6f428f34b2537ae84",
      "parents": [
        "96ca920f0e8a4f66e33442e18d79cb1707913801"
      ],
      "author": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 17:13:40 2019 +0800"
      },
      "committer": {
        "name": "ShannonDing",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 17:13:40 2019 +0800"
      },
      "message": "feat(producer): can not support async send anymore\n"
    },
    {
      "commit": "96ca920f0e8a4f66e33442e18d79cb1707913801",
      "tree": "587a1d20e979a573a7da8a74b0b1687d676fa977",
      "parents": [
        "5debfd03b2d14c318e662f78e7f16dc6800224da",
        "78a41c8d5595036bb4db67614867303d14cbe565"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Mon Nov 04 16:45:50 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 16:45:50 2019 +0800"
      },
      "message": "Merge pull request #67 from duhenglucky/fix_ci\n\ntest(producer) improve the transaction unit test stability"
    },
    {
      "commit": "78a41c8d5595036bb4db67614867303d14cbe565",
      "tree": "587a1d20e979a573a7da8a74b0b1687d676fa977",
      "parents": [
        "8e8729f112c5f34ceb2d9b867fd34660ff39d63a"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 16:36:12 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 16:36:12 2019 +0800"
      },
      "message": "test(producer) improve the transaction unit test stability\n"
    },
    {
      "commit": "5debfd03b2d14c318e662f78e7f16dc6800224da",
      "tree": "a2677350aa21a24133b03b571310b0576fabc3b8",
      "parents": [
        "e4bd9a8a3e302111c50cba41445cb15d3926fb91",
        "8e8729f112c5f34ceb2d9b867fd34660ff39d63a"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Mon Nov 04 15:27:09 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 15:27:09 2019 +0800"
      },
      "message": "Merge pull request #66 from duhenglucky/unit_test_improve\n\ntest(producer) improve the transaction unit test stability"
    },
    {
      "commit": "e8e43cc36cca4d411b2751f531e5527700a717b2",
      "tree": "cff207f567bc3d12b6d043341daaf022803f7abd",
      "parents": [
        "6d7a08bb53b352a9be60dbf489d3b04ff9e675c8"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Mon Nov 04 15:23:24 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 15:23:24 2019 +0800"
      },
      "message": "fix(Readme):  use master svg in ci build result"
    },
    {
      "commit": "8e8729f112c5f34ceb2d9b867fd34660ff39d63a",
      "tree": "a2677350aa21a24133b03b571310b0576fabc3b8",
      "parents": [
        "101cc3e22a9ed2c5e014b4a318c522fce839d071"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 15:19:05 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 15:19:05 2019 +0800"
      },
      "message": "test(producer) improve the transaction unit test stability\n"
    },
    {
      "commit": "e4bd9a8a3e302111c50cba41445cb15d3926fb91",
      "tree": "232d88bca9ecb6fd0578cdf9d2805bf69b17fe6b",
      "parents": [
        "5e2064b1f6bad6911dc9edbb595b90b6665a0cfa",
        "101cc3e22a9ed2c5e014b4a318c522fce839d071"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Mon Nov 04 14:50:03 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 14:50:03 2019 +0800"
      },
      "message": "Merge pull request #65 from duhenglucky/fix_ci\n\nPull the docker image from the official docker hub repo."
    },
    {
      "commit": "101cc3e22a9ed2c5e014b4a318c522fce839d071",
      "tree": "232d88bca9ecb6fd0578cdf9d2805bf69b17fe6b",
      "parents": [
        "ba138fef2342368e6920265397c5b8044ea9b1e5"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 14:30:54 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 14:30:54 2019 +0800"
      },
      "message": "chore(CI) change the travis and codecov graph to official repo\n"
    },
    {
      "commit": "ba138fef2342368e6920265397c5b8044ea9b1e5",
      "tree": "175254494bd668faeaefc16b9e3acbe1873aac12",
      "parents": [
        "38530dfc1ff44b7bcae3ea42e6f712d214ef78f7"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 13:38:13 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 13:38:13 2019 +0800"
      },
      "message": "chore(CI) pull the image from officail docker repo\n"
    },
    {
      "commit": "38530dfc1ff44b7bcae3ea42e6f712d214ef78f7",
      "tree": "f7b81f26232591965d47067448a52eba03004850",
      "parents": [
        "5e2064b1f6bad6911dc9edbb595b90b6665a0cfa"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 10:48:33 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Nov 04 10:48:33 2019 +0800"
      },
      "message": "doc(client) modify the meta info\n"
    },
    {
      "commit": "5e2064b1f6bad6911dc9edbb595b90b6665a0cfa",
      "tree": "4c813440963ed855a624c7aaa30cafcfbc778db4",
      "parents": [
        "03f524c42b9f4d78826309ec4f552e76e62de45b",
        "9a5b1cb35c90b5ec9fd3d8d536ee3009ce5d33c0"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Fri Nov 01 16:57:41 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 01 16:57:41 2019 +0800"
      },
      "message": "Merge pull request #61 from duhenglucky/transaction_message\n\n[ctypes]some new features support"
    },
    {
      "commit": "9a5b1cb35c90b5ec9fd3d8d536ee3009ce5d33c0",
      "tree": "4c813440963ed855a624c7aaa30cafcfbc778db4",
      "parents": [
        "97338e05d01c1277285bfe4400b2fc1b34841e7b"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 23:23:55 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 23:23:55 2019 +0800"
      },
      "message": "fix(producer) fix the exc not defination error in TransactionProducer\n"
    },
    {
      "commit": "97338e05d01c1277285bfe4400b2fc1b34841e7b",
      "tree": "74b8f16c32c23da682580ab441dc64b9cdf2b2ee",
      "parents": [
        "b16cf01f89ad3d9585c3e9ce4892da8468e40127"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 19:57:30 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 19:57:30 2019 +0800"
      },
      "message": "chore(producer) add stronge validation in TransactionProducer\n"
    },
    {
      "commit": "b16cf01f89ad3d9585c3e9ce4892da8468e40127",
      "tree": "f1e555bacdd67f63fe4da9a8bd8e26948dd3df48",
      "parents": [
        "9610991b36ac75aeac31020ac26a6a1552fe6ce9"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 19:29:17 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 19:29:17 2019 +0800"
      },
      "message": "fix(sample) fix the destroy logic in unit test\n"
    },
    {
      "commit": "9610991b36ac75aeac31020ac26a6a1552fe6ce9",
      "tree": "8cc9968d38acdc9d4375b92929e40c743f3bb17a",
      "parents": [
        "4028ff274533d76392a35c3d6bec90621693696f"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 17:00:15 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 31 17:00:15 2019 +0800"
      },
      "message": "chore(client) add strong response value check in callback\n"
    },
    {
      "commit": "4028ff274533d76392a35c3d6bec90621693696f",
      "tree": "d8d1dd079c7c2d8a4b541df4f9819e6d1c3fa7e4",
      "parents": [
        "d38cea0d6f33b2e7eddc979ec8319d55ee66fb5c"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 22:57:03 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 22:57:03 2019 +0800"
      },
      "message": "chore(test) remove the delete method hack\n"
    },
    {
      "commit": "d38cea0d6f33b2e7eddc979ec8319d55ee66fb5c",
      "tree": "42f5eb8cf83c6f4b91cb07a7b5c7e068d8eb0e77",
      "parents": [
        "b52439bf4e5384f84c041167046fdfad50c46999"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 22:56:04 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 22:56:04 2019 +0800"
      },
      "message": "chore(client) polish the client destory logic\n"
    },
    {
      "commit": "b52439bf4e5384f84c041167046fdfad50c46999",
      "tree": "ec7a4ffb43622f6b43831d7d6606b793186e5a4a",
      "parents": [
        "117ce6cb6a27f8d7eea06e8dcdc16ddbea1996a1"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 20:42:07 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 20:42:07 2019 +0800"
      },
      "message": "fix(test) fix transaction unit test\n"
    },
    {
      "commit": "117ce6cb6a27f8d7eea06e8dcdc16ddbea1996a1",
      "tree": "c9faf168cddb8deffe02ec0ecbfdefc14d7ec72e",
      "parents": [
        "5da9c911dd07a878c2023134486a3e630b66e6d2"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 20:37:52 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 20:37:52 2019 +0800"
      },
      "message": "style(sample) polish sample style\n"
    },
    {
      "commit": "5da9c911dd07a878c2023134486a3e630b66e6d2",
      "tree": "3ca33bc2b44fde7beadd0416d07b0bb059fe732d",
      "parents": [
        "3855cf84a4a52487123055415217add74070260c"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 20:32:03 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 20:32:03 2019 +0800"
      },
      "message": "test(producer) add transaction producer unit test\n"
    },
    {
      "commit": "3855cf84a4a52487123055415217add74070260c",
      "tree": "e27fdf6ac84044f2d3ebfc47f3d788f6977ce4e7",
      "parents": [
        "861525d8e59178f95aca5abcf1fbf98455ef2056"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 19:14:38 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 19:14:38 2019 +0800"
      },
      "message": "feat(sample) add consumer sample\n"
    },
    {
      "commit": "861525d8e59178f95aca5abcf1fbf98455ef2056",
      "tree": "8af0714d163627fb0be24dd5b35efc2b39a7d9f9",
      "parents": [
        "ff1894e49b1927710f35cc109fb89a81340251e5"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 12:27:29 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 12:27:29 2019 +0800"
      },
      "message": "fix(producer) fix producer error when used python3\n"
    },
    {
      "commit": "ff1894e49b1927710f35cc109fb89a81340251e5",
      "tree": "b4ec3324b95ee83877c832be83ed3a3968514dd2",
      "parents": [
        "704c2105886d3141cc0025fe7707ed84397232c4",
        "4fc3b680d141fffcabf867bde4677224db97f313"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 00:08:19 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 00:08:19 2019 +0800"
      },
      "message": "Merge branch \u0027transaction_message\u0027 of github.com:duhenglucky/rocketmq-client-python into transaction_message\n\n* \u0027transaction_message\u0027 of github.com:duhenglucky/rocketmq-client-python:\n  ctypes: docker build cpp from master branch\n  style(client) add apache 2 license header to source file\n"
    },
    {
      "commit": "704c2105886d3141cc0025fe7707ed84397232c4",
      "tree": "60e734a3379f389fbe68a8fe791cdf68ede310be",
      "parents": [
        "6eed0a009b27d8d6e38b92a4fe53e494657f38ac"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 00:05:51 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 30 00:05:51 2019 +0800"
      },
      "message": "refactor(consumer) refactor push consumer implementation\n"
    },
    {
      "commit": "4fc3b680d141fffcabf867bde4677224db97f313",
      "tree": "c040fbc8b0860cf1290f8fd22c2044e061754bc6",
      "parents": [
        "6eed0a009b27d8d6e38b92a4fe53e494657f38ac",
        "03f524c42b9f4d78826309ec4f552e76e62de45b"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Tue Oct 29 17:33:55 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 17:33:55 2019 +0800"
      },
      "message": "Merge branch \u0027ctypes\u0027 into transaction_message"
    },
    {
      "commit": "03f524c42b9f4d78826309ec4f552e76e62de45b",
      "tree": "3564d49e8e92914bcefaf37ed69c7f1631230c1f",
      "parents": [
        "1a5063fe43c3a5aeb0ffaee5797fcf247be5c698",
        "0e24e5fa1dc91613a5446511c1c468bcd36d8ede"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Tue Oct 29 15:22:14 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 15:22:14 2019 +0800"
      },
      "message": "Merge pull request #62 from messense/docker-master\n\nctypes: docker build cpp from master branch"
    },
    {
      "commit": "0e24e5fa1dc91613a5446511c1c468bcd36d8ede",
      "tree": "3564d49e8e92914bcefaf37ed69c7f1631230c1f",
      "parents": [
        "1a5063fe43c3a5aeb0ffaee5797fcf247be5c698"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Oct 29 14:48:00 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Oct 29 14:48:00 2019 +0800"
      },
      "message": "ctypes: docker build cpp from master branch\n"
    },
    {
      "commit": "6eed0a009b27d8d6e38b92a4fe53e494657f38ac",
      "tree": "ad3557d9fdba45eaa4dd0ad31dbc31a3a56da2ea",
      "parents": [
        "d8bc677b123009b748fea4af8f9fce29f6c7ac8a"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 29 10:54:11 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 29 10:54:11 2019 +0800"
      },
      "message": "feat(test) fix the travis test failed issue when del method invoked\n"
    },
    {
      "commit": "d8bc677b123009b748fea4af8f9fce29f6c7ac8a",
      "tree": "ef6f2d14074af7084069ee6da3ee0cfa09405833",
      "parents": [
        "2f0cc8e86a2fb944713d8721a61099ac8c24d579"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 29 10:50:21 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 29 10:50:21 2019 +0800"
      },
      "message": "fix(sample)fix python3 support\n"
    },
    {
      "commit": "2f0cc8e86a2fb944713d8721a61099ac8c24d579",
      "tree": "4395c8a8ee84f57edc445e258e98c1b5f3b2df7e",
      "parents": [
        "5e5619fc0bbb3e4935017c0f54571264de1e92e7"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Oct 28 16:12:24 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Oct 28 16:12:24 2019 +0800"
      },
      "message": "chore(consumer) remove pull consumer implementation\n"
    },
    {
      "commit": "5e5619fc0bbb3e4935017c0f54571264de1e92e7",
      "tree": "388916f74aa88238be41520dd2cea21f587cd4e6",
      "parents": [
        "0b5270c498545abe9937640ade4e08ad628fd703"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Oct 28 14:43:46 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Oct 28 14:43:46 2019 +0800"
      },
      "message": "fix(sample) fix the default nameserver address\n"
    },
    {
      "commit": "0b5270c498545abe9937640ade4e08ad628fd703",
      "tree": "d5e2f6bb67cd646d79e95032b91386924db6be0a",
      "parents": [
        "16179562ccf500521577f88a7fb53c3d36b70408"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Oct 28 14:42:00 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Mon Oct 28 14:42:00 2019 +0800"
      },
      "message": "chore(producer) hide transaction message internal state\n"
    },
    {
      "commit": "16179562ccf500521577f88a7fb53c3d36b70408",
      "tree": "e94ad75351185c2e2adb3a8f944b5f099775950e",
      "parents": [
        "395d4978068cd55d5772409ccce23e9030ab1202",
        "4ac5126a5983dc0cf4cf80d28e87a75e9cab2457"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 24 21:04:33 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 24 21:04:33 2019 +0800"
      },
      "message": "Merge branch \u0027ctypes\u0027 into transaction_message\n\n* ctypes:\n  fix(client) fix set group issue\n"
    },
    {
      "commit": "395d4978068cd55d5772409ccce23e9030ab1202",
      "tree": "266d2b6cedd87561e05ee0943df743d86d7a9fc4",
      "parents": [
        "cedbdc9a732295c3f28bbb17446031a642a0b565"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 24 19:26:43 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 24 19:26:43 2019 +0800"
      },
      "message": "fix(producer) polish producer sample\n"
    },
    {
      "commit": "cedbdc9a732295c3f28bbb17446031a642a0b565",
      "tree": "d9a01bba892d1589ab0167a215c9955c67de6580",
      "parents": [
        "a01c0ffc690351c708b8248f9c411cc294bfad13"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 24 14:01:47 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Thu Oct 24 14:01:47 2019 +0800"
      },
      "message": "feat(producer) add transaction message support\n"
    },
    {
      "commit": "6d7a08bb53b352a9be60dbf489d3b04ff9e675c8",
      "tree": "de9e978a4b9bcc6d6cc84b3dc023c4aa7e7f1e45",
      "parents": [
        "4fd697a6955346bf8092cc53a7ae68f6791d8f08",
        "0f74f8fbc2c0c7aa01c1e1e60d0ddd1fd872e04a"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Wed Oct 23 19:36:48 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 19:36:48 2019 +0800"
      },
      "message": "Merge pull request #60 from duhenglucky/order_producer\n\nfeat(producer) add specified order producer"
    },
    {
      "commit": "0f74f8fbc2c0c7aa01c1e1e60d0ddd1fd872e04a",
      "tree": "de9e978a4b9bcc6d6cc84b3dc023c4aa7e7f1e45",
      "parents": [
        "4fd697a6955346bf8092cc53a7ae68f6791d8f08"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 23 19:16:33 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 23 19:16:33 2019 +0800"
      },
      "message": "feat(producer) add specified order producer\n"
    },
    {
      "commit": "a01c0ffc690351c708b8248f9c411cc294bfad13",
      "tree": "964cf378f8538153d8faa5ecb38f356fbff29554",
      "parents": [
        "e647d641a75cb196ea161b9391d96e116331d7f1"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 23 15:13:03 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 23 15:13:03 2019 +0800"
      },
      "message": "feat(producer) add sharding key order message support\n"
    },
    {
      "commit": "e647d641a75cb196ea161b9391d96e116331d7f1",
      "tree": "9932a078e4a98ae04fc2b2cd0497b81d957b42c5",
      "parents": [
        "7a5507865fb739036a1ff8124b9e91b6a102a61d"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 23 14:30:40 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Wed Oct 23 14:30:40 2019 +0800"
      },
      "message": "feat(producer) add transaction support\n"
    },
    {
      "commit": "1a5063fe43c3a5aeb0ffaee5797fcf247be5c698",
      "tree": "57f2dec00e570b64253642ce464bdaaa705a970f",
      "parents": [
        "c0d98f613b650ab62d9536f6343e3d3304297be8",
        "2ca8a79b99c5329e0e3e7880772f08959378133f"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Tue Oct 22 12:53:06 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 22 12:53:06 2019 +0800"
      },
      "message": "Merge pull request #56 from duhenglucky/license\n\nstyle(client) add apache 2 license header to source file"
    },
    {
      "commit": "c0d98f613b650ab62d9536f6343e3d3304297be8",
      "tree": "76da86d1748dbf6c46a7a4bca8f5384996c048db",
      "parents": [
        "9f78193e31b45c3fd0b46bb5cc3d0aad0b75e0c6",
        "4ac5126a5983dc0cf4cf80d28e87a75e9cab2457"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Tue Oct 22 12:43:08 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 22 12:43:08 2019 +0800"
      },
      "message": "Merge pull request #55 from duhenglucky/fix_group\n\nfix(client) fix set group issue"
    },
    {
      "commit": "7a5507865fb739036a1ff8124b9e91b6a102a61d",
      "tree": "c6db8c6a3e291061dcb6f0e8570f830131f3216e",
      "parents": [
        "9f78193e31b45c3fd0b46bb5cc3d0aad0b75e0c6"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 22 11:23:20 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 22 11:23:20 2019 +0800"
      },
      "message": "feat(producer) add sharding key order message support\n"
    },
    {
      "commit": "2ca8a79b99c5329e0e3e7880772f08959378133f",
      "tree": "df280585fcfe4e9381c1ca459af289fc43363d94",
      "parents": [
        "9f78193e31b45c3fd0b46bb5cc3d0aad0b75e0c6"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 22 10:40:45 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 22 10:40:45 2019 +0800"
      },
      "message": "style(client) add apache 2 license header to source file\n"
    },
    {
      "commit": "4fd697a6955346bf8092cc53a7ae68f6791d8f08",
      "tree": "5db3fc4af0f9763750334970627d9f6d93133811",
      "parents": [
        "857069e7d7a64a684a5dfa475d8e851768a1fe22",
        "5637b65b6e3efd02bd01730c3b71260edbf6ed55"
      ],
      "author": {
        "name": "dinglei",
        "email": "libya_003@163.com",
        "time": "Tue Oct 22 10:09:40 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 22 10:09:40 2019 +0800"
      },
      "message": "Merge pull request #51 from duhenglucky/transaction\n\nAdd transaction message support"
    },
    {
      "commit": "4ac5126a5983dc0cf4cf80d28e87a75e9cab2457",
      "tree": "76da86d1748dbf6c46a7a4bca8f5384996c048db",
      "parents": [
        "9f78193e31b45c3fd0b46bb5cc3d0aad0b75e0c6"
      ],
      "author": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 22 10:04:16 2019 +0800"
      },
      "committer": {
        "name": "duhenglucky",
        "email": "duheng0522@gmail.com",
        "time": "Tue Oct 22 10:04:16 2019 +0800"
      },
      "message": "fix(client) fix set group issue\n"
    },
    {
      "commit": "9f78193e31b45c3fd0b46bb5cc3d0aad0b75e0c6",
      "tree": "9e7da482f6585ab173fae90ce06c8d64ae49600a",
      "parents": [
        "d03ee08fec39362708fe24fc2edf0be66065805e",
        "d66f1660484269a692af82947917cb2fcbdbf3e3"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Fri Oct 18 16:10:58 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 18 16:10:58 2019 +0800"
      },
      "message": "Merge pull request #54 from messense/rocketmq-python-fix-typo\n\nFix typos in test cases"
    },
    {
      "commit": "d66f1660484269a692af82947917cb2fcbdbf3e3",
      "tree": "9e7da482f6585ab173fae90ce06c8d64ae49600a",
      "parents": [
        "d03ee08fec39362708fe24fc2edf0be66065805e"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Fri Oct 18 09:56:05 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Fri Oct 18 09:56:19 2019 +0800"
      },
      "message": "Fix typos in test cases\n"
    },
    {
      "commit": "d03ee08fec39362708fe24fc2edf0be66065805e",
      "tree": "16743d573ba317deb240f97977f19241fc481b4d",
      "parents": [
        "9cc198fea0214e1989788f13378911add14a48df",
        "ee5e2d16e82a4dc7259f7b393e173e82ec8f397c"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Thu Oct 17 21:16:37 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 17 21:16:37 2019 +0800"
      },
      "message": "Merge pull request #53 from messense/rocketmq-python-fix-ci\n\nDo not build librocketmq.so on CI"
    },
    {
      "commit": "ee5e2d16e82a4dc7259f7b393e173e82ec8f397c",
      "tree": "16743d573ba317deb240f97977f19241fc481b4d",
      "parents": [
        "5113f3dac06c961ed052fc039c18d05bec7ad8c4"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 17:56:00 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 17:56:00 2019 +0800"
      },
      "message": "Refine Consumer callback test cases\n"
    },
    {
      "commit": "5113f3dac06c961ed052fc039c18d05bec7ad8c4",
      "tree": "f0e480383dbb7809c0f34dd5110febe7cc0b5864",
      "parents": [
        "87ff79a741cc9db2e409134dac71d358eec42842"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 17:42:27 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 17:42:27 2019 +0800"
      },
      "message": "Fix Producer.send_async\n"
    },
    {
      "commit": "87ff79a741cc9db2e409134dac71d358eec42842",
      "tree": "db0434bf5f60bd62be515c42a67a9500adcba76c",
      "parents": [
        "9cc198fea0214e1989788f13378911add14a48df"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 16:52:48 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 16:52:48 2019 +0800"
      },
      "message": "Do not build librocketmq.so on CI\n"
    },
    {
      "commit": "9cc198fea0214e1989788f13378911add14a48df",
      "tree": "958616fab5ecd399ac89a1f6e70dbdb4104a35b0",
      "parents": [
        "95a5a38e106f4fc8025de37e42c696539c1fb91c",
        "f45a9ddd421e4317625d15a1236d507156b1474e"
      ],
      "author": {
        "name": "Heng Du",
        "email": "duhengforever@apache.org",
        "time": "Thu Oct 17 15:49:50 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 17 15:49:50 2019 +0800"
      },
      "message": "Merge pull request #52 from messense/rocketmq-python\n\nMerge first."
    },
    {
      "commit": "f45a9ddd421e4317625d15a1236d507156b1474e",
      "tree": "958616fab5ecd399ac89a1f6e70dbdb4104a35b0",
      "parents": [
        "b4dd1e15662f89dd8ab543374118064e1e5b54f8"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:34:25 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Refine Producer send_async test case\n"
    },
    {
      "commit": "b4dd1e15662f89dd8ab543374118064e1e5b54f8",
      "tree": "0c5c0c29b3c23e32ae3cf14c15bb527a24eedff6",
      "parents": [
        "8f567c19bbc3545f4eedc1835c1e0551f13e52d8"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Wed Oct 16 16:47:49 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Remove macOS CI temporarily\n"
    },
    {
      "commit": "8f567c19bbc3545f4eedc1835c1e0551f13e52d8",
      "tree": "7eed5c87f7ae942cb7597603213d9ca2cf62dd1a",
      "parents": [
        "57684b4bd57c5bc4218cbeda6bc45ae942776356"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Wed Oct 16 16:36:44 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Use cached librocketmq.so from a prebuilt Docker image\n"
    },
    {
      "commit": "57684b4bd57c5bc4218cbeda6bc45ae942776356",
      "tree": "2c17ff2de5430e4108fc44e7d5853146ff1a0e9a",
      "parents": [
        "9028cf5ec660447fd94b93424f1cccd5231760fb"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Oct 15 18:56:34 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Switch to Apache License 2.0\n\nCloses #55\n"
    },
    {
      "commit": "9028cf5ec660447fd94b93424f1cccd5231760fb",
      "tree": "a1c11abe1eec9539c9498a9cd9de8bf2bd378eef",
      "parents": [
        "9b4da44dc5ab9d4cda40fc736eb48171a6626e16"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Fri Oct 11 10:49:20 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Fix maybe_decode function\n"
    },
    {
      "commit": "9b4da44dc5ab9d4cda40fc736eb48171a6626e16",
      "tree": "bf9eed3569a733a2942c873138d57b1bbedb671c",
      "parents": [
        "e0de2b6abaeb4d8c9ffd381172227e7abddf4784"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Sep 05 14:27:22 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Add PushConsumer reconsume_later test case\n"
    },
    {
      "commit": "e0de2b6abaeb4d8c9ffd381172227e7abddf4784",
      "tree": "2e211287f24bccaa1e70b6405b73df38d6779b1e",
      "parents": [
        "8d3ab1c33e1cd691cbb60d880a5e54d82caa1017"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Wed Aug 28 17:54:51 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Clarify Windows support\n"
    },
    {
      "commit": "8d3ab1c33e1cd691cbb60d880a5e54d82caa1017",
      "tree": "8cdd73efde8950012c7d39e1761b0e1e50b33210",
      "parents": [
        "78a22d361a05e58eb9cee3407ca17538f8e49b6e"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Wed Aug 28 11:12:08 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Bump version: 0.4.2 → 0.4.3\n"
    },
    {
      "commit": "78a22d361a05e58eb9cee3407ca17538f8e49b6e",
      "tree": "d5f0e87a720c70a0ebfdcb616fda08ac7ab5bb44",
      "parents": [
        "42ccb445f00a275c18d35603124824bed941a497"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Wed Aug 28 10:19:06 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Refine message decode to utf-8\n"
    },
    {
      "commit": "42ccb445f00a275c18d35603124824bed941a497",
      "tree": "d3bb1f2d6a9db6b8ba337b18eb844fa68b153b8d",
      "parents": [
        "21c7b0a6fc8363e6bd85f423fde70bb7b6acf160"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Aug 27 17:03:41 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Fix test_producer_send_batch test case\n"
    },
    {
      "commit": "21c7b0a6fc8363e6bd85f423fde70bb7b6acf160",
      "tree": "9674ce6c15a873ee8bbc534902bbedad30f7fc23",
      "parents": [
        "5bbfe8d7b6c201e1073b108f9c11ebf040f53f2b"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Aug 27 16:49:46 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "cat rocketmq-cpp logs first\n"
    },
    {
      "commit": "5bbfe8d7b6c201e1073b108f9c11ebf040f53f2b",
      "tree": "8bae7b99fc2225f7205de1a1b23b3cc4c7537bd0",
      "parents": [
        "293a0257738f6fbeefc6792a750e2b7618e9114b"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Aug 27 15:36:40 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Upgrade rocketmq to 4.5.2 in Travis CI\n"
    },
    {
      "commit": "293a0257738f6fbeefc6792a750e2b7618e9114b",
      "tree": "913827e5a1a06ec485a5aaba6f3cacecef58a3e1",
      "parents": [
        "bf4daa978240f55056568dc16eb8cde2f20570cc"
      ],
      "author": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Tue Aug 27 15:28:07 2019 +0800"
      },
      "committer": {
        "name": "messense",
        "email": "messense@icloud.com",
        "time": "Thu Oct 17 15:43:39 2019 +0800"
      },
      "message": "Add support for producer sending batch messages\n"
    }
  ],
  "next": "bf4daa978240f55056568dc16eb8cde2f20570cc"
}
