)]}'
{
  "log": [
    {
      "commit": "11b88e7b4962fe906a383f5393a1d7f18d279a77",
      "tree": "43f5108fb078da5e36437201dae19fd881323a69",
      "parents": [
        "aa467940478031f3f2da25298dc4ae6b44f9762c"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Feb 07 12:28:29 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Feb 07 12:28:29 2019 -0500"
      },
      "message": "VOL-1459 : Fix failure to load device from persistence\n\n- fixed watch logic which was not really updating memory\n- force get depth to 0 to work around corrupted data structures\n\nChange-Id: I595981e2ee3d816d17702e7f39c099193590fa6f\n"
    },
    {
      "commit": "aa467940478031f3f2da25298dc4ae6b44f9762c",
      "tree": "f91e75bedace9edd4e9f8076844e73da1caa8c96",
      "parents": [
        "d62ac4e3aec5a43c5ebd4f2641bf26358230dea5"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 06 14:09:44 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 06 14:09:44 2019 -0500"
      },
      "message": "VOL-1459 : Ensure data model synchronization from kv\n\n- Introduced a new List function to force a load from persistence\n- Properly create a proxy for non-keyed nodes (e.g. /adapters)\n- Optimized load from persistence operation to avoid existing entries\n- Fixed/Enhanced proxy unit test\n\nChange-Id: Ib368d32c517e74410b541bb8927429d066a9cfd0\n"
    },
    {
      "commit": "933b09bd64667dc05650b9d999177a64fa088a84",
      "tree": "72715255ebfa488c6dd98a3d11f7002069619328",
      "parents": [
        "5f89fb69958e2b137ec3857317b9936b93702876"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 09 11:12:09 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 09 11:12:09 2019 -0500"
      },
      "message": "VOL-1372 : Fixed core crash due to how revisions are updated\n\n- UpdateChildren merges new and existing entries\n- proxy access control singleton now uses sync.Map since the\n  entry was intermittently losing its content\n- Switch to AddWithID in the device_agent to ensure thread safety\n\nChange-Id: Ifcb2374f48b612a487a00f4a952aeec21d1c4af1\n"
    },
    {
      "commit": "1ab4327bd1f6f0b069e0af70e402c57a72425c6f",
      "tree": "64a77d2c9a4c94c55cd015a449bdaeba5094fc6d",
      "parents": [
        "ab8e25365ef0d44ef15f5c50efb16c7c1261ab05"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Sat Dec 08 21:42:13 2018 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Sat Dec 08 21:42:13 2018 -0500"
      },
      "message": "VOL-1173 : Removed hash based storage; replaced with per device protobuf\n\n- Ensured proxies issue callbacks instead of forcing with goroutines\n- Fixed mutex issue with proxy component\n\nChange-Id: Idabd3257c6d264c0f607ee228e406810304dab43\n"
    },
    {
      "commit": "dc5022d9dd23f415e7b497ad0082844cc2be1197",
      "tree": "b2f9320b21b6db474e45edf01256eb1068e2ce06",
      "parents": [
        "c635cd3265002d98f2a53eecaf77d4a41229abf2"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Nov 19 15:21:44 2018 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Nov 19 15:21:44 2018 -0500"
      },
      "message": "VOL-1334 : Fixed concurrency issues\n\n- Semaphores were added at the different layers of the model\n- Made the proxy interfaces more robust\n- Eliminated problems while retrieving latest data in concurrent mode\n\nChange-Id: I7854105d7effa10e5cb704f5d9917569ab184f84\n"
    },
    {
      "commit": "a188d94b8a07e8d458317c1865e254abf4d3397a",
      "tree": "00634d1856438a75c3c2a227aa2ebbef7254ecd3",
      "parents": [
        "126101e6179674e288c2b09b55bfa22ea348c4fa"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 16 16:43:04 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Oct 17 10:36:49 2018 -0400"
      },
      "message": "VOL-1243: Added logic for thread safety\n\n- Thread safety was added at the proxy level\n- Refactored the test init in a base_test structure\n- Fixed issue with writing to kv\n- Added profiling for locking period\n\nAmendments:\n\n- Comment out a cleanup statement causing KV corruption (as per VOL-1293)\n- Added missing license\n\nChange-Id: Id6658270dbb8b738abeef9e9e1d349dce36501bc\n"
    }
  ]
}
