)]}'
{
  "log": [
    {
      "commit": "c233b2ee946b5794a9f8db7300481b0e843d18ae",
      "tree": "76800b8add85f0d0001151d00917541e52f7c40f",
      "parents": [
        "4fd9ea5fffe391036e39b4cc4d2ba335077668f1"
      ],
      "author": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Sat Dec 07 15:46:11 2019 -0500"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Mon Mar 23 11:54:11 2020 -0400"
      },
      "message": "VOL-724 VOL-2106 Return of MIB external storage\n\n- New lazy writer in-memory storage class.  Lazy writes mib_db_dict to etcd if dirty. No need to write for every set()\n  This is the preferred storage class and enables adapter restart/reconciliation\n\n- New Twisted etcd storage class.  defers to threads given etcd3 blocks.  should improve performance.\n\n- Totally refactored mib_ext_db and mib_alarm_ext_db.\n  Before they were totally unusable, but now _ext_db can be used if chosen.  Warning, they do not use the Twisted etcd storage given\n  the ripple effect change through most of openomci needed.  So they use the blocking etcd3.  With 100s of onu this\n  will cause timeouts.\n  Given every set() is a write to etcd use of these classes should be discouraged for performance.\n\n- Modifed mib template task to used async twisted etcd class.  Also update db interface api to include new template functions\n\n- No longer de-jsonify certain complex attributes in in-memory dict_db.\n  they must be escaped json string in the field in order for mib storage/recovery to work\n\nChange-Id: I1b77e48ca4185542fa19016200a6cdd5daca0764\n"
    },
    {
      "commit": "84a71e9ce9bdcd1932f3c851ca4348a989eb2160",
      "tree": "8e49c3c13dbd1718abe67cc6a6debf19236bfc06",
      "parents": [
        "a4d0bdeb4ad41ff58f4928dc948272662e7c230e"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Fri Nov 15 09:00:19 2019 -0700"
      },
      "committer": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Tue Nov 19 07:31:59 2019 -0700"
      },
      "message": "[VOL-2241] Python 3 refactor of pyvoltha\n\nMajority of work was manual fixes to bytes and strings types, which are\ndifferent in py3, but same in py2. As the OMCI library does a lot of\nthese comparisons and scapy then renders packets, this was frequently\nnontrival to debug.\n\nAlso:\n\n- Removed grpc dep which wasn\u0027t being used, not py3 compatible\n- s/Alarms/Events/ to work with protobuf changes per VOL-2224\n- Automatic fixes via modernize tooling\n- Removed unused OrderedWeakValueDict code\n- Removed frameio send_frame specific to Darwin (MacOS), which had no\n  corresponding linux code\n- Use library functions for hex and unicode conversions\n- Various other cleanups and fixes (EOL whitespace, etc.)\n\nAlso more (Matt):\n\n - handle stringify better, check if already string\n - use binary string for binary work\n - import new thread paths\n - update requirements.txt for newer libraries needed with newer python\n - return proper tuple for unpacking\n - bytes string formatting fixed\n - fix mock task unit test\n\nEven more (Zack):\n\n- Python 2/3 compat for _thread by using \u0027future\u0027\n- Bump version to 2.3.0\n\nChange-Id: I53b596d374a944bfb80d0b112f21bcc1f8bcee6e\n"
    },
    {
      "commit": "6a7950cb8a83ba4129b3a25d7455055812ad3c78",
      "tree": "15da728db24ab0427664610fa3073a63a6efc70a",
      "parents": [
        "5be22260ea8d5a1c68bb20222e000f74c0727ef0"
      ],
      "author": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Tue Sep 17 11:14:33 2019 -0400"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Thu Sep 19 13:04:41 2019 -0400"
      },
      "message": "SEBA-830: Fix syntax errors and argument count mismatches\n\nAlso add some unit tests\n\nChange-Id: Id93dd2f5a2a691b045d78cbfa7a2b1b8c30bd32b\n"
    },
    {
      "commit": "3b144f1ebde1fa03052763d0783e2b1f7d5e2e22",
      "tree": "0bb56a77b0bdca580062d8b1d9b8f1d590a8e864",
      "parents": [
        "2164626c7565eed6f7ae19dec0b175b9f2158f1a"
      ],
      "author": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Tue Jun 11 20:36:15 2019 -0400"
      },
      "committer": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Tue Jun 11 20:36:15 2019 -0400"
      },
      "message": "Fix issue where build fails with no dist folder\n\nChange-Id: I38e64f5aeb0a67986f419434fcff9bea2bf420c9\n"
    },
    {
      "commit": "2164626c7565eed6f7ae19dec0b175b9f2158f1a",
      "tree": "313cb8668ee4569c70c7cb3a9e445e14eb27da68",
      "parents": [
        "d40c88d93cbd7d07d6da4eb65c4e0d2a68812af1"
      ],
      "author": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Fri Jun 07 17:11:41 2019 -0400"
      },
      "committer": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Fri Jun 07 17:11:41 2019 -0400"
      },
      "message": "VOL-1688 Fixing subtle error where an upgraded VERSION file can cause multiple dist files to exist. This can break local builds if they local build loads the wrong one\n\nChange-Id: I18350db1af40191f8a5bec43553560d8fececdda\n"
    },
    {
      "commit": "a95e2c814fcc236270c72c952181c43e57ec2888",
      "tree": "97ae31ff539b71cffde36a02432ffbc09b63dd78",
      "parents": [
        "72fe6ae4376eed6ebea3e633bef8a9cb70e79750"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Wed Apr 17 15:43:54 2019 -0700"
      },
      "committer": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Wed Apr 17 17:21:33 2019 -0700"
      },
      "message": "General cleanup\n\n- Remove unused Dockerfiles\n- Simplify Makefile\n- Use tox.ini to store nose config\n- Bump version of voltha-protos and fix test\n\nChange-Id: I8d6a1e8dfafd84bd21f495b0f6b96885f829c208\n"
    },
    {
      "commit": "29989ebb687881270d06058af1afcbcf47cb1fd4",
      "tree": "ef84cd0c9b83080e1ac99707b20e154e9b3df32b",
      "parents": [
        "ede82e919ed3d2acd6e0e2788b884a61d32f5154"
      ],
      "author": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Thu Mar 07 06:40:12 2019 -0500"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Thu Mar 07 06:41:33 2019 -0500"
      },
      "message": "VOL-1460 Typo in core_proxy.  Also remove uneeded Makefile entries\n\nChange-Id: Idec05442d13e232ac853a5091cc7839dfd2f4d7b\n"
    },
    {
      "commit": "ede82e919ed3d2acd6e0e2788b884a61d32f5154",
      "tree": "934f314d95dce7e05a1862b7dcc7a5a2e9cf8cab",
      "parents": [
        "72469f2625cae1fe2ff20df7111c4cd2d1ca0d64"
      ],
      "author": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Tue Mar 05 13:02:57 2019 -0500"
      },
      "committer": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Wed Mar 06 14:32:30 2019 -0500"
      },
      "message": "VOL-1460 Migrated to use voltha-protos\n\nAlso removed uses of third_party, which didn\u0027t seem to be used, and is not currently provided by voltha-protos\n\nChange-Id: I360b9a67adc981912bb96bdcdd4f41354e0b6772\n"
    },
    {
      "commit": "ce2daf6728da22533fed293319e11df2d95a318a",
      "tree": "26501a3cb85bcbadb6953ba8575ee83bb7143195",
      "parents": [
        "942b2ab74ac05ae6fc8947410d46b806d4507d4e"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Tue Feb 12 13:53:39 2019 -0600"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Tue Feb 12 13:53:57 2019 -0600"
      },
      "message": "VOL-1448: Added unit test and unit-test-with-coverage support\n\nChange-Id: Ia3c1c3b18b0871b9a796f6eb62e9f2bb14b33ab8\n"
    },
    {
      "commit": "6b6d936ac06130fe2db205252480945068b06ee8",
      "tree": "c475b0090f954ffa169b363ddb4ec4b4b707a069",
      "parents": [
        "f3ad68581ef0898fd03e484678847e75f7699032"
      ],
      "author": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Mon Feb 11 10:48:41 2019 -0500"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Tue Feb 12 11:05:22 2019 -0500"
      },
      "message": "VOL-1449 Added additional library code needed to run openonu\n\nWith this commit and the changes to openonu, openonu will start.\nAdd needed bbf protos (needed for gem port modeling).  Add config\nclasses needed for kv store work.  Added function to nethelpers\ntypically seen in logical_device.  Added flow_decomposer.\n\nChange-Id: I78c38dfdfbd5fbaaa8cb7508f0cb05b54eb50965\n"
    },
    {
      "commit": "f3ad68581ef0898fd03e484678847e75f7699032",
      "tree": "5bef55e1beee6c6715d0d359b261ca1137a57480",
      "parents": [
        "67b674aba8766c077c94c3e7ad703a8ae3601a5d"
      ],
      "author": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Fri Feb 08 18:21:44 2019 -0500"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Sat Feb 09 12:16:45 2019 -0500"
      },
      "message": "VOL-1449 Create docker images including pyvoltha\n\nCreates a base and pyvoltha docker image with installed\nusing a newer version of pip.  Also include the README.md\nfile as pip install needed it inside the docker build.\n\nChange-Id: I5450de4a855ed40f2eb611c55726dfcba720f41f\n"
    },
    {
      "commit": "67b674aba8766c077c94c3e7ad703a8ae3601a5d",
      "tree": "d613dc0ad07b9e89984ef13f0d254bf1d589cefc",
      "parents": [
        "63dc940f2983261e3a68f6bd8896721e2d74295d"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Fri Feb 08 11:42:18 2019 -0600"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Fri Feb 08 13:23:42 2019 -0600"
      },
      "message": "VOL-1448: Initial checkin of pyvoltha repository\nThis is very early work and unit tests are not currently running.\nFuture versions of this code will remove the protobuf directory\nand address any v2.0 API changes such as the key-value store API\nused by various libraries in pyvoltha\n- Added .gitreview config file\n- Moved VERSION file to expected location and specified a dev version\n  so no git tags or PyPI publishing occurs until we are ready.\n- Removed generated .desc protobuf files\nChange-Id: Icaedc6a4d2cff87cd7d538d3610586d0f5a5db18\n"
    }
  ]
}
