)]}'
{
  "log": [
    {
      "commit": "bd5b6464c8f4266dfc28f51b89e57b2ed5626a90",
      "tree": "d67b8beee2efbc1777c1e25596a94e4b0ac5bca1",
      "parents": [
        "eb615ce4f59c312f7ff4565ebbc728e6af7d8c4e"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Sep 29 17:11:54 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 29 17:11:54 2023"
      },
      "message": "Update `README.md` in for releasing `v2.0.2`. (#100)\n\n"
    },
    {
      "commit": "eb615ce4f59c312f7ff4565ebbc728e6af7d8c4e",
      "tree": "c6fe5ef5f850c64569f752dfda02490e1e2353d0",
      "parents": [
        "953b8a714a7688ccf269b89678a21441c192fb7e"
      ],
      "author": {
        "name": "Kazzz",
        "email": "kazz.satou@gmail.com",
        "time": "Fri Sep 29 17:03:13 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 29 17:03:13 2023"
      },
      "message": "Next Method in query causes panic (#99)\n\n"
    },
    {
      "commit": "953b8a714a7688ccf269b89678a21441c192fb7e",
      "tree": "f763b8bc3c8a1ac42d830c6f07b1df26c28a91ca",
      "parents": [
        "7b2a9ad5d9b5a128637ebf5df02916c489657321"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Dec 26 03:26:10 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 26 03:26:10 2021"
      },
      "message": "Fix the Go module directive for version 2. (#98)\n\n"
    },
    {
      "commit": "7b2a9ad5d9b5a128637ebf5df02916c489657321",
      "tree": "026765d85d87ad2ac9d206914f2bd4a0d8c6fc91",
      "parents": [
        "21ceed95873bb99ee37a2c1ce6d02d48eb0e2220"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Dec 26 01:45:36 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 26 01:45:36 2021"
      },
      "message": "Add support for the second generation App Engine Go instances. (#97)\n\n"
    },
    {
      "commit": "21ceed95873bb99ee37a2c1ce6d02d48eb0e2220",
      "tree": "1c40fd8ee51aa2890f043cc7859f067827a25c3b",
      "parents": [
        "1c698b67a31e048d4e592d3574e2cc03e23d1b6e"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu Oct 21 05:35:14 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 21 05:35:14 2021"
      },
      "message": "Add functions for clearing specific cache entries. (#96)\n\n"
    },
    {
      "commit": "1c698b67a31e048d4e592d3574e2cc03e23d1b6e",
      "tree": "b9d499686dbbbfd2ca97eb5b67207f84f215fa16",
      "parents": [
        "f11c501d43982ad5e4a663e0f6e2c2e14a3f88f5"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu Oct 21 03:53:01 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 21 03:53:01 2021"
      },
      "message": "Prevent cache poisoning by projection queries. (#95)\n\n"
    },
    {
      "commit": "f11c501d43982ad5e4a663e0f6e2c2e14a3f88f5",
      "tree": "4dedf762a8d80ad86127b1737ef305a838a727f7",
      "parents": [
        "74408540f46dfbd1af1cb7270bcd5bb330c91106",
        "1fc3b9c59db81695c8644da3ba12a17ec177a71c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 24 15:57:37 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 24 15:57:37 2019"
      },
      "message": "Merge pull request #92 from xStrom/modules\n\nAdd Go modules support"
    },
    {
      "commit": "1fc3b9c59db81695c8644da3ba12a17ec177a71c",
      "tree": "4dedf762a8d80ad86127b1737ef305a838a727f7",
      "parents": [
        "beafac8166d1bdeff77351e856e59a5b4e7929ca"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 24 15:19:40 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 24 15:19:40 2019"
      },
      "message": "Fix test to work with 2nd gen GAE.\n"
    },
    {
      "commit": "beafac8166d1bdeff77351e856e59a5b4e7929ca",
      "tree": "a55eff8a0ee1c3a377301660decfe1e14817941c",
      "parents": [
        "74408540f46dfbd1af1cb7270bcd5bb330c91106"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 24 14:56:16 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 24 14:56:16 2019"
      },
      "message": "Add Go modules support.\n"
    },
    {
      "commit": "74408540f46dfbd1af1cb7270bcd5bb330c91106",
      "tree": "96a332e729d4ca2d67ac08b77b3555f9ee7fffe5",
      "parents": [
        "9f9f00bf82f8bbefe2ae82b2e438438c6582aade",
        "25d19b37f7dd1e4fbd95f87d02e972318b6a22ae"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 20:39:52 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 20 20:39:52 2019"
      },
      "message": "Merge pull request #91 from xStrom/split-deletes\n\nPerform default API fallback in race test"
    },
    {
      "commit": "25d19b37f7dd1e4fbd95f87d02e972318b6a22ae",
      "tree": "96a332e729d4ca2d67ac08b77b3555f9ee7fffe5",
      "parents": [
        "9f9f00bf82f8bbefe2ae82b2e438438c6582aade"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 20:38:20 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 20:38:20 2019"
      },
      "message": "Perform default API fallback in race test.\n"
    },
    {
      "commit": "9f9f00bf82f8bbefe2ae82b2e438438c6582aade",
      "tree": "69fae71dfb097ab38d74b26e40e0d4d2097902b4",
      "parents": [
        "da796e15fae6c51a1395d3000ff98d8af8fdaf8d",
        "092f5b53b277567e31d96502cb161dd15a283528"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 19:27:09 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 20 19:27:09 2019"
      },
      "message": "Merge pull request #90 from xStrom/new-delete\n\nAdd struct support to Delete/DeleteMulti"
    },
    {
      "commit": "092f5b53b277567e31d96502cb161dd15a283528",
      "tree": "69fae71dfb097ab38d74b26e40e0d4d2097902b4",
      "parents": [
        "da796e15fae6c51a1395d3000ff98d8af8fdaf8d"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 19:14:09 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 19:14:09 2019"
      },
      "message": "Add struct support to Delete/DeleteMulti.\n"
    },
    {
      "commit": "da796e15fae6c51a1395d3000ff98d8af8fdaf8d",
      "tree": "0e527125a58bed9af767c3fd3f6155f82b0fb6f6",
      "parents": [
        "4d0d8211fd150c4c9c422b2f5e16c1d9889e81f6",
        "6e9bebe0b3066c6156f60613b6915e2e0a4e1efc"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 18:37:24 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 20 18:37:24 2019"
      },
      "message": "Merge pull request #89 from xStrom/log-deletemulti\n\nAdd memcache.DeleteMulti error logging"
    },
    {
      "commit": "6e9bebe0b3066c6156f60613b6915e2e0a4e1efc",
      "tree": "0e527125a58bed9af767c3fd3f6155f82b0fb6f6",
      "parents": [
        "4d0d8211fd150c4c9c422b2f5e16c1d9889e81f6"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 18:25:31 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 18:25:31 2019"
      },
      "message": "Add memcache.DeleteMulti error logging.\n"
    },
    {
      "commit": "4d0d8211fd150c4c9c422b2f5e16c1d9889e81f6",
      "tree": "224a4ea4496f893d0c893d364881e6c6cfa88f00",
      "parents": [
        "40729eb5d75759e134e74a17f842f36285715c6d",
        "c955cb3816b99bf5aa1ef8cf3da005b41911d48a"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 18:05:50 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 20 18:05:50 2019"
      },
      "message": "Merge pull request #88 from xStrom/memcache-timeouts\n\nUpdate the memcache timeout system"
    },
    {
      "commit": "c955cb3816b99bf5aa1ef8cf3da005b41911d48a",
      "tree": "224a4ea4496f893d0c893d364881e6c6cfa88f00",
      "parents": [
        "40729eb5d75759e134e74a17f842f36285715c6d"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 17:50:25 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 17:50:25 2019"
      },
      "message": "Update the memcache timeout system.\n"
    },
    {
      "commit": "40729eb5d75759e134e74a17f842f36285715c6d",
      "tree": "dcf1d4eab363dd77f3b8a5206fd8fa03bbb828d5",
      "parents": [
        "8563438d964f14f36165796cff4edcd77f921333",
        "53217366a9cd6613bd3ae22d18091d378e4fe88c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 16:33:40 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 20 16:33:40 2019"
      },
      "message": "Merge pull request #87 from xStrom/memcache-limits\n\nHandle memcache upper limits"
    },
    {
      "commit": "53217366a9cd6613bd3ae22d18091d378e4fe88c",
      "tree": "dcf1d4eab363dd77f3b8a5206fd8fa03bbb828d5",
      "parents": [
        "9ba59256c1c7a9bcdebfc0f61e47c5ce3b188f21"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 15:58:48 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 20 15:58:57 2019"
      },
      "message": "Properly handle overflowing memcache RPC payloads.\n"
    },
    {
      "commit": "9ba59256c1c7a9bcdebfc0f61e47c5ce3b188f21",
      "tree": "7d49661e2444e8273f51c503274b6d993604c091",
      "parents": [
        "394d3732363d9ce329977865011e4f15227bdd37"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat May 18 15:11:02 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat May 18 15:11:02 2019"
      },
      "message": "Now respecting the memcache key length limit.\n"
    },
    {
      "commit": "394d3732363d9ce329977865011e4f15227bdd37",
      "tree": "5edb376054b1ecb778217ac3ce35c0ae3c2e17cd",
      "parents": [
        "8563438d964f14f36165796cff4edcd77f921333"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat May 18 13:38:14 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat May 18 13:38:14 2019"
      },
      "message": "Add info about memcache limits.\n"
    },
    {
      "commit": "8563438d964f14f36165796cff4edcd77f921333",
      "tree": "6d0ef0d9d5646571e4fd90c710034d87c5e18df8",
      "parents": [
        "339e0044a72ff2a4a0620cca12959496c9c8be12",
        "fd5fc2494f07613050d959879f884139652e2a9e"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 03 18:31:23 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 03 18:31:23 2019"
      },
      "message": "Merge pull request #85 from xStrom/new-localcache\n\nBrand new local cache implementation"
    },
    {
      "commit": "fd5fc2494f07613050d959879f884139652e2a9e",
      "tree": "6d0ef0d9d5646571e4fd90c710034d87c5e18df8",
      "parents": [
        "b919c884391c7c907b065525eb46ede31d9c6c4a"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 03 17:19:54 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri May 03 17:19:54 2019"
      },
      "message": "Replaced the local cache with a new more robust one.\n"
    },
    {
      "commit": "b919c884391c7c907b065525eb46ede31d9c6c4a",
      "tree": "7e49168217213c0e070996e83e8d86e5bd8bf17a",
      "parents": [
        "339e0044a72ff2a4a0620cca12959496c9c8be12"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Apr 30 19:27:06 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Apr 30 19:27:06 2019"
      },
      "message": "Added a more robust local cache implementation.\n"
    },
    {
      "commit": "339e0044a72ff2a4a0620cca12959496c9c8be12",
      "tree": "ca87242b1246096f9a02c38246f3a36e39caa7d6",
      "parents": [
        "71c3690fab0b897caa7152abf8328289be5dc44e",
        "d8f88e53d1085b8c8a0ce421e467a5765bb9202c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 29 18:00:22 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 29 18:00:22 2019"
      },
      "message": "Merge pull request #84 from xStrom/authors\n\nAdd the AUTHORS file."
    },
    {
      "commit": "d8f88e53d1085b8c8a0ce421e467a5765bb9202c",
      "tree": "ca87242b1246096f9a02c38246f3a36e39caa7d6",
      "parents": [
        "71c3690fab0b897caa7152abf8328289be5dc44e"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 29 17:55:20 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 29 17:55:24 2019"
      },
      "message": "Added the AUTHORS file.\n"
    },
    {
      "commit": "71c3690fab0b897caa7152abf8328289be5dc44e",
      "tree": "1efa2f32291e93944dbe468148c386f761c1c0c2",
      "parents": [
        "5dc22f1190d759a0d3ebc7ee3976d7aaaed09b78",
        "ae012ea39e4df7743db6015a98c9e6b0b30bb39c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 29 17:37:25 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 29 17:37:25 2019"
      },
      "message": "Merge pull request #83 from xStrom/localcache-docs\n\nDescribe how the local cache works."
    },
    {
      "commit": "ae012ea39e4df7743db6015a98c9e6b0b30bb39c",
      "tree": "1efa2f32291e93944dbe468148c386f761c1c0c2",
      "parents": [
        "5dc22f1190d759a0d3ebc7ee3976d7aaaed09b78"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 29 17:22:11 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 29 17:22:31 2019"
      },
      "message": "Describe how the local cache works.\n"
    },
    {
      "commit": "5dc22f1190d759a0d3ebc7ee3976d7aaaed09b78",
      "tree": "854081d822e852f9a9ae61f7e6d70528fe97fe79",
      "parents": [
        "2f951463b6198e6031336e71186795e8993af985",
        "fa6f1805a095714361e5829325d3baedfc141bcc"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 19:42:45 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 28 19:42:45 2019"
      },
      "message": "Merge pull request #82 from xStrom/optimize-realError\n\nMinor optimization for the realError function."
    },
    {
      "commit": "fa6f1805a095714361e5829325d3baedfc141bcc",
      "tree": "854081d822e852f9a9ae61f7e6d70528fe97fe79",
      "parents": [
        "2f951463b6198e6031336e71186795e8993af985"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 19:33:51 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 19:33:51 2019"
      },
      "message": "Optimized the realError function.\n"
    },
    {
      "commit": "2f951463b6198e6031336e71186795e8993af985",
      "tree": "222b2799a005c6c728ca08011bc84fd08b2fbfe5",
      "parents": [
        "5aaf779574c281b9052cc78fbb6f9de1aed4b996",
        "b4c9eebbb894c4d70cc4d498d2855eaa123ae265"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 17:40:12 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 28 17:40:12 2019"
      },
      "message": "Merge pull request #81 from xStrom/memcache-timeout\n\nRestore the memcache timeout test."
    },
    {
      "commit": "b4c9eebbb894c4d70cc4d498d2855eaa123ae265",
      "tree": "222b2799a005c6c728ca08011bc84fd08b2fbfe5",
      "parents": [
        "5aaf779574c281b9052cc78fbb6f9de1aed4b996"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 17:10:21 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 17:11:08 2019"
      },
      "message": "Restored the memcache timeout test.\n"
    },
    {
      "commit": "5aaf779574c281b9052cc78fbb6f9de1aed4b996",
      "tree": "7a52a7f7d31f7a157e0171c725b88d5f0234dc3b",
      "parents": [
        "69051c21fbf5ac745c8f0a67901f01c349b7a6ef",
        "fa26cb0abe066b6046f6b859761975de57e230d1"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 16:47:32 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 28 16:47:32 2019"
      },
      "message": "Merge pull request #80 from xStrom/context\n\nMigrate to the standard library context."
    },
    {
      "commit": "fa26cb0abe066b6046f6b859761975de57e230d1",
      "tree": "7a52a7f7d31f7a157e0171c725b88d5f0234dc3b",
      "parents": [
        "69051c21fbf5ac745c8f0a67901f01c349b7a6ef"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 16:08:13 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 16:46:31 2019"
      },
      "message": "Migrate to the standard library context.\n"
    },
    {
      "commit": "69051c21fbf5ac745c8f0a67901f01c349b7a6ef",
      "tree": "1ed37eb901829fc77ac4081f0f7ce82bd6042401",
      "parents": [
        "c01f383d1abe6f19d8ecc31a2b3d338dd7c574fe",
        "0ae11870f06006493561e02bc7f0ebbac05797a4"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 16:41:21 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 28 16:41:21 2019"
      },
      "message": "Merge pull request #79 from xStrom/PLS-guarantee\n\nImplement PropertyLoadSaver Load/Save calling guarantees."
    },
    {
      "commit": "0ae11870f06006493561e02bc7f0ebbac05797a4",
      "tree": "1ed37eb901829fc77ac4081f0f7ce82bd6042401",
      "parents": [
        "c01f383d1abe6f19d8ecc31a2b3d338dd7c574fe"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 14:54:32 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 14:54:32 2019"
      },
      "message": "Implemented PropertyLoadSaver Load/Save calling guarantees.\n"
    },
    {
      "commit": "c01f383d1abe6f19d8ecc31a2b3d338dd7c574fe",
      "tree": "1649a4d0ed64002a0155a5623051668ffec888a7",
      "parents": [
        "65ca70390f90b9c527e2c3232f0695435cc0888c",
        "2fb6b1eed8a463768a19b3dacab544cba9950e6f"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 28 14:24:09 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 28 14:24:09 2019"
      },
      "message": "Merge pull request #78 from xStrom/unified-serializer\n\nReplace the entity serializer with a faster universal one"
    },
    {
      "commit": "2fb6b1eed8a463768a19b3dacab544cba9950e6f",
      "tree": "1649a4d0ed64002a0155a5623051668ffec888a7",
      "parents": [
        "b504cec2587a4ea24a382181beaff6b61caf894b"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 22 12:15:36 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 22 12:15:36 2019"
      },
      "message": "Ensuring the serialization result is stable.\n"
    },
    {
      "commit": "b504cec2587a4ea24a382181beaff6b61caf894b",
      "tree": "2d0785050eac6739ff105457645fcfa5c36e0a29",
      "parents": [
        "407b4dad340bafe7e314986cd01996690c101094"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 22 10:40:28 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 22 10:40:28 2019"
      },
      "message": "Removed t.Fatalf usage from goroutines, because it doesn\u0027t work.\n"
    },
    {
      "commit": "407b4dad340bafe7e314986cd01996690c101094",
      "tree": "1ef539bf7984b829ea2ee4e763adc7623316e500",
      "parents": [
        "da95f8334bf633b1c5e0529aedf95d588c19fa04"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 22 10:28:00 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Apr 22 10:28:51 2019"
      },
      "message": "Replaced the entity serializer with a faster universal one.\n"
    },
    {
      "commit": "da95f8334bf633b1c5e0529aedf95d588c19fa04",
      "tree": "28f93c2e2d2d2cabd3a6435fdeff88647ae015b1",
      "parents": [
        "65ca70390f90b9c527e2c3232f0695435cc0888c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Apr 19 10:36:11 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Apr 21 10:11:16 2019"
      },
      "message": "Changed most test fails to use Fatalf instead of Errorf.\n"
    },
    {
      "commit": "65ca70390f90b9c527e2c3232f0695435cc0888c",
      "tree": "b02aea022dfb139fcec1107dc6ad542a2538547a",
      "parents": [
        "0c01b4bc4f4970fa6f91409bf7f134a10809219c",
        "e33ed2a1c48b081e000bea212b38470bb0baba77"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Apr 20 18:21:11 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 20 18:21:11 2019"
      },
      "message": "Merge pull request #77 from xStrom/custom-types\n\nAdd support for all datastore supported data types."
    },
    {
      "commit": "e33ed2a1c48b081e000bea212b38470bb0baba77",
      "tree": "b02aea022dfb139fcec1107dc6ad542a2538547a",
      "parents": [
        "0c01b4bc4f4970fa6f91409bf7f134a10809219c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu Apr 18 17:17:38 2019"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu Apr 18 18:07:01 2019"
      },
      "message": "Added support for all datastore supported data types.\n"
    },
    {
      "commit": "0c01b4bc4f4970fa6f91409bf7f134a10809219c",
      "tree": "576cbd50f83967392b5fb3012f53e09b097c2bbc",
      "parents": [
        "0cd9745d6b9c43c1de754769708fb2ac349d84b2"
      ],
      "author": {
        "name": "Yuichi MURATA",
        "email": "yuichi1004@gmail.com",
        "time": "Mon May 07 20:30:04 2018"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon May 07 20:30:04 2018"
      },
      "message": "Support PropertyLoadSaver Interface (#69)\n\n\r\n"
    },
    {
      "commit": "0cd9745d6b9c43c1de754769708fb2ac349d84b2",
      "tree": "cbbf536ec3cfb1c54ef725479054a473d00b00cc",
      "parents": [
        "653966f4e8565edb5036c1cdf23a7cbb5ab48ce2",
        "b18da8615992fb2592695034b215a1f4b00ac89c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Oct 17 19:48:35 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 17 19:48:35 2017"
      },
      "message": "Merge pull request #73 from xStrom/middle-field-deprecation\n\nProperly discard unused struct fields"
    },
    {
      "commit": "b18da8615992fb2592695034b215a1f4b00ac89c",
      "tree": "cbbf536ec3cfb1c54ef725479054a473d00b00cc",
      "parents": [
        "653966f4e8565edb5036c1cdf23a7cbb5ab48ce2"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Oct 16 16:26:24 2017"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Oct 16 16:26:24 2017"
      },
      "message": "Properly discard unused struct fields.\n"
    },
    {
      "commit": "653966f4e8565edb5036c1cdf23a7cbb5ab48ce2",
      "tree": "dd924b589977e2c4398eb43bd772d6075f1e7faa",
      "parents": [
        "4704d2914e39207b9ea1f29065975a803e96b8ae",
        "a152700c9dfb114918e9a524376c1cc46bc6cfb1"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Wed Jul 12 12:13:20 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 12 12:13:20 2017"
      },
      "message": "Merge pull request #71 from xStrom/txn-errfieldmismatch\n\nSupport IgnoreFieldMismatch with Get/GetMulti inside a transaction."
    },
    {
      "commit": "a152700c9dfb114918e9a524376c1cc46bc6cfb1",
      "tree": "dd924b589977e2c4398eb43bd772d6075f1e7faa",
      "parents": [
        "4704d2914e39207b9ea1f29065975a803e96b8ae"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Jul 09 12:50:48 2017"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Jul 09 12:50:48 2017"
      },
      "message": "Now correctly respecting IgnoreFieldMismatch when using Get/GetMulti inside a transaction.\n"
    },
    {
      "commit": "4704d2914e39207b9ea1f29065975a803e96b8ae",
      "tree": "6a524707212340efb0eabed485384fe65eea68d0",
      "parents": [
        "ce6c18b635bb36342c10a151f79983efd70f96d6",
        "a3e1c6182761ea1bc1bf23224ddc501743c2c633"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu May 04 18:24:56 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 04 18:24:56 2017"
      },
      "message": "Merge pull request #68 from xStrom/field-deprecation\n\nAdd IgnoreFieldMismatch option to ignore ErrFieldMismatch"
    },
    {
      "commit": "a3e1c6182761ea1bc1bf23224ddc501743c2c633",
      "tree": "6a524707212340efb0eabed485384fe65eea68d0",
      "parents": [
        "ce6c18b635bb36342c10a151f79983efd70f96d6"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Wed May 03 17:49:40 2017"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Wed May 03 17:49:40 2017"
      },
      "message": "Added IgnoreFieldMismatch option to ignore ErrFieldMismatch.\n"
    },
    {
      "commit": "ce6c18b635bb36342c10a151f79983efd70f96d6",
      "tree": "d0af50803455d7592ca5785d3e046d33a2c7d416",
      "parents": [
        "56b423599ae026d4c74b3f1daf6a2ebefaa1b2a6"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Mar 05 11:30:20 2017"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Mar 05 11:30:20 2017"
      },
      "message": "Improved anonymous embedded struct test.\n"
    },
    {
      "commit": "56b423599ae026d4c74b3f1daf6a2ebefaa1b2a6",
      "tree": "af53856762a880e519bbe0a9619bbbeffaa6059b",
      "parents": [
        "a9ac1d26f6dbfd9538f4e1e02a04061ef41c1c17",
        "b6b3b38996d9d07fbd91edb6aa439c7676cc0312"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sun Feb 19 11:28:43 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 19 11:28:43 2017"
      },
      "message": "Merge pull request #65 from xStrom/txn-journal-lock\n\nFix race condition with transaction\u0027s cache update journaling"
    },
    {
      "commit": "b6b3b38996d9d07fbd91edb6aa439c7676cc0312",
      "tree": "af53856762a880e519bbe0a9619bbbeffaa6059b",
      "parents": [
        "a9ac1d26f6dbfd9538f4e1e02a04061ef41c1c17"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Feb 18 19:43:29 2017"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Feb 18 19:43:29 2017"
      },
      "message": "Fixed race condition with transaction\u0027s cache update journaling.\n"
    },
    {
      "commit": "a9ac1d26f6dbfd9538f4e1e02a04061ef41c1c17",
      "tree": "96b5518200f789b5da8f758934eae9cc769642a6",
      "parents": [
        "0ed1ebf48a18375ca62c5a033a6f5bc4c59997f4"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Tue Jan 17 07:21:16 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 17 07:21:16 2017"
      },
      "message": "Create LICENSE\n\nCloses #64"
    },
    {
      "commit": "0ed1ebf48a18375ca62c5a033a6f5bc4c59997f4",
      "tree": "dd251b27cccc5e00f2e458abdb8f5547e57f75fc",
      "parents": [
        "3fa00ac6824f335dc5730c179aec38724a22616a",
        "876e089ae53eaef3d6b731cf1b73a57e429a565e"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Nov 15 15:09:14 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 15 15:09:14 2016"
      },
      "message": "Merge pull request #63 from xStrom/PutMultiReturnKeys\n\nTests for #61."
    },
    {
      "commit": "876e089ae53eaef3d6b731cf1b73a57e429a565e",
      "tree": "d25ca15f6cf26f3e6011b883f13c207caa2e3d86",
      "parents": [
        "cd609af4b72b42722419414a522f235038d5ec0b"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Nov 15 15:07:27 2016"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Nov 15 15:07:27 2016"
      },
      "message": "Tests for #61, to make sure PutMulti returns correct auto-generated keys.\n"
    },
    {
      "commit": "3fa00ac6824f335dc5730c179aec38724a22616a",
      "tree": "6ae41a0c9bab2b2087a43c49e19e17aafa594e13",
      "parents": [
        "cd609af4b72b42722419414a522f235038d5ec0b",
        "7b97fb0b15a6176e6635e5c502bdedb0fd250a73"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Nov 15 15:06:24 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 15 15:06:24 2016"
      },
      "message": "Merge pull request #61 from bashtian/patch-1\n\nFix keys in PutMulti"
    },
    {
      "commit": "7b97fb0b15a6176e6635e5c502bdedb0fd250a73",
      "tree": "6ae41a0c9bab2b2087a43c49e19e17aafa594e13",
      "parents": [
        "cd609af4b72b42722419414a522f235038d5ec0b"
      ],
      "author": {
        "name": "bashtian",
        "email": "bashtian86@gmail.com",
        "time": "Tue Nov 15 10:28:11 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 15 10:28:11 2016"
      },
      "message": "Fix keys in PutMulti"
    },
    {
      "commit": "cd609af4b72b42722419414a522f235038d5ec0b",
      "tree": "588ee4ecf91705420b87d3503f177c5d100e1723",
      "parents": [
        "40012cc63c0968f97a523786a240b2f05302f4ba",
        "b8dbc7bd48aea7402919dff51b01590b17e764b1"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Oct 17 16:09:24 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 17 16:09:24 2016"
      },
      "message": "Merge pull request #60 from utahta/fix_warning_data_race\n\nFix a race found in PutMulti, GetMulti and DeleteMulti."
    },
    {
      "commit": "b8dbc7bd48aea7402919dff51b01590b17e764b1",
      "tree": "588ee4ecf91705420b87d3503f177c5d100e1723",
      "parents": [
        "b61a6c147b492ebbb409c8458aad38da10f63f99"
      ],
      "author": {
        "name": "utahta",
        "email": "labs.ninxit@gmail.com",
        "time": "Sun Oct 16 16:38:24 2016"
      },
      "committer": {
        "name": "utahta",
        "email": "labs.ninxit@gmail.com",
        "time": "Sun Oct 16 16:38:24 2016"
      },
      "message": "Fix data race in PutMulti, GetMulti and DeleteMulti\n"
    },
    {
      "commit": "b61a6c147b492ebbb409c8458aad38da10f63f99",
      "tree": "2fb3e9fcc7780f2586ea28b5da9d744c3eb1c197",
      "parents": [
        "40012cc63c0968f97a523786a240b2f05302f4ba"
      ],
      "author": {
        "name": "utahta",
        "email": "labs.ninxit@gmail.com",
        "time": "Sun Oct 16 16:38:08 2016"
      },
      "committer": {
        "name": "utahta",
        "email": "labs.ninxit@gmail.com",
        "time": "Sun Oct 16 16:38:08 2016"
      },
      "message": "Add test case for data race detection\n"
    },
    {
      "commit": "40012cc63c0968f97a523786a240b2f05302f4ba",
      "tree": "49cf388d2b489ea89f0a9fa576aae4928ca8c550",
      "parents": [
        "3618e6f56803ad77c732374326bb1e78f99097d4",
        "e031c7d032519931f0744a5d960fa88ede58917f"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Oct 07 13:40:21 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 07 13:40:21 2016"
      },
      "message": "Merge pull request #59 from vvakame/feat-memcachekey\n\nAllow swap memcache key algorithm"
    },
    {
      "commit": "e031c7d032519931f0744a5d960fa88ede58917f",
      "tree": "49cf388d2b489ea89f0a9fa576aae4928ca8c550",
      "parents": [
        "3618e6f56803ad77c732374326bb1e78f99097d4"
      ],
      "author": {
        "name": "vvakame",
        "email": "vvakame+dev@gmail.com",
        "time": "Fri Oct 07 05:14:13 2016"
      },
      "committer": {
        "name": "vvakame",
        "email": "vvakame+dev@gmail.com",
        "time": "Fri Oct 07 05:14:13 2016"
      },
      "message": "Allow swap memcache key algorithm\n"
    },
    {
      "commit": "3618e6f56803ad77c732374326bb1e78f99097d4",
      "tree": "fe0a8b969955003f2b88c8c76d5e6da6bcc47f22",
      "parents": [
        "84d0f375ed7722e29cf1b4d754dd56c598f8ab04",
        "99147cd8229eb4e0a4d65414a45888731a03ba01"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Mon Sep 12 06:10:42 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 12 06:10:42 2016"
      },
      "message": "Merge pull request #57 from hixi-hyi/feature/delete_negative_cache\n\nclear the negative cache, even if key is IncompletedKey"
    },
    {
      "commit": "99147cd8229eb4e0a4d65414a45888731a03ba01",
      "tree": "15d929ed12f35d733c5966db0f8b59aaf59f3221",
      "parents": [
        "1a3df541587f4bb75b9f5ac52cd95a568fc5802d"
      ],
      "author": {
        "name": "Hiroyoshi Houchi",
        "email": "git@hixi-hyi.com",
        "time": "Mon Sep 12 05:22:15 2016"
      },
      "committer": {
        "name": "Hiroyoshi Houchi",
        "email": "git@hixi-hyi.com",
        "time": "Mon Sep 12 05:22:15 2016"
      },
      "message": "review https://github.com/mjibson/goon/pull/57#discussion_r78222061\n"
    },
    {
      "commit": "84d0f375ed7722e29cf1b4d754dd56c598f8ab04",
      "tree": "660912d8f129d4a83424fec03459412920806ba6",
      "parents": [
        "f99149e651e1f35d52dfbf8ac32aa87385d828fc",
        "0020fdc1d967329b8aba7fd2728148390448f939"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Sep 10 18:42:20 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 10 18:42:20 2016"
      },
      "message": "Merge pull request #58 from xStrom/utc\n\nForce UTC for tests because the datastore API now always returns UTC"
    },
    {
      "commit": "0020fdc1d967329b8aba7fd2728148390448f939",
      "tree": "660912d8f129d4a83424fec03459412920806ba6",
      "parents": [
        "f99149e651e1f35d52dfbf8ac32aa87385d828fc"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Sep 09 17:15:24 2016"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Sep 09 17:15:24 2016"
      },
      "message": "Force UTC for tests because the datastore API now always returns UTC.\n"
    },
    {
      "commit": "1a3df541587f4bb75b9f5ac52cd95a568fc5802d",
      "tree": "ffaba95850168edbb4ead51d54f39f98f74c746b",
      "parents": [
        "9dea4270844d608a055ec894a51ecc5bf5bb5ba0"
      ],
      "author": {
        "name": "Hiroyoshi Houchi",
        "email": "git@hixi-hyi.com",
        "time": "Thu Sep 08 10:43:11 2016"
      },
      "committer": {
        "name": "Hiroyoshi Houchi",
        "email": "git@hixi-hyi.com",
        "time": "Thu Sep 08 10:43:11 2016"
      },
      "message": "add test code (feature/delete_negative_cache)\n"
    },
    {
      "commit": "9dea4270844d608a055ec894a51ecc5bf5bb5ba0",
      "tree": "415d2029070cf9bbd8f3bf206bbba6c9c6c63982",
      "parents": [
        "f99149e651e1f35d52dfbf8ac32aa87385d828fc"
      ],
      "author": {
        "name": "Hiroyoshi Houchi",
        "email": "git@hixi-hyi.com",
        "time": "Thu Sep 08 07:25:04 2016"
      },
      "committer": {
        "name": "Hiroyoshi Houchi",
        "email": "git@hixi-hyi.com",
        "time": "Thu Sep 08 07:48:11 2016"
      },
      "message": "delete negative cache\n"
    },
    {
      "commit": "f99149e651e1f35d52dfbf8ac32aa87385d828fc",
      "tree": "97a8b7e9de7a5ca896da5ce0e55282c5972be2ef",
      "parents": [
        "c4039416298fca3354d8609fae21f4c496857bdb",
        "bfc243ab9a630df1996c45fda5ab54511a4c5413"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Sat Dec 19 03:11:12 2015"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Sat Dec 19 03:11:12 2015"
      },
      "message": "Merge pull request #54 from xStrom/go16\n\nCorrectly handle embedded unexported structs in Go 1.6."
    },
    {
      "commit": "bfc243ab9a630df1996c45fda5ab54511a4c5413",
      "tree": "97a8b7e9de7a5ca896da5ce0e55282c5972be2ef",
      "parents": [
        "c4039416298fca3354d8609fae21f4c496857bdb"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Dec 18 19:16:45 2015"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Dec 18 19:16:45 2015"
      },
      "message": "Correctly handle embedded unexported structs in Go 1.6.\n"
    },
    {
      "commit": "c4039416298fca3354d8609fae21f4c496857bdb",
      "tree": "43966f05722034961bda0f5683c8f6e72812cdbb",
      "parents": [
        "b3d2e1ef84070229eeee1e8511b50e09f97e0749",
        "92ecc0cd3b9922e1727680b0a7097f99b191bca5"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Fri Oct 02 05:13:28 2015"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Fri Oct 02 05:13:28 2015"
      },
      "message": "Merge pull request #51 from mjibson/classic\n\nSupport new style appengine and context packages"
    },
    {
      "commit": "92ecc0cd3b9922e1727680b0a7097f99b191bca5",
      "tree": "43966f05722034961bda0f5683c8f6e72812cdbb",
      "parents": [
        "b3d2e1ef84070229eeee1e8511b50e09f97e0749"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Mon Sep 07 04:55:35 2015"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Mon Sep 07 04:55:35 2015"
      },
      "message": "Support new style appengine and context packages\n\nfixes #49\n"
    },
    {
      "commit": "b3d2e1ef84070229eeee1e8511b50e09f97e0749",
      "tree": "40a23ef16568c3321b29a00ce4712ccdca40ee07",
      "parents": [
        "4aa92ab1b81cf479627de5e93f1c43e9d31c81ae",
        "3edbb4f9e10f00f0e320839568489bdb1186ea33"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu Mar 26 05:27:24 2015"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu Mar 26 05:27:24 2015"
      },
      "message": "Merge pull request #50 from riannucci/master\n\nImprove parent field support to allow types derived from *Key"
    },
    {
      "commit": "3edbb4f9e10f00f0e320839568489bdb1186ea33",
      "tree": "40a23ef16568c3321b29a00ce4712ccdca40ee07",
      "parents": [
        "4aa92ab1b81cf479627de5e93f1c43e9d31c81ae"
      ],
      "author": {
        "name": "Robert Iannucci",
        "email": "robbie@rail.com",
        "time": "Sat Mar 21 05:38:21 2015"
      },
      "committer": {
        "name": "Robert Iannucci",
        "email": "robbie@rail.com",
        "time": "Sat Mar 21 17:43:33 2015"
      },
      "message": "Improve parent field support to allow types derived from *Key\n\nAllows a bit more flexibility for the parent field.\n"
    },
    {
      "commit": "4aa92ab1b81cf479627de5e93f1c43e9d31c81ae",
      "tree": "cdd1b88f7ce0fe165ccc0cd38be88cb413c32c8c",
      "parents": [
        "38831d5dbb23a8387711014f1b7d35be28ffb304",
        "9aa026ce413d6d89115ae257cfcbc2ac560f3b2d"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Sat Jan 31 16:33:24 2015"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Sat Jan 31 16:33:24 2015"
      },
      "message": "Merge pull request #48 from riannucci/patch-2\n\nMake RunInTransaction propagate KindNameResolver"
    },
    {
      "commit": "9aa026ce413d6d89115ae257cfcbc2ac560f3b2d",
      "tree": "cdd1b88f7ce0fe165ccc0cd38be88cb413c32c8c",
      "parents": [
        "38831d5dbb23a8387711014f1b7d35be28ffb304"
      ],
      "author": {
        "name": "Robert Iannucci",
        "email": "robbie@rail.com",
        "time": "Sat Jan 31 08:15:04 2015"
      },
      "committer": {
        "name": "Robert Iannucci",
        "email": "robbie@rail.com",
        "time": "Sat Jan 31 08:15:04 2015"
      },
      "message": "Make RunInTransaction propagate KindNameResolver\n\nPreviously it would always default to `DefaultKindName`, even if the current Goon had overridden it."
    },
    {
      "commit": "38831d5dbb23a8387711014f1b7d35be28ffb304",
      "tree": "59d86d8ef2b896ec52492415370ce6eb120a3f4c",
      "parents": [
        "a24121c79887c34c9c3aec4fe783a54c1e461edc"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Tue Dec 23 08:07:58 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Tue Dec 23 08:07:58 2014"
      },
      "message": "Document purpose of FromContext\n\nfixes #45\n"
    },
    {
      "commit": "a24121c79887c34c9c3aec4fe783a54c1e461edc",
      "tree": "da85ec8972b6a6e90503332c4145012d60feae8c",
      "parents": [
        "d6d3df2331c6c591b82b593f81797319bbca3ea0",
        "0896317a88893c135e80d1dec2b62fd0fdeb5742"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Wed Nov 19 06:54:32 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Wed Nov 19 06:54:32 2014"
      },
      "message": "Merge pull request #44 from markmandel/feature/kind-function\n\nAdd the ability to change how the Kind is determined on an Entity, on a per Goon instance basis."
    },
    {
      "commit": "0896317a88893c135e80d1dec2b62fd0fdeb5742",
      "tree": "da85ec8972b6a6e90503332c4145012d60feae8c",
      "parents": [
        "d6d3df2331c6c591b82b593f81797319bbca3ea0"
      ],
      "author": {
        "name": "Mark Mandel",
        "email": "mark.mandel@gmail.com",
        "time": "Tue Nov 18 04:05:34 2014"
      },
      "committer": {
        "name": "Mark Mandel",
        "email": "mark.mandel@gmail.com",
        "time": "Wed Nov 19 03:49:47 2014"
      },
      "message": "Added the ability to change how the Kind is determined on an Entity, on a per Goon instance basis, through\nand function stored on Goon, the KindNameResolver.\nThis is without having to specify Kind() values on each Entity individually.\n"
    },
    {
      "commit": "d6d3df2331c6c591b82b593f81797319bbca3ea0",
      "tree": "88d3a9f86ce418a60636235668148fe95c2fbbe0",
      "parents": [
        "03fb5213b126dab5f3ebbda60c252a16c3db779d",
        "2cda4284c4484fd58d0c1287fc9f97081e591bff"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Wed Nov 19 03:42:27 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Wed Nov 19 03:42:27 2014"
      },
      "message": "Merge pull request #43 from xStrom/master\n\nNow properly updating memcache after datastore even in transactions."
    },
    {
      "commit": "2cda4284c4484fd58d0c1287fc9f97081e591bff",
      "tree": "88d3a9f86ce418a60636235668148fe95c2fbbe0",
      "parents": [
        "03fb5213b126dab5f3ebbda60c252a16c3db779d"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Nov 11 19:55:39 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Tue Nov 11 19:55:39 2014"
      },
      "message": "Now properly updating memcache after datastore even in transactions.\n"
    },
    {
      "commit": "03fb5213b126dab5f3ebbda60c252a16c3db779d",
      "tree": "f394e3c8ef12c7b0cbb82ae8ba8cce4ff02204ca",
      "parents": [
        "409b1bbe2d5b8d9b0138599d4c2d2f9bde92d740",
        "709baa1552da3c40bf0b0e54a908febcfc57ee8c"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Mon Aug 18 16:03:27 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Mon Aug 18 16:03:27 2014"
      },
      "message": "Merge pull request #42 from mzimmerman/fixTestsToUseGet\n\nRemoving the unnecessary time.Sleep() call to index entities during test..."
    },
    {
      "commit": "709baa1552da3c40bf0b0e54a908febcfc57ee8c",
      "tree": "7565c68881394c349efa62cb836c35965d732b33",
      "parents": [
        "32a0ee7e9027b5f25b1d8d1f4f9cdd9411cbcd29"
      ],
      "author": {
        "name": "Matt Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Mon Aug 18 14:52:37 2014"
      },
      "committer": {
        "name": "Matt Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Mon Aug 18 15:13:07 2014"
      },
      "message": "Removing the unnecessary time.Sleep() call to index entities during testing, replacing with a get by key\n"
    },
    {
      "commit": "409b1bbe2d5b8d9b0138599d4c2d2f9bde92d740",
      "tree": "71e2ca1bebd7f93eb20a959494f3f0ed145f2211",
      "parents": [
        "ec57ec42236ef5a8d936f9e219c37398af6b4e57",
        "74cc346df83c3698c50748b8d029527af70136ad"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu Jun 12 05:09:30 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu Jun 12 05:09:30 2014"
      },
      "message": "Merge pull request #38 from markmandel/master\n\nExported the GAE Context from Goon. (Fix #37)"
    },
    {
      "commit": "74cc346df83c3698c50748b8d029527af70136ad",
      "tree": "71e2ca1bebd7f93eb20a959494f3f0ed145f2211",
      "parents": [
        "ec57ec42236ef5a8d936f9e219c37398af6b4e57"
      ],
      "author": {
        "name": "Mark Mandel",
        "email": "mark.mandel@gmail.com",
        "time": "Tue Jun 03 05:29:58 2014"
      },
      "committer": {
        "name": "Mark Mandel",
        "email": "mark.mandel@gmail.com",
        "time": "Tue Jun 03 05:29:58 2014"
      },
      "message": "Exported the GAE Context from Goon.\n"
    },
    {
      "commit": "ec57ec42236ef5a8d936f9e219c37398af6b4e57",
      "tree": "7008cce8a9f27a11f02f8164871cf341eec155dd",
      "parents": [
        "32a0ee7e9027b5f25b1d8d1f4f9cdd9411cbcd29",
        "e052af4f71196c346fd92b4f593afbc8592d489c"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Tue Jun 03 04:40:22 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Tue Jun 03 04:40:22 2014"
      },
      "message": "Merge pull request #36 from mzimmerman/errorline\n\nAdd in error line information"
    },
    {
      "commit": "32a0ee7e9027b5f25b1d8d1f4f9cdd9411cbcd29",
      "tree": "e5d96ce5715340a06927d9adb98a09e87a242b0b",
      "parents": [
        "024582f07d92726b5e89d543dae3cc4959cf6b6e"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu May 22 18:15:41 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu May 22 18:15:41 2014"
      },
      "message": "Fixes from go vet\n"
    },
    {
      "commit": "e052af4f71196c346fd92b4f593afbc8592d489c",
      "tree": "535921e67c14aaeb32f74e4248af202e8f6ad23b",
      "parents": [
        "85050e894bca39fe77a935a8635c767d0d315b0a"
      ],
      "author": {
        "name": "Matthew Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Thu May 22 16:06:04 2014"
      },
      "committer": {
        "name": "Matthew Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Thu May 22 16:06:04 2014"
      },
      "message": "Prints more informative error messages to say where in goon the error came from, very helpful when troubleshooting/debugging\n"
    },
    {
      "commit": "024582f07d92726b5e89d543dae3cc4959cf6b6e",
      "tree": "70f3d43982bf337f9da6df129bb613d031d11bf2",
      "parents": [
        "57c2c7dbb4ceaa05cb297ecde2f4f1836e46463b",
        "23dc3d7cdd6bae4f22b336159e0ad4d4a866a490"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu May 22 16:00:26 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Thu May 22 16:00:26 2014"
      },
      "message": "Merge pull request #35 from xStrom/master\n\nOut-of-bounds memory access violation fix."
    },
    {
      "commit": "23dc3d7cdd6bae4f22b336159e0ad4d4a866a490",
      "tree": "70f3d43982bf337f9da6df129bb613d031d11bf2",
      "parents": [
        "9b843573cce25f325383c7aa65e8d1c74d1957a0",
        "57c2c7dbb4ceaa05cb297ecde2f4f1836e46463b"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu May 22 07:31:28 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu May 22 07:31:28 2014"
      },
      "message": "Merge remote-tracking branch \u0027remotes/upstream/master\u0027 into robust-memcache\n"
    },
    {
      "commit": "9b843573cce25f325383c7aa65e8d1c74d1957a0",
      "tree": "70f3d43982bf337f9da6df129bb613d031d11bf2",
      "parents": [
        "3ae2e27d994696369e8e4bfdddaae0812aa0556c"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu May 22 07:30:05 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Thu May 22 07:30:05 2014"
      },
      "message": "Fixed an out-of-bounds memory access violation possibility.\n"
    },
    {
      "commit": "85050e894bca39fe77a935a8635c767d0d315b0a",
      "tree": "c0a5116bfc1d964e507f344d5193a6581dc3bdca",
      "parents": [
        "eecfb9d013d1c8b0e11baf2920f728c7c778d95c",
        "57c2c7dbb4ceaa05cb297ecde2f4f1836e46463b"
      ],
      "author": {
        "name": "Matthew Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Tue May 20 12:09:51 2014"
      },
      "committer": {
        "name": "Matthew Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Tue May 20 12:09:51 2014"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/mjibson/goon into mjibsonhead\n"
    },
    {
      "commit": "57c2c7dbb4ceaa05cb297ecde2f4f1836e46463b",
      "tree": "c0a5116bfc1d964e507f344d5193a6581dc3bdca",
      "parents": [
        "5ecd7d739b2db4e344b97616bdf99003cac29344",
        "3ae2e27d994696369e8e4bfdddaae0812aa0556c"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Sun May 11 06:14:02 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Sun May 11 06:14:02 2014"
      },
      "message": "Merge pull request #33 from xStrom/master\n\nSome additional comments for the serialization code."
    },
    {
      "commit": "eecfb9d013d1c8b0e11baf2920f728c7c778d95c",
      "tree": "0f3633549d4a44a0507d9c3738573b3d1d482058",
      "parents": [
        "7bcbe64d8799267b38618ca304d2fd9e54b673bc",
        "5ecd7d739b2db4e344b97616bdf99003cac29344"
      ],
      "author": {
        "name": "Matthew Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Sun Apr 20 00:07:10 2014"
      },
      "committer": {
        "name": "Matthew Zimmerman",
        "email": "mzimmerman@gmail.com",
        "time": "Sun Apr 20 00:07:10 2014"
      },
      "message": "Merge branch \u0027master\u0027 of https://github.com/mjibson/goon into mjibsonhead\n"
    },
    {
      "commit": "3ae2e27d994696369e8e4bfdddaae0812aa0556c",
      "tree": "c0a5116bfc1d964e507f344d5193a6581dc3bdca",
      "parents": [
        "cd10706c01580b286f17d84d503703707a2557a9"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Wed Mar 12 18:59:20 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Wed Mar 12 18:59:20 2014"
      },
      "message": "Added comments for every serialization related function.\n"
    },
    {
      "commit": "5ecd7d739b2db4e344b97616bdf99003cac29344",
      "tree": "0f3633549d4a44a0507d9c3738573b3d1d482058",
      "parents": [
        "2fe2e180102e7d095a0811b3903e4375add4ce90",
        "cd10706c01580b286f17d84d503703707a2557a9"
      ],
      "author": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Mon Mar 10 02:05:25 2014"
      },
      "committer": {
        "name": "Matt Jibson",
        "email": "matt.jibson@gmail.com",
        "time": "Mon Mar 10 02:05:25 2014"
      },
      "message": "Merge pull request #30 from xStrom/robust-memcache\n\nBug fixes to the memcache layer"
    },
    {
      "commit": "cd10706c01580b286f17d84d503703707a2557a9",
      "tree": "0f3633549d4a44a0507d9c3738573b3d1d482058",
      "parents": [
        "2c3648fb950c5062face0b7c11b9286cda5e4588"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Mar 08 13:51:02 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Mar 08 13:51:02 2014"
      },
      "message": "Fixed a bug that sometimes caused the serialization of a slice of *datastore.Key to fail.\n"
    },
    {
      "commit": "2c3648fb950c5062face0b7c11b9286cda5e4588",
      "tree": "71e395f099295aa642ca528390c5dde899c19910",
      "parents": [
        "8b9a2ac0b95b4afd584ae9ca4895997e7e7d2550"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Mar 08 13:34:50 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Sat Mar 08 13:34:50 2014"
      },
      "message": "Added a *datastore.Key slice with all non-nil elements to the input variety test.\n"
    },
    {
      "commit": "8b9a2ac0b95b4afd584ae9ca4895997e7e7d2550",
      "tree": "a1f02a65b68cf65110e442407f30c1e993eb8a10",
      "parents": [
        "4570e39a3d6f914a9cc40db5fa5111583b802c03"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Mar 07 19:04:20 2014"
      },
      "committer": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Fri Mar 07 19:04:20 2014"
      },
      "message": "Mostly solved a race condition in the serialization type cache bootstrapping optimization.\n"
    }
  ],
  "next": "2fe2e180102e7d095a0811b3903e4375add4ce90"
}
