)]}'
{
  "log": [
    {
      "commit": "cbff9cd715aa111ff91e428caf0cc8acab456e6f",
      "tree": "907951753dd8958e02cecda8c29c1fcb432c586c",
      "parents": [
        "3b3681bdba5a0d7669b170b4bdf784c801224fc6"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Apr 16 13:48:31 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Apr 16 13:48:31 2017 +0200"
      },
      "message": "mixed storage type\n"
    },
    {
      "commit": "3b3681bdba5a0d7669b170b4bdf784c801224fc6",
      "tree": "87884e4e7478cd2f52e2a6c06f0539f451ca6b49",
      "parents": [
        "c82e8fd70c35e386f859fce0aaba6982fc1b55ff"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Apr 16 11:53:24 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Apr 16 11:53:24 2017 +0200"
      },
      "message": "yaml_git storage type\n"
    },
    {
      "commit": "c82e8fd70c35e386f859fce0aaba6982fc1b55ff",
      "tree": "52626a101372a3c7cc846430854bbc6a549651e8",
      "parents": [
        "71ec18bb63b21cdf5d548998a615c80a2e63ecc4"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Apr 13 16:12:17 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Apr 13 16:12:17 2017 +0200"
      },
      "message": "simplify logic for when to generate inventory\n"
    },
    {
      "commit": "71ec18bb63b21cdf5d548998a615c80a2e63ecc4",
      "tree": "a39ae1e736a6b94e8642be498ba23aea3d5568ed",
      "parents": [
        "41caee165b3965edd9845dfbd105890f7deba184"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Apr 13 13:09:30 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Apr 13 13:09:30 2017 +0200"
      },
      "message": "inital support for a git storage type\n"
    },
    {
      "commit": "41caee165b3965edd9845dfbd105890f7deba184",
      "tree": "14ffac2501d60f04e798595435eea920ec789617",
      "parents": [
        "ce3fa3aad3f403e63f487fdc4c8d5d9cd4de900c"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Apr 11 15:44:35 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Apr 11 15:44:35 2017 +0200"
      },
      "message": "fix typo regression\n"
    },
    {
      "commit": "ce3fa3aad3f403e63f487fdc4c8d5d9cd4de900c",
      "tree": "578ca8d5fefe203d7e4ed8a67f5be51a8f189c12",
      "parents": [
        "436d679dab1e306792d8af65309498ec0f5130ec"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Apr 11 15:38:09 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Apr 11 15:38:09 2017 +0200"
      },
      "message": "remove exports_uri as the inventory isn\u0027t cached anymore\n"
    },
    {
      "commit": "436d679dab1e306792d8af65309498ec0f5130ec",
      "tree": "c7ffce2d3b3bde676a3c37e2e8cbe8dfb60c8615",
      "parents": [
        "3b9fb384c516780c80cba0ae987816895c66f80b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Apr 08 07:58:59 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Apr 08 07:58:59 2017 +0200"
      },
      "message": "remove exp_ to inv_\n"
    },
    {
      "commit": "3b9fb384c516780c80cba0ae987816895c66f80b",
      "tree": "f2289704864884604e5d78d59404b506f9249e38",
      "parents": [
        "0e224c1535b8fb0e2a3797cc36394ce690b5cefb"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Apr 03 17:00:17 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Apr 03 17:00:17 2017 +0200"
      },
      "message": "ensure _keep_overrides has a default value of False\n"
    },
    {
      "commit": "0e224c1535b8fb0e2a3797cc36394ce690b5cefb",
      "tree": "acb93f2b20ad7ae43c23a3b09245807d28259d25",
      "parents": [
        "8752ad5e1ad3294f517426e26059f241e1cc4d8b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 29 14:55:28 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 29 14:55:28 2017 +0200"
      },
      "message": "fully render referenced dicts and lists in exports\n"
    },
    {
      "commit": "8752ad5e1ad3294f517426e26059f241e1cc4d8b",
      "tree": "eb884c0f7da85bc2055fa82fa6d2b5fccc33a457",
      "parents": [
        "29f4b695a798500cb493daf480f10e66cd994e84"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 27 12:43:26 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 27 12:43:26 2017 +0200"
      },
      "message": "handle merge options at parameter initialisation\n"
    },
    {
      "commit": "29f4b695a798500cb493daf480f10e66cd994e84",
      "tree": "2b5ca8a9d2d5b02a1afd27565461fe6c3363e230",
      "parents": [
        "d85e9ad8d2b82cea39078319935b1cfb7c77008e"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 27 09:12:45 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 27 09:12:45 2017 +0200"
      },
      "message": "use the name inventory instead of exports\n"
    },
    {
      "commit": "d85e9ad8d2b82cea39078319935b1cfb7c77008e",
      "tree": "a0bd03bcac1793a3d86bd4aec357e904e4db3001",
      "parents": [
        "1e5937edb80971118052512a3df99b70dd420d62"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 27 09:11:27 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 27 09:11:27 2017 +0200"
      },
      "message": "simply using comprehensions\n"
    },
    {
      "commit": "1e5937edb80971118052512a3df99b70dd420d62",
      "tree": "05e6b7a53f77fb8b1c74e87fa2c35dbcf167001e",
      "parents": [
        "3816b9e1b3affccccf549f47500713bec965234b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 17:19:05 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 17:19:05 2017 +0200"
      },
      "message": "stop caching inventory and calculate inventory for nodes which have inventory queries\n"
    },
    {
      "commit": "3816b9e1b3affccccf549f47500713bec965234b",
      "tree": "ef05bf3d6922615b992114bcc24837399423e13a",
      "parents": [
        "92a50194c415019a0cd70724894d0ff82817ea6a"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 10:20:36 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 10:20:36 2017 +0200"
      },
      "message": "track if any value is an inv_query\n"
    },
    {
      "commit": "92a50194c415019a0cd70724894d0ff82817ea6a",
      "tree": "95b156bfd753dad9a97b8f63782af595793889b1",
      "parents": [
        "f6c38f80fb507bb38942b5e15941025b999ad437"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 10:20:14 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 10:20:14 2017 +0200"
      },
      "message": "rename has_exports to has_inv_query\n"
    },
    {
      "commit": "f6c38f80fb507bb38942b5e15941025b999ad437",
      "tree": "02229296cd9897f8665001d5ed4d3260ab12bd4c",
      "parents": [
        "5c2a781b06d46d8edd00fd60885f05608eb66696"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 08:34:08 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 08:34:08 2017 +0200"
      },
      "message": "rename expitem to invitem a it\u0027s an inventory query\n"
    },
    {
      "commit": "5c2a781b06d46d8edd00fd60885f05608eb66696",
      "tree": "c9f7e0960bbd38d8d7b7214d5bcd53306a508398",
      "parents": [
        "c9f70c270b4eaf45a377247e5c7009cda39da4fb"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 08:29:12 2017 +0200"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 26 08:29:12 2017 +0200"
      },
      "message": "add all refs checks for nested refs\n"
    },
    {
      "commit": "c9f70c270b4eaf45a377247e5c7009cda39da4fb",
      "tree": "8596815f5564e8755d1d2f97820e037814c1fe1e",
      "parents": [
        "a364ee73fb430efa056526df06435c60447ce13f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 20:57:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 20:57:05 2017 +0100"
      },
      "message": "add test for nested references interpolation for two nodes\n"
    },
    {
      "commit": "a364ee73fb430efa056526df06435c60447ce13f",
      "tree": "4300b0c3c57cd6a08827a9acf9bfef483a07cf29",
      "parents": [
        "7f46e895d2ea8b7c9e1c7395a6e20b475b869054"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 14:01:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 14:01:05 2017 +0100"
      },
      "message": "use simple !\u003d comparision for exports\n"
    },
    {
      "commit": "7f46e895d2ea8b7c9e1c7395a6e20b475b869054",
      "tree": "5e95eec7e164f6e603128fe6abb4b2268bb55236",
      "parents": [
        "6419fd357aa809c4b2331b1600a62c9ef6619d3e"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:54:55 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:54:55 2017 +0100"
      },
      "message": "add test for list merging with refs and for two nodes\n"
    },
    {
      "commit": "6419fd357aa809c4b2331b1600a62c9ef6619d3e",
      "tree": "3a7118667f111faa1c24cb391a2895eb0d5c601b",
      "parents": [
        "5294ed61dee862f4d299ffaf3497c48bf3fe8900"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:39:43 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:39:43 2017 +0100"
      },
      "message": "add consecutive node merging test\n"
    },
    {
      "commit": "5294ed61dee862f4d299ffaf3497c48bf3fe8900",
      "tree": "f2f416e36fb9627bac91cba3a8799ec0637a3f26",
      "parents": [
        "c2529908800a98ddccd749aea30a6fedad8cd7f4"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:33:37 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:33:37 2017 +0100"
      },
      "message": "fix inventory output merging in parameters from other nodes\n"
    },
    {
      "commit": "c2529908800a98ddccd749aea30a6fedad8cd7f4",
      "tree": "298f920cd08dac211de149db900726760441123e",
      "parents": [
        "0180e68527082f4c7e18d037e75cd4df20403c70"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:32:58 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 24 13:32:58 2017 +0100"
      },
      "message": "rename self._type to self._expr_type to avoid confusion\n"
    },
    {
      "commit": "0180e68527082f4c7e18d037e75cd4df20403c70",
      "tree": "7e89053f90d348bf6f6e2288ae42281144cce65a",
      "parents": [
        "af2c5425ef8399d5e20c20ca8bc514f79a640c87"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 17:59:36 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 17:59:36 2017 +0100"
      },
      "message": "fold white space parsing into text parse expression\n"
    },
    {
      "commit": "af2c5425ef8399d5e20c20ca8bc514f79a640c87",
      "tree": "428c5025cad2bed4a29ea999ef2cd6c832a521f6",
      "parents": [
        "b712f6bdc2a3e775f66939d803f465cf61e51c3d"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 11:39:37 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 11:39:37 2017 +0100"
      },
      "message": "minor logic tidy up\n"
    },
    {
      "commit": "b712f6bdc2a3e775f66939d803f465cf61e51c3d",
      "tree": "fbb9b8be7dde87fdc82ff7bf499ea84649bfa947",
      "parents": [
        "f117a460044de09f7e8b0f35e46d9b2a08b2bff1"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 11:38:23 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 11:38:23 2017 +0100"
      },
      "message": "move non string item assignments from parser to value class\n"
    },
    {
      "commit": "f117a460044de09f7e8b0f35e46d9b2a08b2bff1",
      "tree": "609c8c2b07e6f170ad411fe98218e2bca7b3de94",
      "parents": [
        "fc3e8bb48a0972aa605f830feda7fa367473e2f7"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 09:26:12 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 09:26:12 2017 +0100"
      },
      "message": "simplify simple ref parser\n"
    },
    {
      "commit": "fc3e8bb48a0972aa605f830feda7fa367473e2f7",
      "tree": "607bf397e4712e1b0fba42f21912fd76c418bebd",
      "parents": [
        "779fe24bf7cbbfa4d239950118608b0a16c45706"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 09:23:44 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 23 09:23:44 2017 +0100"
      },
      "message": "remove unnecessary dict deepcopy\n"
    },
    {
      "commit": "779fe24bf7cbbfa4d239950118608b0a16c45706",
      "tree": "86340618521d43601611405bee209b59c2226b12",
      "parents": [
        "4d6d35b0358f474aa99f995773028d6f5386f957"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 20:52:12 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 20:52:12 2017 +0100"
      },
      "message": "remove unneeded class var\n"
    },
    {
      "commit": "4d6d35b0358f474aa99f995773028d6f5386f957",
      "tree": "5e382211472d74469cd6bbc528aa921b04c173ba",
      "parents": [
        "5a018c64759f56fa8c4a955821e2c1196d4d80bb"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 20:10:54 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 20:10:54 2017 +0100"
      },
      "message": "avoid using import in methods\n"
    },
    {
      "commit": "5a018c64759f56fa8c4a955821e2c1196d4d80bb",
      "tree": "f5197fcfca9d2a5d59f0555a37e64bc39b7db61b",
      "parents": [
        "abe722a845cc70ec5a8cb8e038bf9d47a2721123"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 19:33:11 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 19:33:11 2017 +0100"
      },
      "message": "use join to build strings\n"
    },
    {
      "commit": "abe722a845cc70ec5a8cb8e038bf9d47a2721123",
      "tree": "9c5f0add0b3fc1ac753cdc76aaf428c7571ab139",
      "parents": [
        "8000299cde38ac151b4effcb7ebffec0b025d862"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 18:17:17 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 18:17:17 2017 +0100"
      },
      "message": "refactor out an Exports class as sub class of Parameters\n"
    },
    {
      "commit": "8000299cde38ac151b4effcb7ebffec0b025d862",
      "tree": "04ef2e58d22c01773e6a7fddb7dcc085963e4f7e",
      "parents": [
        "3e18a6433d97c05db93aec795a860fe4a4d6adf3"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 18:15:29 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 18:15:29 2017 +0100"
      },
      "message": "optimisation: use ints for token type indentification\n"
    },
    {
      "commit": "3e18a6433d97c05db93aec795a860fe4a4d6adf3",
      "tree": "7a25a0e0c6c4694ace65238c738a8da6ae2cd7a5",
      "parents": [
        "2f6e9f5e2e4aa3b3849bf5369e554cfcd706698c"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 12:57:57 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 12:57:57 2017 +0100"
      },
      "message": "make merge options a class variable for parameter\n"
    },
    {
      "commit": "2f6e9f5e2e4aa3b3849bf5369e554cfcd706698c",
      "tree": "2c4ebae6c8cbb2f1472d753dd337c9aa705c2c48",
      "parents": [
        "1116e87338a9b51d2e50188b9f622c42d3b412d0"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 11:22:26 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 11:22:26 2017 +0100"
      },
      "message": "refactor the parser into a separate class\n"
    },
    {
      "commit": "1116e87338a9b51d2e50188b9f622c42d3b412d0",
      "tree": "4701a1f4d864ce2c7580f7d466dfa658d1228b70",
      "parents": [
        "b1d95362ffbc556de2558a57c295e52bc8f5f774"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 10:39:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 10:39:05 2017 +0100"
      },
      "message": "test cases for exports\n"
    },
    {
      "commit": "b1d95362ffbc556de2558a57c295e52bc8f5f774",
      "tree": "9d56b8189567126ad71c2c6c51f610eab8953a4e",
      "parents": [
        "6f4692456ed956d020a1d85c48642f1c0e40e6c4"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 10:36:52 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Wed Mar 22 10:36:52 2017 +0100"
      },
      "message": "fix rendering references in exports that contain deep references\n"
    },
    {
      "commit": "6f4692456ed956d020a1d85c48642f1c0e40e6c4",
      "tree": "f79c07298ec9e1f8fb99b3b3ba0c24d6bae741c8",
      "parents": [
        "c7b431fc19cc984a54385a83a22e2c4bb36d8cba"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 12:09:37 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 12:09:37 2017 +0100"
      },
      "message": "fix ansible adapter to use exports_uri\n"
    },
    {
      "commit": "c7b431fc19cc984a54385a83a22e2c4bb36d8cba",
      "tree": "2bc065fbff9e7916581e757bd02d40f0b406a91f",
      "parents": [
        "88fb3f8aec7b1ae9f7f7a28e58375697b712ebc1"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 11:56:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 11:56:05 2017 +0100"
      },
      "message": "tweak simple ref parser to allow options strings around a reference\n"
    },
    {
      "commit": "88fb3f8aec7b1ae9f7f7a28e58375697b712ebc1",
      "tree": "062f9de0c5bf28ce92cd36385dcd80828e957756",
      "parents": [
        "aa1b1ae3ced52dc28b8c2e6220a3f467e5bbbe61"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 08:41:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 08:41:05 2017 +0100"
      },
      "message": "remove deleted nodes from exports when generating inventory\n"
    },
    {
      "commit": "aa1b1ae3ced52dc28b8c2e6220a3f467e5bbbe61",
      "tree": "95641b80c88983aa1c24b64c1201a4ef2f44e6b0",
      "parents": [
        "1ad6fa4c64418e3270bd4e4738aaa5dc48ab1d20"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 08:02:49 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 08:02:49 2017 +0100"
      },
      "message": "overwrite the cached exports for a node with the recalculated exports\n"
    },
    {
      "commit": "1ad6fa4c64418e3270bd4e4738aaa5dc48ab1d20",
      "tree": "9d00ae9d77620bdfa1ef435e88dd60a2808177a5",
      "parents": [
        "c872763f7f1d4a8f23f6b5cd09dfb4c33aae2a3f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:39:50 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:39:50 2017 +0100"
      },
      "message": "use \u003d\u003d instead of is\n"
    },
    {
      "commit": "c872763f7f1d4a8f23f6b5cd09dfb4c33aae2a3f",
      "tree": "379ae1ad95c8382468bbcea6126dedddb41e45fa",
      "parents": [
        "be7098a49f1c9235a92869c3c70187f249cc2117"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:27:03 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:27:03 2017 +0100"
      },
      "message": "streamline the value parsing\n"
    },
    {
      "commit": "be7098a49f1c9235a92869c3c70187f249cc2117",
      "tree": "7344bd7dc76802335c288638102f1bb8f9586a24",
      "parents": [
        "bb4e01bc1924984dfacaebf8126dfd0a21f0eae8"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 17:01:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 17:01:05 2017 +0100"
      },
      "message": "set exports_uri in salt adapter\n"
    },
    {
      "commit": "bb4e01bc1924984dfacaebf8126dfd0a21f0eae8",
      "tree": "9761b3d4ce17eaaa7a5ce59231c72769246608ec",
      "parents": [
        "69e7782b7793372c815a22690da2f47e573334ed"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:48:20 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:48:20 2017 +0100"
      },
      "message": "set the initial exports to contents of the exports file when calculating\nthe inventory\n"
    },
    {
      "commit": "69e7782b7793372c815a22690da2f47e573334ed",
      "tree": "a6fec912fd15de577716e7a5c4c3a84b407c9ffe",
      "parents": [
        "1cc6abca7e961055528afef41c6fadc75a14e029"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:44:55 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:44:55 2017 +0100"
      },
      "message": "value parsing speed up: treat simple refs with a quicker parser\n"
    },
    {
      "commit": "1cc6abca7e961055528afef41c6fadc75a14e029",
      "tree": "21e29ece159b49107e76ddab17f52b3d299f76e8",
      "parents": [
        "1caa6a2d6425084b53c228edbdebf4f5244ac37c"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 15:31:41 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 15:31:41 2017 +0100"
      },
      "message": "speed up value parsing: only use pyparsing when needed\n"
    },
    {
      "commit": "1caa6a2d6425084b53c228edbdebf4f5244ac37c",
      "tree": "43bfe84a27d8889690733c456e42a09da42dc6d6",
      "parents": [
        "56bfe88c3d4abb7a025db3f24a316c6e46dca2af"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:52:43 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:52:43 2017 +0100"
      },
      "message": "ops, don\u0027t wrap a ValueList in a Value\n"
    },
    {
      "commit": "56bfe88c3d4abb7a025db3f24a316c6e46dca2af",
      "tree": "4cee3c5088a20b7060af75737b65c6e71da0f270",
      "parents": [
        "19281c853745c9dddd02b62fba007425fa957a85"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:31:13 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:31:13 2017 +0100"
      },
      "message": "use self:key parameters in $[] correctly\n"
    },
    {
      "commit": "19281c853745c9dddd02b62fba007425fa957a85",
      "tree": "573f393121f9f07d3b6cdcbaae0113e55a30bf88",
      "parents": [
        "3b1ab4316dbe525279e265d01f5165f11b36c248"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:30:15 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:30:15 2017 +0100"
      },
      "message": "ensure exports are correctly calculated during an inventory calculation\n"
    },
    {
      "commit": "3b1ab4316dbe525279e265d01f5165f11b36c248",
      "tree": "850e29bbf355852ad00071529c7994bdc80911bc",
      "parents": [
        "372e55aeea4527c0d71397669cf1cd66af4ed251"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 10:46:45 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 10:46:45 2017 +0100"
      },
      "message": "use a syntax closer to list comprehensions for $[]\n"
    },
    {
      "commit": "372e55aeea4527c0d71397669cf1cd66af4ed251",
      "tree": "0fa65dde1a30176db1b428866804382f665006a7",
      "parents": [
        "96e6399d17c4d74290bebc447a0c44a3faacb1d3"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 09:44:53 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 09:44:53 2017 +0100"
      },
      "message": "$[] now returns a dictionary\n"
    },
    {
      "commit": "96e6399d17c4d74290bebc447a0c44a3faacb1d3",
      "tree": "aa930241d63e8562b023d6d1f4c668b8a4210b20",
      "parents": [
        "527ad2eca68a3a5d697889d7b3719625361a4578"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 20:59:17 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 20:59:17 2017 +0100"
      },
      "message": "tidy up $[] parsing\n"
    },
    {
      "commit": "527ad2eca68a3a5d697889d7b3719625361a4578",
      "tree": "c58eba5a735edb210c3d220bfb853c1c98624e33",
      "parents": [
        "d5fd646ae0b663a3661553fe41c78904fa0f8ea2"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 13:47:49 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 13:47:49 2017 +0100"
      },
      "message": "if test for $[] exports\n"
    },
    {
      "commit": "d5fd646ae0b663a3661553fe41c78904fa0f8ea2",
      "tree": "6dcefed0905e292e9217c72a254ac1601882d46a",
      "parents": [
        "f99b1c9bf331897d4ec6bd1fd9517dc91d549f52"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 08:01:16 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 08:01:16 2017 +0100"
      },
      "message": "tidy up export items calculations\n"
    },
    {
      "commit": "f99b1c9bf331897d4ec6bd1fd9517dc91d549f52",
      "tree": "ae304183431f73cd15a558b1f79120bce4f18d75",
      "parents": [
        "10a167ce1972698d215136bda417fd11da5f2651"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 20:56:17 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 20:56:17 2017 +0100"
      },
      "message": "handle no existing exports file\n"
    },
    {
      "commit": "10a167ce1972698d215136bda417fd11da5f2651",
      "tree": "54d171d5e9b4050fdf158e2ce5a58ab1395722b6",
      "parents": [
        "e5d68b3c31a77f10fcbe941773a463fd575d3623"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 19:25:47 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 19:25:47 2017 +0100"
      },
      "message": "basic $[] functionality\n"
    },
    {
      "commit": "e5d68b3c31a77f10fcbe941773a463fd575d3623",
      "tree": "218f4f84fc8daba79aa0e9b2ac339635501e609d",
      "parents": [
        "d3cf61dafa760fd8b7de71f46b67c53371012407"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:31:42 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:31:42 2017 +0100"
      },
      "message": "move value and item classes to new reclass/values directory\n"
    },
    {
      "commit": "d3cf61dafa760fd8b7de71f46b67c53371012407",
      "tree": "03ea0ddd128858b97681e6ee3abdeabb3b1e8e71",
      "parents": [
        "17dc7fb8b8b5121e917b40b5beed8120d826d7e1"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:18:07 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:18:07 2017 +0100"
      },
      "message": "add pyparsing to requirements\n"
    },
    {
      "commit": "17dc7fb8b8b5121e917b40b5beed8120d826d7e1",
      "tree": "bd70b63700ec0a7108b535b2117ae4f18cfb4d4d",
      "parents": [
        "894040241ae98d0d600afdf463562d1055877ee1"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:07:04 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:07:04 2017 +0100"
      },
      "message": "tidy up value items\n"
    },
    {
      "commit": "894040241ae98d0d600afdf463562d1055877ee1",
      "tree": "3e0d1785889451baf7c28f12752f69020572962e",
      "parents": [
        "7aea78d743f9ecb56beaf1489896596b28f008a2"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 11:24:47 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 11:24:47 2017 +0100"
      },
      "message": "framework for $[] export parameters\n"
    },
    {
      "commit": "7aea78d743f9ecb56beaf1489896596b28f008a2",
      "tree": "7156e970bafbc28d48c07638ddeee684aab8914d",
      "parents": [
        "6a884e5ad6fa1bdfc058c1ed361fd7889133e545"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 17 10:33:40 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 17 10:33:40 2017 +0100"
      },
      "message": "optionally add some automatically set parameters\n"
    },
    {
      "commit": "6a884e5ad6fa1bdfc058c1ed361fd7889133e545",
      "tree": "7df0c474ab3802afb71cd24a34d52d3b79058f91",
      "parents": [
        "c1b9e26fc5b7548016cd92fbded3326293af7e5f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 11:33:09 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 11:33:09 2017 +0100"
      },
      "message": "ignore already rendered values when assembling references\n"
    },
    {
      "commit": "c1b9e26fc5b7548016cd92fbded3326293af7e5f",
      "tree": "15dcfd1012e0a1bfe21f0499018cbc20de87ecc4",
      "parents": [
        "01ad9836290aec57121f173fd15069c0701bd86f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 10:30:29 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 10:30:29 2017 +0100"
      },
      "message": "allow key values of None/null to be unconditionally over written\n"
    },
    {
      "commit": "01ad9836290aec57121f173fd15069c0701bd86f",
      "tree": "c267b95af7922886cf7057045615a41d87ff2624",
      "parents": [
        "ca842f0450a748e2967714b0e63208b856517f0c"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 19:10:51 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 19:10:51 2017 +0100"
      },
      "message": "tidy up includes\n"
    },
    {
      "commit": "ca842f0450a748e2967714b0e63208b856517f0c",
      "tree": "fda0a5252b002b164cf3e493cd40c0777b2971c0",
      "parents": [
        "1868a7aca135eee2ee3ea80e3fe88677b50b4ae7"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 14:59:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 14:59:05 2017 +0100"
      },
      "message": "deal with ancestor references before deeper references\n"
    },
    {
      "commit": "1868a7aca135eee2ee3ea80e3fe88677b50b4ae7",
      "tree": "676f6b27b34d645a370531f29e2c43dfc2ef8246",
      "parents": [
        "7932810fbc0ff81cfaad96e068b8ddbe8588b3e3"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 12 10:04:00 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 12 10:04:00 2017 +0100"
      },
      "message": "treat the escape char normally when not next to reference open\n"
    },
    {
      "commit": "7932810fbc0ff81cfaad96e068b8ddbe8588b3e3",
      "tree": "4ef8734f01e91258c921ac9dc0c67827cc50ad2f",
      "parents": [
        "88456f52eb84c252fa66d4134131fe1fde18953f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 11 09:45:07 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 11 09:45:07 2017 +0100"
      },
      "message": "clean up handling of references to lists and dicts\n"
    },
    {
      "commit": "88456f52eb84c252fa66d4134131fe1fde18953f",
      "tree": "5b27bb57518c059b9d511269569d84b39ade7176",
      "parents": [
        "b4e121993b08f6e8114438e3f4e3265f84078741"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:50:32 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:50:32 2017 +0100"
      },
      "message": "tidy up value wrapping and rendering methods\n"
    },
    {
      "commit": "b4e121993b08f6e8114438e3f4e3265f84078741",
      "tree": "31de70266c9e5b3aaa85e272d935a8765b409f17",
      "parents": [
        "6b93af430ba2bd356ddabd3985c810246b0e4d9b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:14:06 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:14:06 2017 +0100"
      },
      "message": "fix merging references to lists\n"
    },
    {
      "commit": "6b93af430ba2bd356ddabd3985c810246b0e4d9b",
      "tree": "fb2943ac9f3d760645c471bc09ecd12b5c344333",
      "parents": [
        "7801fdd900ef06f1863e7eea922351804ae8359d"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 11:38:14 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 11:38:14 2017 +0100"
      },
      "message": "convert all parts of a compound reference key to strings before concatenating\n"
    },
    {
      "commit": "7801fdd900ef06f1863e7eea922351804ae8359d",
      "tree": "14db0b27a7adeefc0afee1d37bf3df614036d183",
      "parents": [
        "6d144453f411e0281911e74a807259305a45dfb5"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 07:45:32 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 07:45:32 2017 +0100"
      },
      "message": "rename Values to ValueList\n"
    },
    {
      "commit": "6d144453f411e0281911e74a807259305a45dfb5",
      "tree": "848f51a3c3d3d8902c755be2eea5b02176b7d254",
      "parents": [
        "c6416e19d1f8f78ee6e65d78086314e975aa1b40"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:21:53 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:21:53 2017 +0100"
      },
      "message": "code tidy up\n"
    },
    {
      "commit": "c6416e19d1f8f78ee6e65d78086314e975aa1b40",
      "tree": "7b42b1888f3a55e907daa4a81872a422d59fbe9e",
      "parents": [
        "aa49bc863ab698c449a7ef0f6edbfff2ffeb06fd"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:20:24 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:20:24 2017 +0100"
      },
      "message": "ensure value object contains only one item\n"
    },
    {
      "commit": "aa49bc863ab698c449a7ef0f6edbfff2ffeb06fd",
      "tree": "ff027c63180d047688f8491f1d63b03663d415c6",
      "parents": [
        "b0a344f14be4d01d6cdafb27a8edf037fdd14b79"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 17:08:32 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 17:08:32 2017 +0100"
      },
      "message": "allow deep merging in referenced dicts\n"
    },
    {
      "commit": "b0a344f14be4d01d6cdafb27a8edf037fdd14b79",
      "tree": "1304954903bfb8a279099affc3abf5915cdc7c22",
      "parents": [
        "64c55170ec1fe0b473bcac728ab730e71341ad0b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 06 12:36:08 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 06 12:36:08 2017 +0100"
      },
      "message": "change parsed tokens directly into tuples removing need for a token stack\n"
    },
    {
      "commit": "64c55170ec1fe0b473bcac728ab730e71341ad0b",
      "tree": "a11f296eaf730b86a84899b5e03a9f422ee9b42c",
      "parents": [
        "05cfd74a0df98a9f37580c05de381d54a4cfe688"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 05 09:38:04 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 05 09:38:04 2017 +0100"
      },
      "message": "rework parser to use parse actions instead of having to reparse xml\n"
    },
    {
      "commit": "05cfd74a0df98a9f37580c05de381d54a4cfe688",
      "tree": "cbc898a334d4b29a8243fe0a8aa7331357b4f7e3",
      "parents": [
        "111d0db0f61946e509b54f88ac6760acfa159fd8"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Feb 28 15:55:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Feb 28 15:55:05 2017 +0100"
      },
      "message": "allow nested parameter substitutions\n"
    },
    {
      "commit": "111d0db0f61946e509b54f88ac6760acfa159fd8",
      "tree": "0e768413877c142c1fbf5f8d6207998908686953",
      "parents": [
        "c08b844b328fa0fe182db49dd423cc203a016ce9"
      ],
      "author": {
        "name": "AndrewPickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Feb 27 14:03:12 2017 +0100"
      },
      "committer": {
        "name": "AndrewPickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Feb 27 14:03:12 2017 +0100"
      },
      "message": "add option to not use references in yaml output\n"
    },
    {
      "commit": "c08b844b328fa0fe182db49dd423cc203a016ce9",
      "tree": "d6794b947f2bd31fa38a1d6432c005ae7fb5c925",
      "parents": [
        "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4",
        "478eb301c3d13b877a533ee0d2a0192cfcceb12d"
      ],
      "author": {
        "name": "Jason Ritzke",
        "email": "Rtzq0@users.noreply.github.com",
        "time": "Mon Jan 30 10:44:25 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 30 10:44:25 2017 -0800"
      },
      "message": "Merge pull request #65 from NeoXiD/bugfix/invalid-classname-error\n\nFixed NameError in InvalidClassnameError"
    },
    {
      "commit": "478eb301c3d13b877a533ee0d2a0192cfcceb12d",
      "tree": "d6794b947f2bd31fa38a1d6432c005ae7fb5c925",
      "parents": [
        "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4"
      ],
      "author": {
        "name": "Pascal Mathis",
        "email": "git@development.smx.li",
        "time": "Mon Jan 30 18:21:58 2017 +0100"
      },
      "committer": {
        "name": "Pascal Mathis",
        "email": "git@development.smx.li",
        "time": "Mon Jan 30 18:21:58 2017 +0100"
      },
      "message": "Fixed InvalidClassnameError\n\nInvalidClassnameError was throwing a NameError, as \u0027self.\u0027 was missing when trying to access the class name.\n"
    },
    {
      "commit": "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4",
      "tree": "d1dfcb787766e2355cbf88e6294e3b356b6a4153",
      "parents": [
        "c78ab35922193c69561dcff94a89ff1a6eda1001",
        "b38853318e5b1a3ceb9c221dd4f253117d8ed73a"
      ],
      "author": {
        "name": "James Lott",
        "email": "james@lottspot.com",
        "time": "Tue Jan 03 10:39:46 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 03 10:39:46 2017 -0500"
      },
      "message": "Merge pull request #61 from Rtzq0/issue_60\n\nAdd functionality for overriding dictionary merges."
    },
    {
      "commit": "b38853318e5b1a3ceb9c221dd4f253117d8ed73a",
      "tree": "bda86354a97f0fb8def29cdb21ece83f93175c49",
      "parents": [
        "99acc6ebd265dca60c327390f09148f530698526"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 17:31:35 2017 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 17:31:35 2017 -0800"
      },
      "message": "made initmerge explicit\n"
    },
    {
      "commit": "99acc6ebd265dca60c327390f09148f530698526",
      "tree": "62ab2b508b66b79d214da0066938169b9cd1adaa",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 02:00:29 2017 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 10:30:36 2017 -0800"
      },
      "message": "Add functionality for overriding dictionary merges.\n\nDictionary merges can now be overridden at any level by usage\nof a special character. The tilde is chosen as base default.\n"
    },
    {
      "commit": "c78ab35922193c69561dcff94a89ff1a6eda1001",
      "tree": "7acd8de8b1631368befad0e7b51742d753ee612c",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116",
        "3525f15ac8d4a5076b3c2d62ddda05eea6f09256"
      ],
      "author": {
        "name": "James Lott",
        "email": "james@lottspot.com",
        "time": "Mon Jan 02 12:24:24 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 02 12:24:24 2017 -0500"
      },
      "message": "Merge pull request #59 from madduck/issue_23\n\nset up reclass for packaging on pypi"
    },
    {
      "commit": "3525f15ac8d4a5076b3c2d62ddda05eea6f09256",
      "tree": "7acd8de8b1631368befad0e7b51742d753ee612c",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Sat Dec 31 17:32:50 2016 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Sat Dec 31 18:27:56 2016 -0800"
      },
      "message": "set up reclass for packaging on pypi\n"
    },
    {
      "commit": "2ac64526d9f098843b449afbfb2891a2398a7116",
      "tree": "44e57cdacdc9a7b8281bd4556d7c093a74118b5c",
      "parents": [
        "25cb8f5b40a63ce8c083abcd2bc74c7f0281f76c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Dec 20 16:37:33 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Dec 20 16:37:33 2014 +0100"
      },
      "message": "Fix UndefinedVariableError, which had, uh, undefined variables\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "25cb8f5b40a63ce8c083abcd2bc74c7f0281f76c",
      "tree": "6f481a0a0001d49d22e1095da592fd0f3e4db080",
      "parents": [
        "6b7d050f6772e88dcc70586f581c8fa6a5c21bb3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:52:25 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:52:25 2014 +0100"
      },
      "message": "Prepare 1.4.1 release\n"
    },
    {
      "commit": "6b7d050f6772e88dcc70586f581c8fa6a5c21bb3",
      "tree": "f9976e534bf26b2529db896c35b2c444fe1ec60c",
      "parents": [
        "96f358cdce038af4ce08100f15c967b604773769"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:51:28 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:51:28 2014 +0100"
      },
      "message": "Add missing entries to changelog\n"
    },
    {
      "commit": "96f358cdce038af4ce08100f15c967b604773769",
      "tree": "85ec5876cd887b681ed9aeb3fd1fb377534101f9",
      "parents": [
        "15cb21db4b46de70773585bf45f69f515c32885b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:56 2014 +0100"
      },
      "message": "Revert \"Setup basic logging for reclass\"\n\nThis reverts commit d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9.\n"
    },
    {
      "commit": "15cb21db4b46de70773585bf45f69f515c32885b",
      "tree": "6e68f99f831a6e7b371780635a64cec736989592",
      "parents": [
        "048e50f7d3712962667318187433082437f7484b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:53 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:53 2014 +0100"
      },
      "message": "Revert \"replace null vvv() prints with logger.debug()\"\n\nThis reverts commit aa44410445855472335ce474aefe68c68b44b27c.\n"
    },
    {
      "commit": "048e50f7d3712962667318187433082437f7484b",
      "tree": "05443e1712e32b025ddcd134e02297bf0acbf833",
      "parents": [
        "426437d8af16aeeb18f2e1454129c9207e9a02f4"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:47:14 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:47:14 2014 +0100"
      },
      "message": "Revert \"Update reclass cli entry points, use the logger from reclass.logger\"\n\nThis reverts commit 67bde40603a51daddffad3e62b5143d97e0c376a, which\nintroduces two problems:\n\n  First, the Salt adapter\u0027s logger import is wrong\n\n  Second, it instantiates the command-line parser with reclass defaults,\n  not with defaults of the adapters, so that the Salt adapter e.g.\n  doesn\u0027t take --top anymore.\n"
    },
    {
      "commit": "426437d8af16aeeb18f2e1454129c9207e9a02f4",
      "tree": "5eff58c67fe3fb4bcf4ba6c2b4b2ff47e4727d51",
      "parents": [
        "73221e03053cd459d868458f40d10242cdf4f977"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 21:23:19 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 21:23:19 2014 +0200"
      },
      "message": "Copyright year update\n"
    },
    {
      "commit": "73221e03053cd459d868458f40d10242cdf4f977",
      "tree": "eb925035c8a5ac1b770e91302508631b93386725",
      "parents": [
        "67bde40603a51daddffad3e62b5143d97e0c376a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 14:57:34 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 15:04:17 2014 +0200"
      },
      "message": "Version update for 1.4\n"
    },
    {
      "commit": "67bde40603a51daddffad3e62b5143d97e0c376a",
      "tree": "4968ba901450bcbea0f3417a4bb97034b113488b",
      "parents": [
        "aa44410445855472335ce474aefe68c68b44b27c"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Fri Oct 03 12:40:55 2014 -0400"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Fri Oct 03 12:40:55 2014 -0400"
      },
      "message": "Update reclass cli entry points, use the logger from reclass.logger\n\nWhile the reclass.logger module initializes a logger with a basic\nconfig, it also enables/disables debug logging with the --debug option\nflag. Thus, we want to use the logger initialized by reclass.logger for\nthe CLI entry points.\n"
    },
    {
      "commit": "aa44410445855472335ce474aefe68c68b44b27c",
      "tree": "eab6d804f22b3cf8058beb77f413c8251a92ebe9",
      "parents": [
        "d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Thu Sep 25 18:17:55 2014 +0000"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Sat Sep 27 15:49:40 2014 +0000"
      },
      "message": "replace null vvv() prints with logger.debug()\n\nuse RECLASS_NAME from reclass.defaults to specify the logger\n"
    },
    {
      "commit": "d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9",
      "tree": "d0bacd31c49c574f6c28e58b21b5ee9875f0e64f",
      "parents": [
        "f73990304be8dad24dbb13b0bbd7f2ea6ef11163"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Thu Sep 25 18:05:25 2014 +0000"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Sat Sep 27 15:48:46 2014 +0000"
      },
      "message": "Setup basic logging for reclass\n\n* Create a new module, reclass.logs with a basic configuration\n  provided to logging.config.dictConfig()\n* Log messages to stderr by default\n* Set default log (verbosity) level to ERROR\n* Provide a new flag, --debug, to enable debug messaging (set log\n  level to DEBUG)\n\nThis does not make use of the logging as much as provide the basic\nstructures to use.\n"
    },
    {
      "commit": "f73990304be8dad24dbb13b0bbd7f2ea6ef11163",
      "tree": "06dc64d11d922c920fc939e5023f6bf7d475420b",
      "parents": [
        "ff1342cbbb6f5c302abcf0f5cdfab0c38f6432b6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:36:25 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:36:25 2014 +0200"
      },
      "message": "record last commit in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff1342cbbb6f5c302abcf0f5cdfab0c38f6432b6",
      "tree": "c21fe16d5ea1b945e027edeeccea26d98c757369",
      "parents": [
        "6e0040dffcc4746ec35649c25badbc074987f8d1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:32:56 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:35:11 2014 +0200"
      },
      "message": "Prevent interpolate() from overwriting values updated during merge\n\nWhen during a merge, a RefValue instance (a scalar) gets overwritten by\na non RefValue scalar, then remove the record of the occurrence of the\noverwritten RefValue. Otherwise, interpolate() will later\nunconditionally overwrite the new value with the interpolated reference.\n\nArguably, interpolet() should check whether the value it\u0027s overwriting\nis a RefValue instance, but that\u0027s left for another day.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6e0040dffcc4746ec35649c25badbc074987f8d1",
      "tree": "74441551e2a8e4b5be41b02243da8a59c88de1d2",
      "parents": [
        "3c46f0931c318f31b0dd41dc32dd2850e1fac285"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 04 12:24:18 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 04 12:24:18 2014 +0200"
      },
      "message": "fix and clarify scalar merging text\n"
    }
  ],
  "next": "3c46f0931c318f31b0dd41dc32dd2850e1fac285"
}
