)]}'
{
  "log": [
    {
      "commit": "a6e87231dc78b4833f2a2a08d02a4abbac7f4c43",
      "tree": "4a923931df00827229a5efe88a6baaf7da7bbd2e",
      "parents": [
        "bb8e325104d047e79b733a46ccef497c974b976e"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:57:09 2026 +0100"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:57:09 2026 +0100"
      },
      "message": "add README.md to note retirement\n"
    },
    {
      "commit": "bb8e325104d047e79b733a46ccef497c974b976e",
      "tree": "ab8b3d376b0e7b81ee9b858708b6dd3027c7d0e5",
      "parents": [
        "41f255547f467843dade37538e195a0cc22e9dc2"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:56:06 2026 +0100"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:56:06 2026 +0100"
      },
      "message": "clear main content\n"
    },
    {
      "commit": "41f255547f467843dade37538e195a0cc22e9dc2",
      "tree": "5c157bd40c201515c13a95754351a64211faed93",
      "parents": [
        "4eed8f758660b457f0e2373000fc0e64da8b17f5"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:43:39 2026 +0100"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:43:39 2026 +0100"
      },
      "message": "update repo metadata + settings\n"
    },
    {
      "commit": "4eed8f758660b457f0e2373000fc0e64da8b17f5",
      "tree": "2790468f5a3f5eaa016132ef657577ab7b0c8198",
      "parents": [
        "115a82993f32cbf25e2406ace1ef763cab9e227a"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:41:04 2026 +0100"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Apr 15 12:41:04 2026 +0100"
      },
      "message": "remove stale CI config\n"
    },
    {
      "commit": "115a82993f32cbf25e2406ace1ef763cab9e227a",
      "tree": "534c49ed0b532d16847cb349871be67e946763e0",
      "parents": [
        "4f8c376332697a84b9a41b2c5cef7abbc0c5775c"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 11:44:39 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 30 11:44:39 2023 +0200"
      },
      "message": "QPID-8631: temporarily use qpid-cpp main branch (instead of the last released version) when running tests (#26)\n\n"
    },
    {
      "commit": "4f8c376332697a84b9a41b2c5cef7abbc0c5775c",
      "tree": "88851742af7bece7860fe680ea7b5d75ac3053e5",
      "parents": [
        "c91db59a38dc7e95fc64dcbc1a8923c5dc38a0b3"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 10:04:37 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 10:33:46 2023 +0200"
      },
      "message": "QPID-8631: fix qpid.tests.codec.IntegerTestCase.test_ulong_long_int_with_fraction on Python 3\n"
    },
    {
      "commit": "c91db59a38dc7e95fc64dcbc1a8923c5dc38a0b3",
      "tree": "f2f2888ef54e8a22c254205c0bb07245be513617",
      "parents": [
        "2e65fb29b98749e8bf4d5e6cae8f11f12f0562dd"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 16 18:06:14 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 10:33:46 2023 +0200"
      },
      "message": "QPID-8631: fix Python 3 comparisons, None cannot be compared using \u003c\n"
    },
    {
      "commit": "2e65fb29b98749e8bf4d5e6cae8f11f12f0562dd",
      "tree": "51c3b54ce18b84cdf403eb91458974fa6023a4eb",
      "parents": [
        "90ea5638bf456d4e71a9296309a8d864c08222c6"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 14:36:26 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 10:33:46 2023 +0200"
      },
      "message": "QPID-8631: add encodings for Python 3 types\n"
    },
    {
      "commit": "90ea5638bf456d4e71a9296309a8d864c08222c6",
      "tree": "61ddf1a012385ba06cd0897bcca460d56087b8fb",
      "parents": [
        "94e25cd754a5e4ecb32ef5eaee9feff76b209b75"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 13:52:26 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 10:33:46 2023 +0200"
      },
      "message": "QPID-8631: add py3compat.py helper; fill in for the removed `__cmp__` in Python 3\n"
    },
    {
      "commit": "94e25cd754a5e4ecb32ef5eaee9feff76b209b75",
      "tree": "0bbac2b77fccac0eace93a6ed005d233edd9a64b",
      "parents": [
        "2262c34d89ec76045c47da0037cada008886d29b"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 18:39:08 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Sep 30 10:33:46 2023 +0200"
      },
      "message": "QPID-8631: fill-in the Python 2 types that are missing in Python 3\n"
    },
    {
      "commit": "2262c34d89ec76045c47da0037cada008886d29b",
      "tree": "7446bf840eab6c7dc4aeed4b6c1e8cb2322d46ce",
      "parents": [
        "e4b2a2f1e0e789b105680a5e9f46e6c2b9296805"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 16 18:08:35 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "NO-JIRA: fix few random typos\n"
    },
    {
      "commit": "e4b2a2f1e0e789b105680a5e9f46e6c2b9296805",
      "tree": "55cfe82ef60e90d7d6279e4cdbe249ca33eec8e2",
      "parents": [
        "945a8372b4189f07a2372e3e5e84bb2637a96a36"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 16 18:08:08 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: Use the // operator to divide ints when desiring an int result\n"
    },
    {
      "commit": "945a8372b4189f07a2372e3e5e84bb2637a96a36",
      "tree": "082cdab90ddd17d8fbf64d7e8d0159dc1a206f66",
      "parents": [
        "d596150c876e31e22b5a9edab2aba606e64e6a8e"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 16 18:07:09 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: remember exception to raise, due to changed py3 exception object lifetime\n"
    },
    {
      "commit": "d596150c876e31e22b5a9edab2aba606e64e6a8e",
      "tree": "7d48e15701fb8e2aa87add3e0c38ff825875a2cd",
      "parents": [
        "1ff4397672f4c52f12530bd9470de0a67aa7378e"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Thu Apr 13 19:04:30 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: HMAC in Python 3 has mandatory digestmod parameter, it is no longer defaulted to `hashlib.md5`\n"
    },
    {
      "commit": "1ff4397672f4c52f12530bd9470de0a67aa7378e",
      "tree": "777347c314d072940beb09b44a92afe6923eee15",
      "parents": [
        "bd2a9f1bba2809a6429b1b66202c68f0f14287c4"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 11:03:11 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: fix RuntimeError: dictionary changed size during iteration\n\n```\n  Traceback (most recent call last):\n    File \"/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/threading.py\", line 932, in _bootstrap_inner\n      self.run()\n    File \"/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/threading.py\", line 870, in run\n      self._target(*self._args, **self._kwargs)\n    File \"/home/runner/work/qpid-python/qpid-python/qpid/connection.py\", line 190, in run\n      self.detach_all()\n    File \"/home/runner/work/qpid-python/qpid-python/qpid/connection.py\", line 140, in detach_all\n      self.run()\n    File \"/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/threading.py\", line 870, in run\n      for ssn in self.attached.values():\n```\n\nThis is Python\u0027s version of the concurrent modification exception in Java.\n"
    },
    {
      "commit": "bd2a9f1bba2809a6429b1b66202c68f0f14287c4",
      "tree": "d13aa2da07add916076826249566b6c991931aed",
      "parents": [
        "787c8b9475a0a6daffb6883feeba93fea6fdd062"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 10:21:54 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: use io.BytesIO for bytes\n"
    },
    {
      "commit": "787c8b9475a0a6daffb6883feeba93fea6fdd062",
      "tree": "e810aa2bcd259ec43aaa456de15ddc6fccce358c",
      "parents": [
        "20811aff2ac6876caef1c4b333f9373276c0ff22"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 11:21:22 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: use b\"\" to mark bytestring literals\n"
    },
    {
      "commit": "20811aff2ac6876caef1c4b333f9373276c0ff22",
      "tree": "fe7849b1b9ab9564a918c6608002d070f0e9c624",
      "parents": [
        "ad5ab960e9f47ac18a7eab84d8ffc4253053e40a"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 18:39:54 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "QPID-8631: use the `next()` builtin to progress iterators\n\n```\npython-modernize -wnf libmodernize.fixes.fix_next\n```\n"
    },
    {
      "commit": "ad5ab960e9f47ac18a7eab84d8ffc4253053e40a",
      "tree": "257d42ebd1bb580caa96295084d1b6920649c8a7",
      "parents": [
        "b81faca08ef0b83161157fbe2652cfcc9dba2334"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 11:59:31 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Sep 29 13:18:13 2023 +0200"
      },
      "message": "NO-JIRA: fix Python 2.7 CI jobs after actions/setup-python removed this version\n"
    },
    {
      "commit": "b81faca08ef0b83161157fbe2652cfcc9dba2334",
      "tree": "2c63c5a9e87a631e9479b256d7b4d3a64328e7d4",
      "parents": [
        "868842ebd6b453d6551cbe1390773802f0201335"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat May 27 16:24:42 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 27 16:24:42 2023 +0200"
      },
      "message": "QPID-7070: add flake8 to CI as first step towards PEP-8, fix some most egregious things reported (#6)\n\n"
    },
    {
      "commit": "868842ebd6b453d6551cbe1390773802f0201335",
      "tree": "bca005431d8bea3fdabcb2d95358d9436b8a4448",
      "parents": [
        "0bac85c96b19732964ef9ca893cbb7bbac5b7695"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon May 01 19:29:36 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 01 19:29:36 2023 +0200"
      },
      "message": "QPID-8642: fix installation on windows by eliminating buggy path manipulation (#23)\n\n"
    },
    {
      "commit": "0bac85c96b19732964ef9ca893cbb7bbac5b7695",
      "tree": "8e2dd9c5ed5cbf4c42b89cc3d3018e9329c34a38",
      "parents": [
        "8a23065e46fefa3076c89c7d0a31bd30194afec1"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 16 19:11:58 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 16 19:11:58 2023 +0200"
      },
      "message": "QPID-8636: separate out lint, qpid-cpp, and qpid-j ci jobs, add windows job for the ci (#22)\n\n"
    },
    {
      "commit": "8a23065e46fefa3076c89c7d0a31bd30194afec1",
      "tree": "8c372e7babc5d2d64a88a3961a523dae7a04430d",
      "parents": [
        "6d96be653dc5d3fe576c82101be33eb714aa6211"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 14:16:13 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Apr 14 13:35:47 2023 +0200"
      },
      "message": "QPID-8631: `qpid_tests` also need `absolute_import` from `__future__` and fix relative imports\n"
    },
    {
      "commit": "6d96be653dc5d3fe576c82101be33eb714aa6211",
      "tree": "43f41024a270b10eb7b30664148da7de35f2ebf5",
      "parents": [
        "47a68f1d44a6de4143dc2e86014425cee8d8aa1a"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Apr 14 11:33:07 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Fri Apr 14 13:35:47 2023 +0200"
      },
      "message": "QPID-8631: make package version string in setup.py compliant with PEP-440\n\nContemporary versions of setuptools and pip will bork at misformatted version strings and refuse to install the package\n"
    },
    {
      "commit": "47a68f1d44a6de4143dc2e86014425cee8d8aa1a",
      "tree": "1b61313653ae1b85d4d42ce2a574ae0e27d165f7",
      "parents": [
        "d6fc95a972f72e4ea0152669c950775172c1ac7c"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Thu Apr 13 20:19:31 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Thu Apr 13 21:11:01 2023 +0200"
      },
      "message": "QPID-8631: use `next()` to progress the iterator in dom.py, so that setup.py runs\n"
    },
    {
      "commit": "d6fc95a972f72e4ea0152669c950775172c1ac7c",
      "tree": "a6a86822cee1b5a9fa19e9b48f36ebb405fb1226",
      "parents": [
        "566dc213822c1cd2343dbcc836e36b7c3c23be68"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Thu Apr 13 20:18:59 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Thu Apr 13 21:11:01 2023 +0200"
      },
      "message": "QPID-8631: conditionally fill-in types removed in Python 3, so that setup.py runs\n"
    },
    {
      "commit": "566dc213822c1cd2343dbcc836e36b7c3c23be68",
      "tree": "c4055b591d9c29ad79822f10c9bbfd338838f015",
      "parents": [
        "7e6d8fc0ad5411525ef9e1a87a3dbad3f239da3a"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Wed Apr 12 23:24:11 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 23:24:11 2023 +0200"
      },
      "message": "QPID-8631: fix setup.py incompatible syntax for Python 3 (#17)\n\n"
    },
    {
      "commit": "7e6d8fc0ad5411525ef9e1a87a3dbad3f239da3a",
      "tree": "b7283a817e2823adc0d7e00d33393cd70a46beee",
      "parents": [
        "71171f7ea61b3ebfef6217f807a35db88fef905d"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Wed Apr 12 23:09:47 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 23:09:47 2023 +0200"
      },
      "message": "QPID-8170: run CI also with qpid-j broker in GitHub Actions, disable failing tests for it (#19)\n\n"
    },
    {
      "commit": "71171f7ea61b3ebfef6217f807a35db88fef905d",
      "tree": "945d93ab0abcb50146104ef15b6cf306f2847cc9",
      "parents": [
        "86bea7c3a9a97cbf71ed7bf5a39a8d53a3015bfb"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Wed Apr 12 21:49:09 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 21:49:09 2023 +0200"
      },
      "message": "QPID-8170: fix qpid-python-test discovery broken by commit 85348b01 (#18)\n\nThe problem stems from the way the testcode imports the production code, so that when both have a module of the same name, the test runner descends into the production code when discovering tests, instead of into the test code.\r\n\r\n```\r\n{code:title\u003dqpid/tests/messaging/__init__.py}\r\nfrom qpid.tests.messaging.implementation import *\r\n\r\n[...]\r\n\r\nfrom . import address, endpoints, message, selector\r\n{code}\r\n\r\nThe file imported on the first line contains\r\n\r\n{code:title\u003dqpid/tests/messaging/implementation.py}\r\nfrom qpid.messaging import *\r\n{code}\r\n```\r\n\r\nand {{qpid.messaging}} contains its own {{address.py}} submodule.\r\n\r\nTherefore, when {{qpid-test-runner}} tries to access {{qpid.tests.messaging.mesage}}, it actually gets {{qpid.messaging.message}}, which was imported first. But that does not contain any tests, and the message tests are missed and never executed.\r\n\r\nThis only started happening after my relative imports modernizing commit https://github.com/apache/qpid-python/commit/9651001c6fe0b65e538a96e27df36582b7ccb004.\r\n\r\nBefore, Totals: 349 tests, 349 passed, 0 skipped, 0 ignored, 0 failed and Totals: 678 tests, 585 passed, 93 skipped, 0 ignored, 0 failed (https://github.com/apache/qpid-python/actions/runs/4661323947/jobs/8250463871)\r\n\r\nAfter, Totals: 218 tests, 218 passed, 0 skipped, 0 ignored, 0 failed and Totals: 547 tests, 454 passed, 93 skipped, 0 ignored, 0 failed (https://github.com/apache/qpid-python/actions/runs/4661535006/jobs/8250915935)"
    },
    {
      "commit": "86bea7c3a9a97cbf71ed7bf5a39a8d53a3015bfb",
      "tree": "1a7e4a8665864affe4a0602dbbad89a547901979",
      "parents": [
        "5f4b01e0292e46e862011338b3e5b4858f76833a"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 18:33:45 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 00:16:02 2023 +0200"
      },
      "message": "QPID-8631: remove extraneous semicolons\n"
    },
    {
      "commit": "5f4b01e0292e46e862011338b3e5b4858f76833a",
      "tree": "b89bba81a8805bd546ba546599fc8a54284faf22",
      "parents": [
        "d4d92964fa586c6349edc86100567058d341dbb4"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 12:06:10 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 00:16:02 2023 +0200"
      },
      "message": "QPID-8631: replace use of `string.joinfields` function\n"
    },
    {
      "commit": "d4d92964fa586c6349edc86100567058d341dbb4",
      "tree": "b866adc66e1eb65f8301234b87598cd5b81c80aa",
      "parents": [
        "127ca4a4082579f93ad38e9a9dc0146def65edb6"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 11:13:42 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 00:16:02 2023 +0200"
      },
      "message": "QPID-8631: prefer list comprehension syntax over `map()` and `filter()`\n"
    },
    {
      "commit": "127ca4a4082579f93ad38e9a9dc0146def65edb6",
      "tree": "832c05826832b49c252a590ec56ae48779f0299d",
      "parents": [
        "bf7eec3d294a3ba0990f69d8a37fe9e54285503b"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 10:53:17 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 00:16:02 2023 +0200"
      },
      "message": "QPID-8631: fix some deprecation warnings by using new `notify_all`, `is_set`, `is_alive`, `daemon`\n"
    },
    {
      "commit": "bf7eec3d294a3ba0990f69d8a37fe9e54285503b",
      "tree": "13e798209932754dc5466a38e40447659e583dde",
      "parents": [
        "9651001c6fe0b65e538a96e27df36582b7ccb004"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 18:27:08 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Tue Apr 11 00:16:02 2023 +0200"
      },
      "message": "QPID-8631: use the `list.sort(key\u003d` parameter\n"
    },
    {
      "commit": "9651001c6fe0b65e538a96e27df36582b7ccb004",
      "tree": "51d552c17c9ba0b5ac4382db6575d7fc81cdc877",
      "parents": [
        "84abc181d2e44760c15178a584aac924b29f0bbc"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 12:48:14 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:45:01 2023 +0200"
      },
      "message": "QPID-8631: enable `absolute_import` from `__future__` and fix relative imports\n\n```\npython-modernize -wnf libmodernize.fixes.fix_import\n```\n"
    },
    {
      "commit": "84abc181d2e44760c15178a584aac924b29f0bbc",
      "tree": "d0bdafcd598596bc30032e38f8004918460f4912",
      "parents": [
        "045e90408b4d3416e1ae4af893c4b4426d9e98a5"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 17:49:28 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:45:01 2023 +0200"
      },
      "message": "QPID-8631: fallback import for `cPickle` or `pickle`\n"
    },
    {
      "commit": "045e90408b4d3416e1ae4af893c4b4426d9e98a5",
      "tree": "bdb1d822b22a1c6f16fc2711570a43fafd7960f4",
      "parents": [
        "2bc6123f8e80c21c7e765d3deb7528be1b67ff9a"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 17:40:19 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:45:01 2023 +0200"
      },
      "message": "QPID-8631: fallback import for `cStringIO.StringIO` or `io.StringIO`\n"
    },
    {
      "commit": "2bc6123f8e80c21c7e765d3deb7528be1b67ff9a",
      "tree": "c3fad2dc24f37c9c07f3fb84a7fe75e0d67dac5a",
      "parents": [
        "36eec7986b3d1f9145a05ffe569d81e10bc96542"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 18:07:40 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:45:01 2023 +0200"
      },
      "message": "QPID-8631: `sgmllib.SGMLParser` -\u003e `HTMLParser`\n"
    },
    {
      "commit": "36eec7986b3d1f9145a05ffe569d81e10bc96542",
      "tree": "8669b2aecadd6c794d5e39f2dbcb4d056a6c19ca",
      "parents": [
        "c3f3a058350ef3ac66f27ce16f4085eee4c7bb41"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 18:02:37 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:45:01 2023 +0200"
      },
      "message": "QPID-8631: `rfc822.unquote` -\u003e `email.utils.unquote`\n"
    },
    {
      "commit": "c3f3a058350ef3ac66f27ce16f4085eee4c7bb41",
      "tree": "2c41cf29fbadd4a74ac42460c46973674dceda72",
      "parents": [
        "d0050c6e3f80133f41e9bbcccaf3a2a7bde0c34b"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sat Apr 08 17:45:16 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:45:01 2023 +0200"
      },
      "message": "QPID-8631: `new.module` -\u003e `types.ModuleType`\n"
    },
    {
      "commit": "d0050c6e3f80133f41e9bbcccaf3a2a7bde0c34b",
      "tree": "0ee363b4d2845e90b1ea377741f079d998858589",
      "parents": [
        "9a457018654d7bcd6e6304d1dbd74c2d52adb715"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 23:13:53 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 23:13:53 2023 +0200"
      },
      "message": "QPID-8631: make the `qpid-python-test` script Python 3 compatible (#14)\n\nThis takes inspiration from the PROTON-490 changes done in the Qpid Proton Python client."
    },
    {
      "commit": "9a457018654d7bcd6e6304d1dbd74c2d52adb715",
      "tree": "3ddc0971feebd2a96661ee8592ae7972550b5e1d",
      "parents": [
        "f22f5adb21a0b65f88512399845ffb0e42c688bd"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 22:49:20 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 22:49:20 2023 +0200"
      },
      "message": "QPID-8631: use the `in` operator for collection membership checks (#13)\n\n```\r\npython-modernize -wnf fissix.fixes.fix_has_key\r\n```"
    },
    {
      "commit": "f22f5adb21a0b65f88512399845ffb0e42c688bd",
      "tree": "a99bab121be4385f914329d401471508001abbb0",
      "parents": [
        "f84a72f0c1f592642d713a6891c3afdaf22ef99e"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 22:35:37 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 22:35:37 2023 +0200"
      },
      "message": "QPID-8631: remove use of `iteritems` and `xrange` (#12)\n\nThese are somewhat helpful in Python 2, but they are not available in Python 3."
    },
    {
      "commit": "f84a72f0c1f592642d713a6891c3afdaf22ef99e",
      "tree": "a836f19c941941556979a649a91b2c77bc4ac736",
      "parents": [
        "ee50491f65b8ae90f296874a87a6180ff7a984f1"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 22:25:04 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 22:25:04 2023 +0200"
      },
      "message": "QPID-8631: modernize `print` statement uses to the `print()` function form (#11)\n\nThis is the result of running\r\n\r\n```\r\npython-modernize -wnf libmodernize.fixes.fix_print\r\n```"
    },
    {
      "commit": "ee50491f65b8ae90f296874a87a6180ff7a984f1",
      "tree": "1b9e92d12ffb9401e9cd159e2a5330b5ac07db60",
      "parents": [
        "37463700f806ed70561ba9a0d143278599b145c8"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 22:14:19 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 22:14:19 2023 +0200"
      },
      "message": "QPID-8631: remove the `L` literal suffix from `long`s (#10)\n\nThis suffix is meaningless in Python 2.2+ and it is forbidden in Python 3.\r\n\r\nSee https://peps.python.org/pep-0237/ for details."
    },
    {
      "commit": "37463700f806ed70561ba9a0d143278599b145c8",
      "tree": "606d9f4da9d5952bcdf54ecd40d9bedc7a1773af",
      "parents": [
        "8cbd8ee4521afb5d571b585e9eacaa57e847558b"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 22:02:13 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 22:02:13 2023 +0200"
      },
      "message": "QPID-8631: modernize the `try: except as:` blocks and `raise`s (#9)\n\n"
    },
    {
      "commit": "8cbd8ee4521afb5d571b585e9eacaa57e847558b",
      "tree": "43a7c9c59fd0eeedcb99b3cc76dbb8c6b5962ee7",
      "parents": [
        "f28a657a1a9201cd628b5225a131751beffb2cd7"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 21:16:27 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 21:16:27 2023 +0200"
      },
      "message": "QPID-7072: modernize the syntax of exec, before later hopefully replacing it (#8)\n\n"
    },
    {
      "commit": "f28a657a1a9201cd628b5225a131751beffb2cd7",
      "tree": "5020109cf9ac4f08b295a93b2b20b4829dfa8042",
      "parents": [
        "8ae83d19b9b83e1f4559295ed174e15085544065"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Mon Apr 10 18:17:35 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 18:17:35 2023 +0200"
      },
      "message": "QPID-8632: use absolute, full imports when dealing with circular imports (#7)\n\nThis patch leaves the circular import in place, but changes the importing code to make it overall safer."
    },
    {
      "commit": "8ae83d19b9b83e1f4559295ed174e15085544065",
      "tree": "099755ee340e74bf480e64b0bf780022b2aff00d",
      "parents": [
        "4123547a7514ffd6d650280d5ae8831613e635d4"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 22:58:31 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 23:46:16 2023 +0200"
      },
      "message": "QPID-8170: autoskip amqp1.0 tests\n\nAFAICT there is no AMQP 1.0 support in this library anyways\n"
    },
    {
      "commit": "4123547a7514ffd6d650280d5ae8831613e635d4",
      "tree": "a7fda0d8a400f6eb9491ee3bf7c2902a66181dce",
      "parents": [
        "471398a82c2274e419d7a68d3c67bc8ca0f02271"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 22:28:50 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 23:46:16 2023 +0200"
      },
      "message": "QPID-8170: fix exception string from qpid_tests.broker_1_0 tests running against amqp0-10 broker\n\nIssue was originally introduced in QPID-5836.\n\n```\nqpid_tests.broker_1_0.general.GeneralTests.test_anonymous_relay ... fail\nError during setup:  Traceback (most recent call last):\n    File \"qpid-python-test\", line 347, in run\n      phase()\n    File \"/home/jdanek/repos/qpid/qpid-python/qpid/tests/messaging/__init__.py\", line 49, in setup\n      self.conn \u003d self.setup_connection()\n    File \"/home/jdanek/repos/qpid/qpid-python/qpid/tests/messaging/__init__.py\", line 207, in setup_connection\n      return self.create_connection()\n    File \"/home/jdanek/repos/qpid/qpid-python/qpid/tests/messaging/__init__.py\", line 204, in create_connection\n      return Connection.establish(self.broker, **opts)\n    File \"/home/jdanek/repos/qpid/qpid-python/qpid/messaging/endpoints.py\", line 111, in establish\n      conn \u003d Connection(url, **options)\n    File \"/home/jdanek/repos/qpid/qpid-python/qpid/messaging/endpoints.py\", line 209, in __init__\n      raise ConnectionError(\"Connection option \u0027protocol\u0027 value \u0027\" + value + \"\u0027 unsupported (must be amqp0-10)\")\n  TypeError: cannot concatenate \u0027str\u0027 and \u0027bool\u0027 objects\n```\n"
    },
    {
      "commit": "471398a82c2274e419d7a68d3c67bc8ca0f02271",
      "tree": "b9a2f5baaa10e94b5e8a8f8c273a62b3160d89ee",
      "parents": [
        "bd80951458f5fac58adc16790942a1bf2d221910"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 22:24:43 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 23:46:16 2023 +0200"
      },
      "message": "QPID-8170: fix qpid_tests.broker_0_10.management.ManagementTest.test_reroute_queue\n\n```\nqpid_tests.broker_0_10.management.ManagementTest.test_reroute_queue ... fail\nError during test:  Traceback (most recent call last):\n    File \"qpid-python-test\", line 347, in run\n      phase()\n    File \"/home/jdanek/repos/qpid/qpid-python/qpid_tests/broker_0_10/management.py\", line 346, in test_reroute_queue\n      url \u003d \"%s://%s:%d\" % (self.broker.scheme or \"amqp\", self.broker.host, self.broker.port)\n  TypeError: %d format: a number is required, not NoneType\n```\n"
    },
    {
      "commit": "bd80951458f5fac58adc16790942a1bf2d221910",
      "tree": "0440e51fc41b77cd51a2b504c4dc57befd6087b7",
      "parents": [
        "d361505c668374182b685613e5445b590553d441"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 22:37:22 2023 +0200"
      },
      "committer": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 23:46:16 2023 +0200"
      },
      "message": "QPID-8170: run also amqp0-10 broker tests on GitHub Actions\n"
    },
    {
      "commit": "d361505c668374182b685613e5445b590553d441",
      "tree": "d977496568d9945ef4dcf178be4c2ea7dfc8eb77",
      "parents": [
        "04c3fa84ccb6681759d68ee9d95dfd70cebe7443"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 21:51:00 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 09 21:51:00 2023 +0200"
      },
      "message": "NO-JIRA: configure additional GitHub features though .asf.yaml (#4)\n\n"
    },
    {
      "commit": "04c3fa84ccb6681759d68ee9d95dfd70cebe7443",
      "tree": "b8e38cd85af540b55fbd791d2c8fa188464070db",
      "parents": [
        "026b9a388df6398bc300130f8d0d8491d98a9156"
      ],
      "author": {
        "name": "Jiri Daněk",
        "email": "jdanek@redhat.com",
        "time": "Sun Apr 09 21:45:09 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 09 21:45:09 2023 +0200"
      },
      "message": "QPID-8170: add basic GitHub Actions CI jobs (#3)\n\n"
    },
    {
      "commit": "026b9a388df6398bc300130f8d0d8491d98a9156",
      "tree": "ae89d06dec2187ae421791567e9099cb3bf4b1d2",
      "parents": [
        "8800358a4846d815fc6a224202b3c9678005957a"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Thu Jan 09 13:02:53 2020 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Thu Jan 09 13:02:53 2020 +0000"
      },
      "message": "update year in NOTICE file\n"
    },
    {
      "commit": "8800358a4846d815fc6a224202b3c9678005957a",
      "tree": "62f3e77234177021657eb0a9ac9f6fc529b925e1",
      "parents": [
        "959e782d045b3de64f22a1052550a0a3c98dcf20"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Oct 01 11:02:13 2019 +0100"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Oct 01 11:02:13 2019 +0100"
      },
      "message": "NO-JIRA: add .asf.yaml file with github repo metadata\n"
    },
    {
      "commit": "959e782d045b3de64f22a1052550a0a3c98dcf20",
      "tree": "a408f45a0e2137b43784fceb05038698e7bad0e9",
      "parents": [
        "5f37bd6166793d49cdd782966eaec57ab6464dd1"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Oct 01 10:59:28 2019 +0100"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Oct 01 10:59:28 2019 +0100"
      },
      "message": "update readme, add note for folks looking for Python 3 and/or AMQP 1.0 support to use Proton\n"
    },
    {
      "commit": "5f37bd6166793d49cdd782966eaec57ab6464dd1",
      "tree": "3c5dced82b4e9fa9f011e02c97d67b2949c253b8",
      "parents": [
        "aeca8854945c4ba2a76355a3c79767a4cd7f6b04"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Jan 29 11:39:58 2019 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Jan 29 11:39:58 2019 +0000"
      },
      "message": "NO-JIRA: update year in NOTICE file\n"
    },
    {
      "commit": "aeca8854945c4ba2a76355a3c79767a4cd7f6b04",
      "tree": "7a5d766bb00ff286117dc26e5268d6aa4ddb8712",
      "parents": [
        "df68238537c725093128a8da18a23c39afdef959"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Fri Dec 14 11:13:10 2018 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Fri Dec 14 11:13:10 2018 +0000"
      },
      "message": "NO-JIRA: trivial readme change, testing out repo and github mirror following git-wip-us to gitbox migration\n"
    },
    {
      "commit": "df68238537c725093128a8da18a23c39afdef959",
      "tree": "5d29ae65c9a789b5064f257a65fab37f4bf8176a",
      "parents": [
        "4c5acad17b023c8dddbffabd05fa36360aac29ee"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Sat Apr 21 14:27:18 2018 -0700"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Sat Apr 21 14:27:18 2018 -0700"
      },
      "message": "QPID-8170: Add build and install stages\n"
    },
    {
      "commit": "4c5acad17b023c8dddbffabd05fa36360aac29ee",
      "tree": "a5c26edf172911443afa56e5e45c868775c215e0",
      "parents": [
        "991d031835bb83d374a8642300ec66d31dcf3dd2"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Sat Apr 21 14:11:30 2018 -0700"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Sat Apr 21 14:11:30 2018 -0700"
      },
      "message": "QPID-8170: Add a basic Jenkinsfile for a CI job\n"
    },
    {
      "commit": "991d031835bb83d374a8642300ec66d31dcf3dd2",
      "tree": "a4e8104f02914ed3c14a08b9e5b2f6217a62de4c",
      "parents": [
        "2967a3655700e11414e53b8016fac9e22e291ebb"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Mar 14 12:40:31 2018 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Mar 14 12:40:31 2018 +0000"
      },
      "message": "NO-JIRA: update release helper notes\n"
    },
    {
      "commit": "2967a3655700e11414e53b8016fac9e22e291ebb",
      "tree": "2971a0f28338b06260f387738ccd64a3a4be1206",
      "parents": [
        "ff1332ba970c37c5d16e0e58770a4142f099140f"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Jan 17 10:23:28 2018 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Jan 17 10:23:28 2018 +0000"
      },
      "message": "NO-JIRA: update year in NOTICE file\n"
    },
    {
      "commit": "ff1332ba970c37c5d16e0e58770a4142f099140f",
      "tree": "071a9132a29aa9255c55902e6328a3426b00b9d3",
      "parents": [
        "e27a39321d0e248c7aa775dcc67d0517aaef3f07"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 19:08:20 2017 +0000"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 19:08:20 2017 +0000"
      },
      "message": "QPID-8051, QPID-8052: update versions for 1.38.0-SNAPSHOT\n"
    },
    {
      "commit": "e27a39321d0e248c7aa775dcc67d0517aaef3f07",
      "tree": "a75498a13caad42ff0f0068c0d6d01aee86e0806",
      "parents": [
        "335853f42d9db0d228455f17efa5ff2de17b863b"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 19:04:19 2017 +0000"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 19:04:19 2017 +0000"
      },
      "message": "QPID-8051: update versions for 1.37.0-rc1\n"
    },
    {
      "commit": "335853f42d9db0d228455f17efa5ff2de17b863b",
      "tree": "66b248e7e424013fb56c686a6c142c73f34179a4",
      "parents": [
        "5d820c717de3bc0c64e628d68c024f20e409ed33"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 18:43:08 2017 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 18:43:08 2017 +0000"
      },
      "message": "QPID-8051: actually type the command correctly\n"
    },
    {
      "commit": "5d820c717de3bc0c64e628d68c024f20e409ed33",
      "tree": "5b4f5dca420fa6fc360b7d21234d8c492b42e5f5",
      "parents": [
        "e71238d512a993fe9c93dcbecfb1ed42d637519c"
      ],
      "author": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 18:37:39 2017 +0000"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 18:37:39 2017 +0000"
      },
      "message": "QPID-8051: update the notes to use setup.py sdist for creating the archive\n"
    },
    {
      "commit": "e71238d512a993fe9c93dcbecfb1ed42d637519c",
      "tree": "4886a7ceaea590ab9a67be98b5b93182c40c8abd",
      "parents": [
        "e32249f8a63a997a877591a90d76c79ee34eb1b2"
      ],
      "author": {
        "name": "Irina Boverman",
        "email": "iboverma@redhat.com",
        "time": "Wed Nov 22 11:24:16 2017 -0500"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 18:21:38 2017 +0000"
      },
      "message": "QPID-8051: add some initial notes on releasing\n"
    },
    {
      "commit": "e32249f8a63a997a877591a90d76c79ee34eb1b2",
      "tree": "ac14f8484c0db4ad6089bf9b6416e56de0e5cef8",
      "parents": [
        "7c968c8318f4c4a70fbe0ebbcdbe0a09d8cfbb3e"
      ],
      "author": {
        "name": "Irina Boverman",
        "email": "iboverma@redhat.com",
        "time": "Wed Jul 26 20:36:04 2017 -0400"
      },
      "committer": {
        "name": "Robbie Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Nov 22 17:44:06 2017 +0000"
      },
      "message": "QPID-7833: always include the qpid-python-test.bat file\n"
    },
    {
      "commit": "7c968c8318f4c4a70fbe0ebbcdbe0a09d8cfbb3e",
      "tree": "98d15d4af017204b11003b5be6c8ff2a823c208b",
      "parents": [
        "0c3c82b6b255067f34088c5aa9e19671e98b5c18"
      ],
      "author": {
        "name": "Alan Conway",
        "email": "aconway@redhat.com",
        "time": "Wed Aug 09 16:06:35 2017 -0400"
      },
      "committer": {
        "name": "Alan Conway",
        "email": "aconway@redhat.com",
        "time": "Wed Aug 09 16:06:35 2017 -0400"
      },
      "message": "QUID-7884: Python client should not raise on close() after stop.\n\nThe python client throws exceptions out of AMQP object methods (Connection, Session and Link objects) if the selector has been stopped, to prevent hanging (see QPID-7317 Deadlock on publish)\n\nHowever to be robust to shut-down order, the close() method should not throw an exception in this case, but should be a no-op.\n"
    },
    {
      "commit": "0c3c82b6b255067f34088c5aa9e19671e98b5c18",
      "tree": "e31136eade80a0d12205ee914347d76c8df08a72",
      "parents": [
        "0c7e96af4e540df26372f8e4dd2f7f1b0a997ffd"
      ],
      "author": {
        "name": "Kim van der Riet",
        "email": "kpvdr@apache.org",
        "time": "Wed Jun 07 16:35:06 2017 -0400"
      },
      "committer": {
        "name": "Kim van der Riet",
        "email": "kpvdr@apache.org",
        "time": "Wed Jun 07 16:35:06 2017 -0400"
      },
      "message": "QPID-7809: Python 0-10 messaging driver does not handle heartbeat timeouts, \"assert rcv.received \u003c rcv.impending\" occurs\n"
    },
    {
      "commit": "0c7e96af4e540df26372f8e4dd2f7f1b0a997ffd",
      "tree": "b57c8fc78853821541f9923e3728f5ddade4f0c5",
      "parents": [
        "11bc3d7b976a63d1baa7950e84d95d0bc5c67e78"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Sat Mar 11 12:51:38 2017 -0800"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Sat Mar 11 12:51:38 2017 -0800"
      },
      "message": "QPID-2524: Always use the file:// prefix\n"
    },
    {
      "commit": "11bc3d7b976a63d1baa7950e84d95d0bc5c67e78",
      "tree": "d687362473a64dcb19b8b8c7a8ea41b2266203e8",
      "parents": [
        "fda9594010b13d99134c10cff54b0ba9d82c0c27"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Fri Mar 03 16:39:34 2017 -0800"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Fri Mar 03 16:39:34 2017 -0800"
      },
      "message": "QPID-7691: Bump the version on master\n"
    },
    {
      "commit": "fda9594010b13d99134c10cff54b0ba9d82c0c27",
      "tree": "8c343a0af960a2a0c49fec00737c30302ccbcbd7",
      "parents": [
        "99f2c3178b87b7e9af3a387a25b115fa868c4c79"
      ],
      "author": {
        "name": "Alan Conway",
        "email": "aconway@redhat.com",
        "time": "Thu Feb 09 11:12:56 2017 -0500"
      },
      "committer": {
        "name": "Alan Conway",
        "email": "aconway@redhat.com",
        "time": "Fri Feb 10 14:21:47 2017 -0500"
      },
      "message": "QPID-7317: More robust qpid.selector with better logging\n\nThis commit disables the selector and related qpid.messaging objects when the\nselector thread exits for any reason: process exit, fork, exception etc.  Any\nsubsequent use will throw an exception and log the locations of the failed call\nand where the selector thread was stopped. This should be slightly more\npredictable \u0026 robust than commit 037c573 which tried to keep the selector alive\nin a daemon thread.\n\nI have not been able to hang the pulp_smash test suite with this patch. The new\nlogging shows that celery workers do sometimes use qpid.messaging in an illegal\nstate, which could cause the reported hang. So far I have not seen a stack trace\nthat is an exact match for reported stacks. If this patch does not address the\npulp problem it should at least provide much better debugging information in\njournalctl log output after the hang.\n"
    },
    {
      "commit": "99f2c3178b87b7e9af3a387a25b115fa868c4c79",
      "tree": "14b9abd0948c568b75ba6024983028e16d200d25",
      "parents": [
        "f0217e0c6e40d4b8b60e0a3ae9d7516a79503708"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Jan 17 12:24:31 2017 +0000"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Tue Jan 17 12:24:48 2017 +0000"
      },
      "message": "NO-JIRA: update year in NOTICE file\n"
    },
    {
      "commit": "f0217e0c6e40d4b8b60e0a3ae9d7516a79503708",
      "tree": "7ce59187035ba389b3ebd014ab12fac5a048798f",
      "parents": [
        "7e0e81b175114a0c965ffa55bb7c152b93a970a8"
      ],
      "author": {
        "name": "Keith Wall",
        "email": "kwall@apache.org",
        "time": "Wed Dec 28 16:06:00 2016 +0000"
      },
      "committer": {
        "name": "Keith Wall",
        "email": "kwall@apache.org",
        "time": "Wed Dec 28 16:06:18 2016 +0000"
      },
      "message": "QPID-7588: [Python Test Suite] Fix interpret-time problem introduced by 7e0e81b17511\n"
    },
    {
      "commit": "7e0e81b175114a0c965ffa55bb7c152b93a970a8",
      "tree": "0c7a43f359efecd35a1528511cda9add25afd18e",
      "parents": [
        "037c5738734d8fecb7b7f7e7af4e4f14f9cd3a64"
      ],
      "author": {
        "name": "Keith Wall",
        "email": "keith.wall@gmail.com",
        "time": "Fri Dec 23 16:26:32 2016 +0000"
      },
      "committer": {
        "name": "Keith Wall",
        "email": "keith.wall@gmail.com",
        "time": "Fri Dec 23 16:26:47 2016 +0000"
      },
      "message": "QPID-7588: [Python Test Suite] [0-8..0-91]  Allow message receive timeouts to be configured from the command line (-D) to accomodate slower CI environments\n"
    },
    {
      "commit": "037c5738734d8fecb7b7f7e7af4e4f14f9cd3a64",
      "tree": "7cd14cdd8dc4845d9b6c08aaa78d0ec94515b611",
      "parents": [
        "81f09ae33839b7048a08bdf5b7405d64a1446b27"
      ],
      "author": {
        "name": "Alan Conway",
        "email": "aconway@redhat.com",
        "time": "Fri Sep 23 17:23:55 2016 -0400"
      },
      "committer": {
        "name": "Alan Conway",
        "email": "aconway@redhat.com",
        "time": "Fri Sep 23 17:26:39 2016 -0400"
      },
      "message": "QPID-7317: Fix hangs in qpid.messaging.\n\nHang is observed in processes using qpid.messaging with a thread blocked waiting\nfor the Selector to wake it, but no Selector.run thread.\n\nThis patch removes all the known ways that this hang can occur. Either we\nfunction normally or immediately raise an exception and log to the\n\"qpid.messaging\" logger a message starting with \"qpid.messaging:\"\n\nThe following issues are fixed:\n\n1. The Selector.run() thread raises a fatal exception.\n\nUse of qpid.messaging will re-raise the exception immediately, not hang.\n\n2. The process forks, so child has no Selector thread.\n\nhttps://issues.apache.org/jira/browse/QPID-5637 resets the Selector after a fork.\nIn addition we now:\n\n- Close Selector.waiter: its file descriptors are shared with the parent which\n  can cause havoc if they \"steal\" each other\u0027s wakeups.\n\n- Replace Endpoint._lock in related endpoints with a BrokenLock. If the parent\n  is holding locks when it forks, they remain locked forever in the child.\n  BrokenLock.acquire() raises instead of hanging.\n\n3. Selector.stop() called on atexit.\n\nSelector.stop was registered via atexit, which could cause a hang if\nqpid.messaging was used in a later-executing atexit function. That has been\nremoved, Selector.run() is in a daemon thread so there is no need for stop()\n\n4. User calls Selector.stop() directly\n\nThere is no reason to do this for the default Selector used by qpid.messaging,\nso for that case stop() is now ignored. It works as before for code that creates\nits own qpid.Selector instances.\n"
    },
    {
      "commit": "81f09ae33839b7048a08bdf5b7405d64a1446b27",
      "tree": "87497e053e796d9ded552a8f7c9e41d42c433bb2",
      "parents": [
        "bc3605bc8829510c65cde8c2ebe178bd6bbcb155"
      ],
      "author": {
        "name": "Alex Rudyy",
        "email": "orudyy@apache.org",
        "time": "Wed Sep 14 16:13:08 2016 +0100"
      },
      "committer": {
        "name": "Alex Rudyy",
        "email": "orudyy@apache.org",
        "time": "Wed Sep 14 16:13:08 2016 +0100"
      },
      "message": "QPID-7429 [Python Client 0-8..0-91] Prevent Client from leaking threads when connection is closed remotely\n"
    },
    {
      "commit": "bc3605bc8829510c65cde8c2ebe178bd6bbcb155",
      "tree": "ec8d340b8bbf91a302bcad9dc9cd723a83d635ce",
      "parents": [
        "15ccef2df869dc4807ef297a667525f55a2220cd"
      ],
      "author": {
        "name": "Alex Rudyy",
        "email": "orudyy@apache.org",
        "time": "Wed Sep 14 15:08:29 2016 +0100"
      },
      "committer": {
        "name": "Alex Rudyy",
        "email": "orudyy@apache.org",
        "time": "Wed Sep 14 15:11:32 2016 +0100"
      },
      "message": "QPID-7424: [Python Client 0-8..0-91] Raise Closed exception to application when connection is remotely closed.\n\nIf application is blocking a on an incoming queue we now raise a Closed exception to notify it in case the connection is closed\n"
    },
    {
      "commit": "15ccef2df869dc4807ef297a667525f55a2220cd",
      "tree": "83138f9fe0c3c54bbdbe43db02bfaf22732ee2fa",
      "parents": [
        "7400f6ede3389071a60100703925155655e7baeb"
      ],
      "author": {
        "name": "Alex Rudyy",
        "email": "orudyy@gmail.com",
        "time": "Wed Sep 14 11:57:32 2016 +0100"
      },
      "committer": {
        "name": "Alex Rudyy",
        "email": "orudyy@gmail.com",
        "time": "Wed Sep 14 11:57:32 2016 +0100"
      },
      "message": "QPID-7423: Use generator expression for chunking of big content\n"
    },
    {
      "commit": "7400f6ede3389071a60100703925155655e7baeb",
      "tree": "fdfcab5e700d9ba95a4c75414237dc89d1befb74",
      "parents": [
        "5c237dc3c4d8ef9ed9f93b5b9ecebb64c41b79c7"
      ],
      "author": {
        "name": "Keith Wall",
        "email": "kwall@apache.org",
        "time": "Mon Sep 12 09:12:41 2016 +0100"
      },
      "committer": {
        "name": "Keith Wall",
        "email": "kwall@apache.org",
        "time": "Mon Sep 12 09:13:28 2016 +0100"
      },
      "message": "QPID-7423: Fix identation problem introduced by last commit (5c237dc)\n"
    },
    {
      "commit": "5c237dc3c4d8ef9ed9f93b5b9ecebb64c41b79c7",
      "tree": "033b6624fd70f1b95878a8215096fd89cecdf6c4",
      "parents": [
        "586d41988ccac73483480be90d4eb7bccee8a940"
      ],
      "author": {
        "name": "Keith Wall",
        "email": "keith.wall@gmail.com",
        "time": "Sun Sep 11 18:23:17 2016 +0100"
      },
      "committer": {
        "name": "Keith Wall",
        "email": "keith.wall@gmail.com",
        "time": "Sun Sep 11 18:23:23 2016 +0100"
      },
      "message": "QPID-7423: [Python Client 0-8..0-91] Chunk large content into many frames sized according to the frame size agreed by connection tune.\n\n* Added supporting tests too\n\n0-10 paths unchanged by this commit\n"
    },
    {
      "commit": "586d41988ccac73483480be90d4eb7bccee8a940",
      "tree": "cc40b7c6f278ac4c1733f8dc2a588d5e7c90579c",
      "parents": [
        "4bde31cccf3e5a5d0bf5875d03254630ecffeed5"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Mon Aug 08 16:04:36 2016 -0700"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Mon Aug 08 16:04:36 2016 -0700"
      },
      "message": "QPID-7354: Update versions on master after branching for 1.35.0\n"
    },
    {
      "commit": "4bde31cccf3e5a5d0bf5875d03254630ecffeed5",
      "tree": "9358b2d88bbae6aee6ee2e05ac1dc5264d2b2c61",
      "parents": [
        "7d95c5c53b428fdb13f8aec5a74e47f9a4cc4741"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Mon Aug 08 15:13:06 2016 -0700"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Mon Aug 08 15:13:06 2016 -0700"
      },
      "message": "NO-JIRA: Remove some undesirable escapes\n"
    },
    {
      "commit": "7d95c5c53b428fdb13f8aec5a74e47f9a4cc4741",
      "tree": "e55ea6d055727cf2bac586d78be278f4fd79d56a",
      "parents": [
        "4c57d9f3df720121649824001dad84918ae6dd99"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Mon Aug 08 11:38:15 2016 -0700"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Mon Aug 08 11:38:15 2016 -0700"
      },
      "message": "NO-JIRA: Spruce up the Python readme\n"
    },
    {
      "commit": "4c57d9f3df720121649824001dad84918ae6dd99",
      "tree": "3672acea165c3c1ce8c72d739c4fb65b0225a983",
      "parents": [
        "df067741f0740db36538b1d402d62dc3c7ad1b8f",
        "e2ee8fd1dfb299d4dff68fe698e3f64414f00ab2"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Mon Jul 11 10:34:38 2016 +0100"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Mon Jul 11 10:34:38 2016 +0100"
      },
      "message": "Merge PR for readme update. This closes #1.\n"
    },
    {
      "commit": "e2ee8fd1dfb299d4dff68fe698e3f64414f00ab2",
      "tree": "3672acea165c3c1ce8c72d739c4fb65b0225a983",
      "parents": [
        "df067741f0740db36538b1d402d62dc3c7ad1b8f"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Mon Jul 11 10:30:41 2016 +0100"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Mon Jul 11 10:30:41 2016 +0100"
      },
      "message": "QPID-7207: further trivial update, remove stale description and link to site. Testing GitHub integration.\n"
    },
    {
      "commit": "df067741f0740db36538b1d402d62dc3c7ad1b8f",
      "tree": "d934564dc131de814d8b8788d3aa952afca467c0",
      "parents": [
        "90e68594a2a93038e01729584e35568d6e3692b9"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Mon Jul 11 10:04:54 2016 +0100"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Mon Jul 11 10:04:54 2016 +0100"
      },
      "message": "QPID-7207: trivial fixup, mainly testing out the JIRA integration following move to git\n"
    },
    {
      "commit": "90e68594a2a93038e01729584e35568d6e3692b9",
      "tree": "1e3fdfaa3d879788ecddfc6a1afb856057aa3c55",
      "parents": [
        "afb6c03ce577b289f4fc420e5087d31b85d59860"
      ],
      "author": {
        "name": "Lorenz Quack",
        "email": "lquack@apache.org",
        "time": "Fri May 13 08:17:20 2016 +0000"
      },
      "committer": {
        "name": "Lorenz Quack",
        "email": "lquack@apache.org",
        "time": "Fri May 13 08:17:20 2016 +0000"
      },
      "message": "QPID-7258: [Python Client for AMQP 0-8...0-9-1] Remove superfluous import (review comment from @kwall)\n"
    },
    {
      "commit": "afb6c03ce577b289f4fc420e5087d31b85d59860",
      "tree": "158db26c4495b0f563e0ff10e60d47cf837872e4",
      "parents": [
        "36439188d20739fe25845c03b945b18a05e7ffb2"
      ],
      "author": {
        "name": "Gordon Sim",
        "email": "gsim@apache.org",
        "time": "Thu May 12 11:30:07 2016 +0000"
      },
      "committer": {
        "name": "Gordon Sim",
        "email": "gsim@apache.org",
        "time": "Thu May 12 11:30:07 2016 +0000"
      },
      "message": "QPID-7259: delay adding transfers to completed set until we have verified queue is empty\n"
    },
    {
      "commit": "36439188d20739fe25845c03b945b18a05e7ffb2",
      "tree": "dae0b718f54e4a5d3de2dc7be33764d305165c6b",
      "parents": [
        "e3a8a62c3f520723d58f2106e991ebf1a2b4b8c4"
      ],
      "author": {
        "name": "Lorenz Quack",
        "email": "lquack@apache.org",
        "time": "Wed May 11 14:24:07 2016 +0000"
      },
      "committer": {
        "name": "Lorenz Quack",
        "email": "lquack@apache.org",
        "time": "Wed May 11 14:24:07 2016 +0000"
      },
      "message": "QPID-7258: Python Client for AMQP 0-8...0-9-1] Perform\n hostname verification of tls connections\n\n* hostname verification is performed by default.\n* introduce connection_option \"ssl_skip_hostname_check\" to disable this feature\n* hostname verification will throw an ImportError on Python \u003c2.6\n"
    },
    {
      "commit": "e3a8a62c3f520723d58f2106e991ebf1a2b4b8c4",
      "tree": "face5ceb09f950bd70bbd123a2eca1cf83fe10dd",
      "parents": [
        "fe7ac2fff031fc6725ee6af11e1fd0bb928f0190"
      ],
      "author": {
        "name": "Lorenz Quack",
        "email": "lquack@apache.org",
        "time": "Tue May 10 12:55:55 2016 +0000"
      },
      "committer": {
        "name": "Lorenz Quack",
        "email": "lquack@apache.org",
        "time": "Tue May 10 12:55:55 2016 +0000"
      },
      "message": "QPID-7251: [Python Client] fix explicit setting of mechanism and/or response on AMQP 0-8 and 0-9\n"
    },
    {
      "commit": "fe7ac2fff031fc6725ee6af11e1fd0bb928f0190",
      "tree": "d4bb9c0586734e183c5d5ca71dfc0e20aab0b68a",
      "parents": [
        "71440138442aca7580021002c226fe00f0792798"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Thu Apr 21 18:08:03 2016 +0000"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Thu Apr 21 18:08:03 2016 +0000"
      },
      "message": "QPID-7207: Improve the Qpid Python install and test instructions\n"
    },
    {
      "commit": "71440138442aca7580021002c226fe00f0792798",
      "tree": "74baf8f46e08a074381b827fc3b8b84a4e48a3c1",
      "parents": [
        "f8aff1c99e4683e3e9ad59d0f4f481ec9b8df77f"
      ],
      "author": {
        "name": "Alex Rudyy",
        "email": "orudyy@apache.org",
        "time": "Thu Apr 21 15:33:21 2016 +0000"
      },
      "committer": {
        "name": "Alex Rudyy",
        "email": "orudyy@apache.org",
        "time": "Thu Apr 21 15:33:21 2016 +0000"
      },
      "message": "QPID-7222: Make python test qpid_tests.broker_0_10.message.MessageTests.test_release_order to fetch explicitly required number of messages before sending accept/release in order to make sure that released messages are not resend back by the broker\n"
    },
    {
      "commit": "f8aff1c99e4683e3e9ad59d0f4f481ec9b8df77f",
      "tree": "a7d64d5f05c10e2290c3e0ac62f68062b6b7c14c",
      "parents": [
        "31c51014813a4f25b693f3fa6944e602c624de44"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Thu Apr 21 12:51:25 2016 +0000"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Thu Apr 21 12:51:25 2016 +0000"
      },
      "message": "QPID-7207: Add Qpid Python install directions; markdownify the readme; remove an obsolete file\n"
    },
    {
      "commit": "31c51014813a4f25b693f3fa6944e602c624de44",
      "tree": "bbe01f2a8e2f93828f4bf1e20adae12e5cf02341",
      "parents": [
        "4615a76b58110bcb3a87d8cf8220b1884e2fce18"
      ],
      "author": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Thu Apr 21 12:31:34 2016 +0000"
      },
      "committer": {
        "name": "Justin Ross",
        "email": "jross@apache.org",
        "time": "Thu Apr 21 12:31:34 2016 +0000"
      },
      "message": "QPID-7207: Create independent cpp and python subtrees, with content from tools and extras\n"
    },
    {
      "commit": "4615a76b58110bcb3a87d8cf8220b1884e2fce18",
      "tree": "470f236dedcd3d5346d700850052922b167487d4",
      "parents": [
        "e6f45d7fe49647b4d6c78b4e1a8a2afd9f81f1e1"
      ],
      "author": {
        "name": "Keith Wall",
        "email": "kwall@apache.org",
        "time": "Sat Apr 02 22:28:45 2016 +0000"
      },
      "committer": {
        "name": "Keith Wall",
        "email": "kwall@apache.org",
        "time": "Sat Apr 02 22:28:45 2016 +0000"
      },
      "message": "QPID-7180: [Python Test Suite] Adapt broker url to match expectations of the C++ client if swigged client is in-use\n"
    },
    {
      "commit": "e6f45d7fe49647b4d6c78b4e1a8a2afd9f81f1e1",
      "tree": "a2702c38a015a4419eee9b1c2e1607b3cf88fd20",
      "parents": [
        "8e39a987ca5a3fc1e9f1b9fb509b106e45398cd7"
      ],
      "author": {
        "name": "Ken Giusti",
        "email": "kgiusti@apache.org",
        "time": "Tue Feb 16 19:54:43 2016 +0000"
      },
      "committer": {
        "name": "Ken Giusti",
        "email": "kgiusti@apache.org",
        "time": "Tue Feb 16 19:54:43 2016 +0000"
      },
      "message": "QPID-7053: Add a callback that is invoked when asynchronous errors are\ndetected by the background thread.\nQPID-7064: Improve documentation of the asynchronous error callbacks.\n"
    },
    {
      "commit": "8e39a987ca5a3fc1e9f1b9fb509b106e45398cd7",
      "tree": "1d0e9967b56f51d0ed73dcc5d41f3d99650021cf",
      "parents": [
        "ead3ea12334737566f43de1232bbaea2a6cd9226"
      ],
      "author": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Jan 06 16:08:41 2016 +0000"
      },
      "committer": {
        "name": "Robert Gemmell",
        "email": "robbie@apache.org",
        "time": "Wed Jan 06 16:08:41 2016 +0000"
      },
      "message": "NO-JIRA: update year in NOTICE files (for bits perhaps looking to get released soon, rest needs a tidy up).\n"
    }
  ],
  "next": "ead3ea12334737566f43de1232bbaea2a6cd9226"
}
